Compare commits
No commits in common. "master" and "1.0" have entirely different histories.
39 changed files with 96 additions and 206 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,2 +0,0 @@
|
|||
# Project exclude paths
|
||||
/target/
|
|
@ -1,13 +1,9 @@
|
|||
# SloudChat
|
||||
|
||||
Simple chat formating/manager plugin with additional features.
|
||||
|
||||
Support for: Luckperms, PlaceholderAPI
|
||||
Simple chat formating plugin with additional features.
|
||||
|
||||
Permissions:
|
||||
|
||||
/sloudchat reload - sloudpl.reload
|
||||
|
||||
/chat [on/off/clear] - sloudpl.chat
|
||||
|
||||
Bypass chat off - sloudpl.chat.bypass
|
||||
/chat clear - sloudpl.chat
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -6,7 +6,7 @@
|
|||
|
||||
<groupId>pl.sloudpl</groupId>
|
||||
<artifactId>SloudChat</artifactId>
|
||||
<version>1.1</version>
|
||||
<version>1.0</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>SloudChat</name>
|
||||
|
|
|
@ -4,9 +4,7 @@ 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;
|
||||
|
@ -19,8 +17,6 @@ public final class SloudChat extends JavaPlugin {
|
|||
public boolean luckpermsAvailable = false;
|
||||
public String nopermission;
|
||||
|
||||
public boolean isChatEnabled;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
|
||||
|
@ -48,23 +44,21 @@ 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");
|
||||
isChatEnabled = getConfig().getBoolean("chat-enabled");
|
||||
|
||||
new UpdateChecker(this, 126174).getLatestVersion(version -> {
|
||||
new Chat(this);
|
||||
new SloudChatCMD(this);
|
||||
|
||||
new UpdateChecker(this, 108713).getLatestVersion(version -> {
|
||||
String current = this.getDescription().getVersion();
|
||||
if (!current.equalsIgnoreCase(version)) {
|
||||
getLogger().warning("§cA new version of §eSloudChat §cis available!");
|
||||
getLogger().warning("§7Current: §e" + current + " §7| Latest: §a" + version);
|
||||
getLogger().warning("§bDownload: https://www.spigotmc.org/resources/sloudchat.126174/");
|
||||
getLogger().warning("§bDownload: https://www.spigotmc.org/resources/sloudvanish.108713/");
|
||||
} else {
|
||||
getLogger().info("§aSloudChat is up to date (v" + current + ").");
|
||||
}
|
||||
|
@ -75,8 +69,7 @@ public final class SloudChat extends JavaPlugin {
|
|||
@Override
|
||||
public void onDisable(){
|
||||
|
||||
getConfig().set("chat-enabled", isChatEnabled);
|
||||
saveConfig();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -31,21 +31,9 @@ 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/on/off]");
|
||||
sender.sendMessage(ChatColor.RED + "Usage: /chat [clear]");
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.nopermission));
|
||||
|
|
|
@ -1,62 +0,0 @@
|
|||
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;
|
||||
}
|
||||
|
||||
}
|
|
@ -43,4 +43,5 @@ public class SloudChatCMD implements CommandExecutor {
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
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,15 +22,6 @@ public class onPlayerChat implements Listener {
|
|||
public void PlayerChat(AsyncPlayerChatEvent event){
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if(!plugin.isChatEnabled && !player.hasPermission("sloudpl.chat.bypass")){
|
||||
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("disabled-chat-msg")));
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
String playerName = player.getName();
|
||||
|
||||
String prefix;
|
||||
|
|
|
@ -8,7 +8,10 @@ import org.bukkit.event.EventHandler;
|
|||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
import pl.sloudpl.sloudchat.SloudChat;
|
||||
import pl.sloudpl.sloudchat.utils.ColorUtils;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class onPlayerChat1_16 implements Listener {
|
||||
|
||||
|
@ -21,17 +24,7 @@ public class onPlayerChat1_16 implements Listener {
|
|||
|
||||
@EventHandler
|
||||
public void PlayerChat(AsyncPlayerChatEvent event){
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if(!plugin.isChatEnabled && !player.hasPermission("sloudpl.chat.bypass")){
|
||||
|
||||
player.sendMessage(ColorUtils.convertHexColors(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("disabled-chat-msg"))));
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
String playerName = player.getName();
|
||||
|
||||
String prefix;
|
||||
|
@ -73,9 +66,27 @@ public class onPlayerChat1_16 implements Listener {
|
|||
|
||||
format = format.replace("{MESSAGE}", message);
|
||||
|
||||
format = ColorUtils.convertHexColors(ChatColor.translateAlternateColorCodes('&', format));
|
||||
format = 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
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,18 +10,10 @@ 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
|
||||
# [Player] and [PlayerDisplayName] only works in line2
|
||||
clear-line1: '"&8[]-----&bChat&8-----[]"'
|
||||
clear-line2: '&7Chat was &bcleared &7by &b[Player]'
|
||||
clear-line2: '&7Chat został &bwyczyszczony&7 przez &b[Player]'
|
||||
clear-line3: '"&8[]-----&bChat&8-----[]"'
|
|
@ -2,7 +2,7 @@ name: SloudChat
|
|||
version: '${project.version}'
|
||||
main: pl.sloudpl.sloudchat.SloudChat
|
||||
authors: [SloudPL]
|
||||
api-version: '1.13'
|
||||
api-version: '1.18'
|
||||
softdepend:
|
||||
- LuckPerms
|
||||
- PlaceholderAPI
|
||||
|
|
BIN
target/SloudChat-1.0.jar
Normal file
BIN
target/SloudChat-1.0.jar
Normal file
Binary file not shown.
19
target/classes/config.yml
Normal file
19
target/classes/config.yml
Normal file
|
@ -0,0 +1,19 @@
|
|||
# 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-----[]"'
|
BIN
target/classes/pl/sloudpl/sloudchat/SloudChat.class
Normal file
BIN
target/classes/pl/sloudpl/sloudchat/SloudChat.class
Normal file
Binary file not shown.
BIN
target/classes/pl/sloudpl/sloudchat/cmds/Chat.class
Normal file
BIN
target/classes/pl/sloudpl/sloudchat/cmds/Chat.class
Normal file
Binary file not shown.
BIN
target/classes/pl/sloudpl/sloudchat/cmds/SloudChatCMD.class
Normal file
BIN
target/classes/pl/sloudpl/sloudchat/cmds/SloudChatCMD.class
Normal file
Binary file not shown.
BIN
target/classes/pl/sloudpl/sloudchat/events/onPlayerChat.class
Normal file
BIN
target/classes/pl/sloudpl/sloudchat/events/onPlayerChat.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
target/classes/pl/sloudpl/sloudchat/utils/Metrics$1.class
Normal file
BIN
target/classes/pl/sloudpl/sloudchat/utils/Metrics$1.class
Normal file
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.
BIN
target/classes/pl/sloudpl/sloudchat/utils/Metrics.class
Normal file
BIN
target/classes/pl/sloudpl/sloudchat/utils/Metrics.class
Normal file
Binary file not shown.
BIN
target/classes/pl/sloudpl/sloudchat/utils/UpdateChecker.class
Normal file
BIN
target/classes/pl/sloudpl/sloudchat/utils/UpdateChecker.class
Normal file
Binary file not shown.
11
target/classes/plugin.yml
Normal file
11
target/classes/plugin.yml
Normal file
|
@ -0,0 +1,11 @@
|
|||
name: SloudChat
|
||||
version: '1.0'
|
||||
main: pl.sloudpl.sloudchat.SloudChat
|
||||
authors: [SloudPL]
|
||||
api-version: '1.18'
|
||||
softdepend:
|
||||
- LuckPerms
|
||||
- PlaceholderAPI
|
||||
commands:
|
||||
chat:
|
||||
sloudchat:
|
3
target/maven-archiver/pom.properties
Normal file
3
target/maven-archiver/pom.properties
Normal file
|
@ -0,0 +1,3 @@
|
|||
artifactId=SloudChat
|
||||
groupId=pl.sloudpl
|
||||
version=1.0
|
|
@ -0,0 +1,19 @@
|
|||
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
|
|
@ -0,0 +1,7 @@
|
|||
/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
|
BIN
target/original-SloudChat-1.0.jar
Normal file
BIN
target/original-SloudChat-1.0.jar
Normal file
Binary file not shown.
Loading…
Add table
Reference in a new issue