Update 1.1
This commit is contained in:
parent
a0be1899ae
commit
2b09ff4f57
36 changed files with 196 additions and 89 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
# Project exclude paths
|
||||
/target/
|
2
pom.xml
2
pom.xml
|
@ -6,7 +6,7 @@
|
|||
|
||||
<groupId>pl.sloudpl</groupId>
|
||||
<artifactId>SloudChat</artifactId>
|
||||
<version>1.0</version>
|
||||
<version>1.1</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>SloudChat</name>
|
||||
|
|
|
@ -4,7 +4,9 @@ import net.luckperms.api.LuckPerms;
|
|||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import pl.sloudpl.sloudchat.cmds.Chat;
|
||||
import pl.sloudpl.sloudchat.cmds.Chat1_16;
|
||||
import pl.sloudpl.sloudchat.cmds.SloudChatCMD;
|
||||
import pl.sloudpl.sloudchat.cmds.SloudChatCMD1_16;
|
||||
import pl.sloudpl.sloudchat.events.onPlayerChat;
|
||||
import pl.sloudpl.sloudchat.events.onPlayerChat1_16;
|
||||
import pl.sloudpl.sloudchat.utils.Metrics;
|
||||
|
@ -17,6 +19,8 @@ public final class SloudChat extends JavaPlugin {
|
|||
public boolean luckpermsAvailable = false;
|
||||
public String nopermission;
|
||||
|
||||
public boolean isChatEnabled;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
|
||||
|
@ -44,14 +48,16 @@ public final class SloudChat extends JavaPlugin {
|
|||
|
||||
if (isVersionAtMost_1_16_0()) {
|
||||
new onPlayerChat(this);
|
||||
new Chat(this);
|
||||
new SloudChatCMD(this);
|
||||
} else {
|
||||
new onPlayerChat1_16(this);
|
||||
new Chat1_16(this);
|
||||
new SloudChatCMD1_16(this);
|
||||
}
|
||||
|
||||
nopermission = getConfig().getString("nopermission");
|
||||
|
||||
new Chat(this);
|
||||
new SloudChatCMD(this);
|
||||
isChatEnabled = getConfig().getBoolean("chat-enabled");
|
||||
|
||||
new UpdateChecker(this, 126174).getLatestVersion(version -> {
|
||||
String current = this.getDescription().getVersion();
|
||||
|
@ -69,7 +75,8 @@ public final class SloudChat extends JavaPlugin {
|
|||
@Override
|
||||
public void onDisable(){
|
||||
|
||||
|
||||
getConfig().set("chat-enabled", isChatEnabled);
|
||||
saveConfig();
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -31,9 +31,21 @@ public class Chat implements CommandExecutor {
|
|||
Bukkit.getServer().broadcastMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("clear-line1")));
|
||||
Bukkit.getServer().broadcastMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("clear-line2").replace("[Player]", p.getName()).replace("[PlayerDisplayName]", p.getDisplayName())));
|
||||
Bukkit.getServer().broadcastMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("clear-line3")));
|
||||
} else if(args[0].equalsIgnoreCase("on")) {
|
||||
|
||||
Bukkit.getServer().broadcastMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("chat-enable-message")));
|
||||
plugin.isChatEnabled = true;
|
||||
|
||||
} else if(args[0].equalsIgnoreCase("off")) {
|
||||
|
||||
Bukkit.getServer().broadcastMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("chat-disable-message")));
|
||||
plugin.isChatEnabled = false;
|
||||
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "Usage: /chat [clear/on/off]");
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "Usage: /chat [clear]");
|
||||
sender.sendMessage(ChatColor.RED + "Usage: /chat [clear/on/off]");
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.nopermission));
|
||||
|
|
62
src/main/java/pl/sloudpl/sloudchat/cmds/Chat1_16.java
Normal file
62
src/main/java/pl/sloudpl/sloudchat/cmds/Chat1_16.java
Normal file
|
@ -0,0 +1,62 @@
|
|||
package pl.sloudpl.sloudchat.cmds;
|
||||
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import pl.sloudpl.sloudchat.SloudChat;
|
||||
import pl.sloudpl.sloudchat.utils.ColorUtils;
|
||||
|
||||
public class Chat1_16 implements CommandExecutor {
|
||||
|
||||
SloudChat plugin;
|
||||
|
||||
public Chat1_16(SloudChat plugin){
|
||||
this.plugin = plugin;
|
||||
plugin.getCommand("chat").setExecutor(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
|
||||
|
||||
if(sender instanceof Player){
|
||||
Player p = (Player) sender;
|
||||
if (sender.hasPermission("sloudpl.chat") || sender.isOp()) {
|
||||
if (args.length == 1) {
|
||||
if (args[0].equalsIgnoreCase("clear")) {
|
||||
for (int i = 0; i < 100; i++) {
|
||||
Bukkit.getServer().broadcastMessage(" ");
|
||||
}
|
||||
Bukkit.getServer().broadcastMessage(ColorUtils.convertHexColors(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("clear-line1"))));
|
||||
Bukkit.getServer().broadcastMessage(ColorUtils.convertHexColors(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("clear-line2").replace("[Player]", p.getName()).replace("[PlayerDisplayName]", p.getDisplayName()))));
|
||||
Bukkit.getServer().broadcastMessage(ColorUtils.convertHexColors(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("clear-line3"))));
|
||||
} else if(args[0].equalsIgnoreCase("on")) {
|
||||
|
||||
Bukkit.getServer().broadcastMessage(ColorUtils.convertHexColors(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("chat-enable-message"))));
|
||||
plugin.isChatEnabled = true;
|
||||
|
||||
} else if(args[0].equalsIgnoreCase("off")) {
|
||||
|
||||
Bukkit.getServer().broadcastMessage(ColorUtils.convertHexColors(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("chat-disable-message"))));
|
||||
plugin.isChatEnabled = false;
|
||||
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "Usage: /chat [clear/on/off]");
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "Usage: /chat [clear/on/off]");
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(ColorUtils.convertHexColors(ChatColor.translateAlternateColorCodes('&', plugin.nopermission)));
|
||||
}
|
||||
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "You need to be a player to use this command!");
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package pl.sloudpl.sloudchat.cmds;
|
||||
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import pl.sloudpl.sloudchat.SloudChat;
|
||||
import pl.sloudpl.sloudchat.utils.ColorUtils;
|
||||
|
||||
public class SloudChatCMD1_16 implements CommandExecutor {
|
||||
|
||||
SloudChat plugin;
|
||||
|
||||
public SloudChatCMD1_16(SloudChat plugin){
|
||||
this.plugin = plugin;
|
||||
plugin.getCommand("sloudchat").setExecutor(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
|
||||
|
||||
if(args.length == 1){
|
||||
|
||||
if(args[0].equalsIgnoreCase("reload")){
|
||||
if(sender.hasPermission("sloudpl.reload")){
|
||||
|
||||
plugin.reloadConfig();
|
||||
sender.sendMessage(ChatColor.GREEN + "Config was reloaded!");
|
||||
|
||||
} else {
|
||||
sender.sendMessage(ColorUtils.convertHexColors(ChatColor.translateAlternateColorCodes('&', plugin.nopermission)));
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
sender.sendMessage(ChatColor.RED + "Usage: /sloudchat reload");
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
sender.sendMessage(ChatColor.RED + "Usage: /sloudchat reload");
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -22,6 +22,15 @@ public class onPlayerChat implements Listener {
|
|||
public void PlayerChat(AsyncPlayerChatEvent event){
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if(!plugin.isChatEnabled){
|
||||
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("disabled-chat-msg")));
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
String playerName = player.getName();
|
||||
|
||||
String prefix;
|
||||
|
|
|
@ -8,10 +8,7 @@ import org.bukkit.event.EventHandler;
|
|||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
import pl.sloudpl.sloudchat.SloudChat;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import pl.sloudpl.sloudchat.utils.ColorUtils;
|
||||
|
||||
public class onPlayerChat1_16 implements Listener {
|
||||
|
||||
|
@ -24,7 +21,17 @@ public class onPlayerChat1_16 implements Listener {
|
|||
|
||||
@EventHandler
|
||||
public void PlayerChat(AsyncPlayerChatEvent event){
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if(!plugin.isChatEnabled){
|
||||
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("disabled-chat-msg")));
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
String playerName = player.getName();
|
||||
|
||||
String prefix;
|
||||
|
@ -66,27 +73,9 @@ public class onPlayerChat1_16 implements Listener {
|
|||
|
||||
format = format.replace("{MESSAGE}", message);
|
||||
|
||||
format = convertHexColors(ChatColor.translateAlternateColorCodes('&', format));
|
||||
format = ColorUtils.convertHexColors(ChatColor.translateAlternateColorCodes('&', format));
|
||||
|
||||
event.setFormat(format.replace("%", "%%"));
|
||||
}
|
||||
|
||||
private String convertHexColors(String text) {
|
||||
Pattern pattern = Pattern.compile("&#([0-9A-Fa-f]{6})");
|
||||
Matcher matcher = pattern.matcher(text);
|
||||
StringBuffer sb = new StringBuffer();
|
||||
while (matcher.find()) {
|
||||
String hex = matcher.group(1);
|
||||
Color color = new Color(
|
||||
Integer.valueOf(hex.substring(0, 2), 16),
|
||||
Integer.valueOf(hex.substring(2, 4), 16),
|
||||
Integer.valueOf(hex.substring(4, 6), 16)
|
||||
);
|
||||
matcher.appendReplacement(sb, ChatColor.of(color).toString());
|
||||
}
|
||||
matcher.appendTail(sb);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
28
src/main/java/pl/sloudpl/sloudchat/utils/ColorUtils.java
Normal file
28
src/main/java/pl/sloudpl/sloudchat/utils/ColorUtils.java
Normal file
|
@ -0,0 +1,28 @@
|
|||
package pl.sloudpl.sloudchat.utils;
|
||||
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class ColorUtils {
|
||||
|
||||
public static String convertHexColors(String text) {
|
||||
Pattern pattern = Pattern.compile("&#([0-9A-Fa-f]{6})");
|
||||
Matcher matcher = pattern.matcher(text);
|
||||
StringBuffer sb = new StringBuffer();
|
||||
while (matcher.find()) {
|
||||
String hex = matcher.group(1);
|
||||
Color color = new Color(
|
||||
Integer.valueOf(hex.substring(0, 2), 16),
|
||||
Integer.valueOf(hex.substring(2, 4), 16),
|
||||
Integer.valueOf(hex.substring(4, 6), 16)
|
||||
);
|
||||
matcher.appendReplacement(sb, ChatColor.of(color).toString());
|
||||
}
|
||||
matcher.appendTail(sb);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
|
@ -10,6 +10,14 @@ chat-format: '&7{PREFIX}{PLAYER}{SUFFIX} &8» &f{MESSAGE}'
|
|||
# No permission message
|
||||
nopermission: '&4No permission'
|
||||
|
||||
# Chat enabled
|
||||
chat-enabled: true
|
||||
# Message that is send to the player when the chat is disabled!
|
||||
disabled-chat-msg: '&4Chat is disabled!'
|
||||
# Message that informs players that the chat was disabled
|
||||
chat-disable-message: '&4Chat has been disabled!'
|
||||
# Message that informs players that the chat was enabled
|
||||
chat-enable-message: '&aChat has been enabled!'
|
||||
# Clear chat message
|
||||
# [Player] - Player nick
|
||||
# [PlayerDisplayName] - Player Display Name
|
||||
|
|
Binary file not shown.
|
@ -1,19 +0,0 @@
|
|||
# Chat format string
|
||||
# Available placeholders:
|
||||
# {PREFIX} - Prefix from LuckPerms
|
||||
# {SUFFIX} - Suffix from LuckPerms
|
||||
# {PLAYER} - Player name
|
||||
# {MESSAGE} - The message they sent
|
||||
# You can also use placeholders from PlaceholderAPI just add inside the chat-format %some_placeholder%
|
||||
chat-format: '&7{PREFIX}{PLAYER}{SUFFIX} &8» &f{MESSAGE}'
|
||||
|
||||
# No permission message
|
||||
nopermission: '&4No permission'
|
||||
|
||||
# Clear chat message
|
||||
# [Player] - Player nick
|
||||
# [PlayerDisplayName] - Player Display Name
|
||||
# [Player] and [PlayerDisplayName] only works in line2
|
||||
clear-line1: '"&8[]-----&bChat&8-----[]"'
|
||||
clear-line2: '&7Chat został &bwyczyszczony&7 przez &b[Player]'
|
||||
clear-line3: '"&8[]-----&bChat&8-----[]"'
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,11 +0,0 @@
|
|||
name: SloudChat
|
||||
version: '1.0'
|
||||
main: pl.sloudpl.sloudchat.SloudChat
|
||||
authors: [SloudPL]
|
||||
api-version: '1.18'
|
||||
softdepend:
|
||||
- LuckPerms
|
||||
- PlaceholderAPI
|
||||
commands:
|
||||
chat:
|
||||
sloudchat:
|
|
@ -1,3 +0,0 @@
|
|||
artifactId=SloudChat
|
||||
groupId=pl.sloudpl
|
||||
version=1.0
|
|
@ -1,19 +0,0 @@
|
|||
pl/sloudpl/sloudchat/utils/UpdateChecker.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$SimpleBarChart.class
|
||||
pl/sloudpl/sloudchat/SloudChat.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$MultiLineChart.class
|
||||
pl/sloudpl/sloudchat/cmds/Chat.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$DrilldownPie.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$JsonObjectBuilder.class
|
||||
pl/sloudpl/sloudchat/cmds/SloudChatCMD.class
|
||||
pl/sloudpl/sloudchat/events/onPlayerChat1_16.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$SingleLineChart.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$JsonObjectBuilder$JsonObject.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$CustomChart.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$1.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$SimplePie.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$MetricsBase.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$AdvancedBarChart.class
|
||||
pl/sloudpl/sloudchat/events/onPlayerChat.class
|
||||
pl/sloudpl/sloudchat/utils/Metrics$AdvancedPie.class
|
|
@ -1,7 +0,0 @@
|
|||
/home/sloudpl/IdeaProjects/SloudChat/src/main/java/pl/sloudpl/sloudchat/cmds/SloudChatCMD.java
|
||||
/home/sloudpl/IdeaProjects/SloudChat/src/main/java/pl/sloudpl/sloudchat/events/onPlayerChat1_16.java
|
||||
/home/sloudpl/IdeaProjects/SloudChat/src/main/java/pl/sloudpl/sloudchat/events/onPlayerChat.java
|
||||
/home/sloudpl/IdeaProjects/SloudChat/src/main/java/pl/sloudpl/sloudchat/cmds/Chat.java
|
||||
/home/sloudpl/IdeaProjects/SloudChat/src/main/java/pl/sloudpl/sloudchat/SloudChat.java
|
||||
/home/sloudpl/IdeaProjects/SloudChat/src/main/java/pl/sloudpl/sloudchat/utils/Metrics.java
|
||||
/home/sloudpl/IdeaProjects/SloudChat/src/main/java/pl/sloudpl/sloudchat/utils/UpdateChecker.java
|
Binary file not shown.
Loading…
Add table
Reference in a new issue