Updated to support 1.16 hex color codes

This commit is contained in:
Aust1n46 2020-06-27 13:30:50 -05:00
parent 35e2567d55
commit 4c6d76509d
22 changed files with 213 additions and 117 deletions

View File

@ -1,4 +1,4 @@
name: VentureChat
main: mineverse.Aust1n46.chat.bungee.MineverseChatBungee
version: 2.18.7
version: 2.19.0
author: Aust1n46

View File

@ -295,6 +295,19 @@ enable_factions_channel: false
# You must have prefixes and suffixes set in a Vault compatible permissions plugin to avoid errors
# Use "" as the prefix or suffix to have none
channels:
HexExample:
color: '#ff0000'
chatcolor: '#ff0000'
mutable: true
filter: true
autojoin: true
default: false
distance: 0
cooldown: 0
bungeecord: false
alias: he
permissions: None
format: '&f[&x&f&f&0&0&0&0Hex&f] {vault_prefix} {player_displayname}&x&f&f&0&0&0&0:'
Global:
color: dark_green
chatcolor: dark_green

View File

@ -293,6 +293,19 @@ enable_factions_channel: false
# You must have prefixes and suffixes set in a Vault compatible permissions plugin to avoid errors
# Use "" as the prefix or suffix to have none
channels:
HexExample:
color: '#ff0000'
chatcolor: '#ff0000'
mutable: true
filter: true
autojoin: true
default: false
distance: 0
cooldown: 0
bungeecord: false
alias: he
permissions: None
format: '&f[&x&f&f&0&0&0&0Hex&f] {vault_prefix} {player_displayname}&x&f&f&0&0&0&0:'
Global:
color: dark_green
chatcolor: dark_green

View File

@ -438,7 +438,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
// System.out.println(time + " " + timemark);
if(time > timemark) {
p.removeMute(channel.getName());
if(p.isOnline()) p.getPlayer().sendMessage(ChatColor.RED + "You have just been unmuted in: " + ChatColor.valueOf(channel.getColor().toUpperCase()) + channel.getName());
if(p.isOnline()) p.getPlayer().sendMessage(ChatColor.RED + "You have just been unmuted in: " + channel.getColor() + channel.getName());
else p.setModified(true);
}
}
@ -823,7 +823,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
playerList = playerList.substring(0, playerList.length() - 2);
}
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_PLAYER_LIST_HEADER.toString()
.replace("{channel_color}", (ChatColor.valueOf(chatchannel.getColor().toUpperCase())).toString())
.replace("{channel_color}", chatchannel.getColor().toString())
.replace("{channel_name}", chatchannel.getName()));
mcp.getPlayer().sendMessage(Format.FormatStringAll(playerList));
}

View File

@ -3,6 +3,7 @@ package mineverse.Aust1n46.chat.channel;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.ChatColor;
import org.bukkit.configuration.ConfigurationSection;
import mineverse.Aust1n46.chat.MineverseChat;
@ -52,14 +53,6 @@ public class ChatChannel {
for(String key : cs.getKeys(false)) {
_color = (String) cs.getString(key + ".color", "white");
_chatcolor = (String) cs.getString(key + ".chatcolor", "white");
if(!(Format.isValidColor(_color))) {
plugin.getServer().getLogger().info("[" + plugin.getName() + "] " + _color + " is not valid. Changing to white.");
_color = "white";
}
if(!(Format.isValidColor(_chatcolor)) && !_chatcolor.equalsIgnoreCase("None")) {
plugin.getServer().getLogger().info("[" + plugin.getName() + "] " + _chatcolor + " is not valid. Changing to white.");
_chatcolor = "white";
}
_name = key;
_permission = (String) cs.getString(key + ".permissions", "None");
_mutable = (Boolean) cs.getBoolean(key + ".mutable", false);
@ -176,6 +169,16 @@ public class ChatChannel {
}
public String getColor() {
if(Format.isValidColor(color)) {
return String.valueOf(ChatColor.valueOf(color.toUpperCase()));
}
if(Format.isValidHexColor(color)) {
return Format.convertHexColorCodeToBukkitColorCode(color);
}
return Format.DEFAULT_COLOR_CODE;
}
public String getColorRaw() {
return color;
}
@ -184,6 +187,19 @@ public class ChatChannel {
}
public String getChatColor() {
if(chatcolor.equalsIgnoreCase("None")) {
return chatcolor;
}
if(Format.isValidColor(chatcolor)) {
return String.valueOf(ChatColor.valueOf(chatcolor.toUpperCase()));
}
if(Format.isValidHexColor(chatcolor)) {
return Format.convertHexColorCodeToBukkitColorCode(chatcolor);
}
return Format.DEFAULT_COLOR_CODE;
}
public String getChatColorRaw() {
return chatcolor;
}

View File

@ -1,6 +1,5 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@ -39,7 +38,7 @@ public class Channel extends MineverseCommand implements Listener {
}
ChatChannel channel = ChatChannel.getChannel(args[0]);
plugin.getServer().getPluginManager().callEvent(new ChannelJoinEvent(mcp.getPlayer(), channel, LocalizedMessage.SET_CHANNEL.toString()
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName())));
return;
}

View File

@ -5,6 +5,7 @@ import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.MineverseCommand;
import mineverse.Aust1n46.chat.utilities.Format;
public class Channelinfo extends MineverseCommand {
@ -30,27 +31,27 @@ public class Channelinfo extends MineverseCommand {
return;
}
}
sender.sendMessage(ChatColor.GOLD + "Channel: " + ChatColor.valueOf(chname.getColor().toUpperCase()) + chname.getName());
sender.sendMessage(ChatColor.GOLD + "Alias: " + ChatColor.valueOf(chname.getColor().toUpperCase()) + chname.getAlias());
sender.sendMessage(ChatColor.GOLD + "Color: " + ChatColor.valueOf(chname.getColor().toUpperCase()) + chname.getColor());
sender.sendMessage(ChatColor.GOLD + "ChatColor: " + ChatColor.valueOf(chname.getChatColor().toUpperCase()) + chname.getChatColor());
sender.sendMessage(ChatColor.GOLD + "Permission: " + ChatColor.valueOf(chname.getColor().toUpperCase()) + chname.getPermission());
sender.sendMessage(ChatColor.GOLD + "Autojoin: " + ChatColor.valueOf(chname.getColor().toUpperCase()) + chname.getAutojoin());
sender.sendMessage(ChatColor.GOLD + "Default: " + ChatColor.valueOf(chname.getColor().toUpperCase()) + chname.hasDistance());
sender.sendMessage(ChatColor.GOLD + "Channel: " + chname.getColor() + chname.getName());
sender.sendMessage(ChatColor.GOLD + "Alias: " + chname.getColor() + chname.getAlias());
sender.sendMessage(ChatColor.GOLD + "Color: " + chname.getColor() + chname.getColorRaw());
sender.sendMessage(ChatColor.GOLD + "ChatColor: " + (chname.getChatColor().equalsIgnoreCase("None") ? Format.DEFAULT_COLOR_CODE : chname.getChatColor()) + chname.getChatColorRaw());
sender.sendMessage(ChatColor.GOLD + "Permission: " + chname.getColor() + chname.getPermission());
sender.sendMessage(ChatColor.GOLD + "Autojoin: " + chname.getColor() + chname.getAutojoin());
sender.sendMessage(ChatColor.GOLD + "Default: " + chname.getColor() + chname.hasDistance());
if(!chname.hasDistance() || chname.getBungee()) {
sender.sendMessage(ChatColor.GOLD + "Distance: " + ChatColor.RED + "N/A");
}
else {
sender.sendMessage(ChatColor.GOLD + "Distance: " + ChatColor.valueOf(chname.getColor().toUpperCase()) + chname.getDistance().toString());
sender.sendMessage(ChatColor.GOLD + "Distance: " + chname.getColor() + chname.getDistance().toString());
}
if(!chname.hasCooldown()) {
sender.sendMessage(ChatColor.GOLD + "Cooldown: " + ChatColor.RED + "N/A");
}
else {
sender.sendMessage(ChatColor.GOLD + "Cooldown: " + ChatColor.valueOf(chname.getColor().toUpperCase()) + chname.getCooldown());
sender.sendMessage(ChatColor.GOLD + "Cooldown: " + chname.getColor() + chname.getCooldown());
}
sender.sendMessage(ChatColor.GOLD + "Bungeecord: " + ChatColor.valueOf(chname.getColor().toUpperCase()) + chname.getBungee().toString());
sender.sendMessage(ChatColor.GOLD + "Format: " + ChatColor.valueOf(chname.getColor().toUpperCase()) + chname.getFormat());
sender.sendMessage(ChatColor.GOLD + "Bungeecord: " + chname.getColor() + chname.getBungee().toString());
sender.sendMessage(ChatColor.GOLD + "Format: " + chname.getColor() + chname.getFormat());
return;
}
else {

View File

@ -34,11 +34,11 @@ public class Chatinfo extends MineverseCommand {
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Player: " + ChatColor.GREEN + mcp.getName());
for(String c : mcp.getListening()) {
ChatChannel channel = ChatChannel.getChannel(c);
listen += ChatColor.valueOf(channel.getColor().toUpperCase()) + channel.getName() + " ";
listen += channel.getColor() + channel.getName() + " ";
}
for(String c : mcp.getMutes().keySet()) {
ChatChannel channel = ChatChannel.getChannel(c);
mute += ChatColor.valueOf(channel.getColor().toUpperCase()) + channel.getName() + " ";
mute += channel.getColor() + channel.getName() + " ";
}
for(String bc : mcp.getBlockedCommands()) {
blockedcommands += bc + " ";
@ -95,11 +95,11 @@ public class Chatinfo extends MineverseCommand {
sender.sendMessage(ChatColor.GOLD + "Player: " + ChatColor.GREEN + p.getName());
for(String c : p.getListening()) {
ChatChannel channel = ChatChannel.getChannel(c);
listen += ChatColor.valueOf(channel.getColor().toUpperCase()) + channel.getName() + " ";
listen += channel.getColor() + channel.getName() + " ";
}
for(String c : p.getMutes().keySet()) {
ChatChannel channel = ChatChannel.getChannel(c);
mute += ChatColor.valueOf(channel.getColor().toUpperCase()) + channel.getName() + " ";
mute += channel.getColor() + channel.getName() + " ";
}
for(String bc : p.getBlockedCommands()) {
blockedcommands += bc + " ";

View File

@ -1,6 +1,5 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.channel.ChatChannel;
@ -20,14 +19,14 @@ public class Chlist extends MineverseCommand {
if(chname.hasPermission()) {
if(sender.hasPermission(chname.getPermission())) {
sender.sendMessage(LocalizedMessage.CHANNEL_LIST_WITH_PERMISSIONS.toString()
.replace("{channel_color}", (ChatColor.valueOf(chname.getColor().toUpperCase())).toString())
.replace("{channel_color}", (chname.getColor()).toString())
.replace("{channel_name}", chname.getName())
.replace("{channel_alias}", chname.getAlias()));
}
}
else {
sender.sendMessage(LocalizedMessage.CHANNEL_LIST.toString()
.replace("{channel_color}", (ChatColor.valueOf(chname.getColor().toUpperCase())).toString())
.replace("{channel_color}", chname.getColor().toString())
.replace("{channel_name}", chname.getName())
.replace("{channel_alias}", chname.getAlias()));
}

View File

@ -179,7 +179,7 @@ public class Chwho extends MineverseCommand {
playerlist = playerlist.substring(0, playerlist.length() - 2);
}
sender.sendMessage(LocalizedMessage.CHANNEL_PLAYER_LIST_HEADER.toString()
.replace("{channel_color}", (ChatColor.valueOf(channel.getColor().toUpperCase())).toString())
.replace("{channel_color}", (channel.getColor()).toString())
.replace("{channel_name}", channel.getName()));
sender.sendMessage(playerlist);
return;

View File

@ -38,12 +38,12 @@ public class Kickchannel extends MineverseCommand {
}
sender.sendMessage(LocalizedMessage.KICK_CHANNEL.toString()
.replace("{player}", args[0])
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
player.removeListening(channel.getName());
if(player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString()
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
}
else

View File

@ -34,7 +34,7 @@ public class Leave extends MineverseCommand {
}
mcp.removeListening(channel.getName());
mcp.getPlayer().sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString()
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
if(mcp.getListening().size() == 0) {
mcp.addListening(ChatChannel.getDefaultChannel().getName());

View File

@ -1,6 +1,5 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -41,7 +40,7 @@ public class Listen extends MineverseCommand {
}
mcp.addListening(channel.getName());
mcp.getPlayer().sendMessage(LocalizedMessage.LISTEN_CHANNEL.toString()
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
return;
}

View File

@ -1,6 +1,5 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat;
@ -46,7 +45,7 @@ public class Setchannel extends MineverseCommand {
player.removeListening(channel.getName());
sender.sendMessage(LocalizedMessage.SET_CHANNEL_PLAYER_CHANNEL_NO_PERMISSION.toString()
.replace("{player}", player.getName())
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
return;
}
@ -55,7 +54,7 @@ public class Setchannel extends MineverseCommand {
player.setCurrentChannel(channel);
sender.sendMessage(LocalizedMessage.SET_CHANNEL_SENDER.toString()
.replace("{player}", player.getName())
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
if(player.hasConversation()) {
for(MineverseChatPlayer p : MineverseChat.onlinePlayers) {
@ -74,7 +73,7 @@ public class Setchannel extends MineverseCommand {
}
if(player.isOnline())
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
else
player.setModified(true);

View File

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -103,8 +102,8 @@ public class VentureChatGui extends MineverseCommand {
skullMeta.setOwner(target.getName());
skullMeta.setDisplayName("§b" + target.getName());
List<String> skullLore = new ArrayList<String>();
skullLore.add("§7Channel: " + ChatColor.valueOf(channel.getColor().toUpperCase()) + channel.getName());
skullLore.add("§7Hash: " + ChatColor.valueOf(channel.getColor().toUpperCase()) + hash);
skullLore.add("§7Channel: " + channel.getColor() + channel.getName());
skullLore.add("§7Hash: " + channel.getColor() + hash);
skullMeta.setLore(skullLore);
skull.setItemMeta(skullMeta);
skull.setDurability((short) 3);
@ -162,8 +161,8 @@ public class VentureChatGui extends MineverseCommand {
skullMeta.setOwner("Scarsz");
skullMeta.setDisplayName("§bDiscord_Message");
List<String> skullLore = new ArrayList<String>();
skullLore.add("§7Channel: " + ChatColor.valueOf(channel.getColor().toUpperCase()) + channel.getName());
skullLore.add("§7Hash: " + ChatColor.valueOf(channel.getColor().toUpperCase()) + hash);
skullLore.add("§7Channel: " + channel.getColor() + channel.getName());
skullLore.add("§7Hash: " + channel.getColor() + hash);
skullMeta.setLore(skullLore);
skull.setItemMeta(skullMeta);
skull.setDurability((short) 3);

View File

@ -1,6 +1,5 @@
package mineverse.Aust1n46.chat.command.mute;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat;
@ -37,7 +36,7 @@ public class Mute extends MineverseCommand {
if(player.isMuted(channel.getName())) {
sender.sendMessage(LocalizedMessage.PLAYER_ALREADY_MUTED.toString()
.replace("{player}", player.getName())
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
return;
}
@ -45,11 +44,11 @@ public class Mute extends MineverseCommand {
player.addMute(channel.getName(), 0);
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER.toString()
.replace("{player}", player.getName())
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
if(player.isOnline())
player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER.toString()
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
else
player.setModified(true);
@ -59,7 +58,7 @@ public class Mute extends MineverseCommand {
return;
}
sender.sendMessage(LocalizedMessage.CHANNEL_CANNOT_MUTE.toString()
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
return;
}
@ -72,7 +71,7 @@ public class Mute extends MineverseCommand {
if(player.isMuted(channel.getName())) {
sender.sendMessage(LocalizedMessage.PLAYER_ALREADY_MUTED.toString()
.replace("{player}", player.getName())
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
return;
}
@ -94,13 +93,13 @@ public class Mute extends MineverseCommand {
keyword = "minute";
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME.toString()
.replace("{player}", player.getName())
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName())
.replace("{time}", time + "")
.replace("{units}", keyword));
if(player.isOnline())
player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME.toString()
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName())
.replace("{time}", time + "")
.replace("{units}", keyword));
@ -121,7 +120,7 @@ public class Mute extends MineverseCommand {
return;
}
sender.sendMessage(LocalizedMessage.CHANNEL_CANNOT_MUTE.toString()
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
return;
}

View File

@ -1,6 +1,5 @@
package mineverse.Aust1n46.chat.command.mute;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat;
@ -36,19 +35,19 @@ public class Unmute extends MineverseCommand {
if(!player.isMuted(channel.getName())) {
sender.sendMessage(LocalizedMessage.PLAYER_NOT_MUTED.toString()
.replace("{player}", player.getName())
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
return;
}
player.removeMute(channel.getName());
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_SENDER.toString()
.replace("{player}", player.getName())
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
if(player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_PLAYER.toString()
.replace("{player}", player.getName())
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
}
else {

View File

@ -227,7 +227,7 @@ public class ChatListener implements Listener {
timedMute = " for " + remaining + " more " + keyword;
}
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_MUTED.toString()
.replace("{channel_color}", ChatColor.valueOf(eventChannel.getColor().toUpperCase()) + "")
.replace("{channel_color}", eventChannel.getColor() + "")
.replace("{channel_name}", eventChannel.getName())
.replace("{time}", timedMute));
mcp.setQuickChat(false);
@ -243,7 +243,7 @@ public class ChatListener implements Listener {
mcp.setCurrentChannel(ChatChannel.getDefaultChannel());
return;
}
curColor = eventChannel.getChatColor().toUpperCase();
curColor = eventChannel.getChatColor();
bungee = eventChannel.getBungee();
int time = (int) (System.currentTimeMillis() / 1000);
@ -294,7 +294,7 @@ public class ChatListener implements Listener {
}
mcp.getSpam().get(eventChannel).set(0, 0);
mcp.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_SPAM.toString()
.replace("{channel_color}", ChatColor.valueOf(eventChannel.getColor().toUpperCase()) + "")
.replace("{channel_color}", eventChannel.getColor() + "")
.replace("{channel_name}", eventChannel.getName())
.replace("{time}", timedmute));
mcp.setQuickChat(false);
@ -459,7 +459,7 @@ public class ChatListener implements Listener {
chat = Format.getLastCode(format) + chat;
}
else {
chat = ChatColor.valueOf(curColor) + chat;
chat = curColor + chat;
}
String globalJSON = Format.convertToJson(mcp, format, chat);

View File

@ -150,7 +150,7 @@ public class CommandListener implements CommandExecutor, Listener {
if(!channel.hasPermission() || mcp.getPlayer().hasPermission(channel.getPermission())) {
if(message.equals("/" + channel.getAlias())) {
mcp.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
.replace("{channel_color}", ChatColor.valueOf(channel.getColor().toUpperCase()) + "")
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
if(mcp.hasConversation()) {
for(MineverseChatPlayer p : MineverseChat.onlinePlayers) {

View File

@ -26,6 +26,13 @@ import mineverse.Aust1n46.chat.versions.VersionHandler;
public class Format {
private static MineverseChat plugin = MineverseChat.getInstance();
public static final int LEGACY_COLOR_CODE_LENGTH = 2;
public static final int HEX_COLOR_CODE_LENGTH = 14;
public static final String DEFAULT_COLOR_CODE = String.valueOf(ChatColor.WHITE);
public static final String HEX_COLOR_CODE_PREFIX = "#";
public static final String BUKKIT_COLOR_CODE_PREFIX = "§";
public static final String BUKKIT_HEX_COLOR_CODE_PREFIX = "x";
public static String convertToJson(MineverseChatPlayer sender, String format, String chat) {
JsonFormat JSONformat = MineverseChat.jfInfo.getJsonFormat(sender.getJsonFormat());
String f = format.replace("\\", "\\\\").replace("\"", "\\\"");
@ -156,20 +163,44 @@ public class Format {
return temp;
}
// public static String getLastCode(String s) {
// String ts = "";
// char[] ch = s.toCharArray();
// for(int a = 0; a < s.length() - 1; a ++) {
// if(String.valueOf(ch[a + 1]).matches("[lkonmr0123456789abcdef]") && ch[a] == '§') {
// ts += String.valueOf(ch[a]) + ch[a + 1];
// if(String.valueOf(ch[a + 1]).matches("[0123456789abcdefr]")) {
// ts = String.valueOf(ch[a]) + ch[a + 1];
// }
// }
// }
// return ts;
// }
public static String getLastCode(String s) {
String ts = "";
char[] ch = s.toCharArray();
for(int a = 0; a < s.length() - 1; a ++) {
if(String.valueOf(ch[a + 1]).matches("[lkonmr0123456789abcdef]") && ch[a] == '§') {
if(String.valueOf(ch[a + 1]).matches("[lkomn]") && ch[a] == '§') {
ts += String.valueOf(ch[a]) + ch[a + 1];
if(String.valueOf(ch[a + 1]).matches("[0123456789abcdefr]")) {
ts = String.valueOf(ch[a]) + ch[a + 1];
a ++;
}
else if(String.valueOf(ch[a + 1]).matches("[0123456789abcdefr]") && ch[a] == '§') {
ts = String.valueOf(ch[a]) + ch[a + 1];
a ++;
}
else if(ch[a + 1] == 'x' && ch[a] == '§') {
if(ch.length > a + 13) {
if(String.valueOf(ch[a + 3]).matches("[0123456789abcdef]") && String.valueOf(ch[a + 5]).matches("[0123456789abcdef]") && String.valueOf(ch[a + 7]).matches("[0123456789abcdef]") && String.valueOf(ch[a + 9]).matches("[0123456789abcdef]") && String.valueOf(ch[a + 11]).matches("[0123456789abcdef]") && String.valueOf(ch[a + 13]).matches("[0123456789abcdef]") && ch[a + 2] == '§' && ch[a + 4] == '§' && ch[a + 6] == '§' && ch[a + 8] == '§' && ch[a + 10] == '§' && ch[a + 12] == '§') {
ts = String.valueOf(ch[a]) + ch[a + 1] + ch[a + 2] + ch[a + 3] + ch[a + 4] + ch[a + 5] + ch[a + 6] + ch[a + 7] + ch[a + 8] + ch[a + 9] + ch[a + 10] + ch[a + 11] + ch[a + 12] + ch[a + 13];
a += 13;
}
}
}
}
}
return ts;
}
private static String convertToJsonColors(String s) {
return convertToJsonColors(s, "");
}
@ -184,19 +215,32 @@ public class Format {
boolean bold = false;
boolean obfuscated = false;
boolean italic = false;
boolean underlined = false;
boolean strikethrough = false;
boolean underlined = false;
String previousColor = "";
int colorLength = LEGACY_COLOR_CODE_LENGTH;
do {
if(remaining.length() < 2) {
if(remaining.length() < LEGACY_COLOR_CODE_LENGTH) {
temp = "{\"text\":\"" + remaining + "\"},";
break;
}
modifier = "";
indexColor = remaining.indexOf("§");
indexColor = remaining.indexOf(BUKKIT_COLOR_CODE_PREFIX);
previousColor = color;
color = remaining.substring(1, indexColor + 2);
if(!color.matches("[0123456789abcdef]")) {
color = remaining.substring(1, indexColor + LEGACY_COLOR_CODE_LENGTH);
if(color.equals(BUKKIT_HEX_COLOR_CODE_PREFIX)) {
if(remaining.length() >= HEX_COLOR_CODE_LENGTH) {
color = HEX_COLOR_CODE_PREFIX + remaining.substring(LEGACY_COLOR_CODE_LENGTH, indexColor + HEX_COLOR_CODE_LENGTH).replace(BUKKIT_COLOR_CODE_PREFIX, "");
colorLength = HEX_COLOR_CODE_LENGTH;
bold = false;
obfuscated = false;
italic = false;
strikethrough = false;
underlined = false;
}
}
else if(!color.matches("[0123456789abcdef]")) {
switch(color) {
case "l": {
bold = true;
@ -210,20 +254,20 @@ public class Format {
italic = true;
break;
}
case "n": {
underlined = true;
break;
}
case "m": {
strikethrough = true;
break;
}
case "n": {
underlined = true;
break;
}
case "r": {
bold = false;
obfuscated = false;
italic = false;
underlined = false;
strikethrough = false;
underlined = false;
color = "f";
break;
}
@ -237,8 +281,8 @@ public class Format {
bold = false;
obfuscated = false;
italic = false;
underlined = false;
strikethrough = false;
underlined = false;
}
if(bold)
modifier += ",\"bold\":\"true\"";
@ -250,12 +294,13 @@ public class Format {
modifier += ",\"underlined\":\"true\"";
if(strikethrough)
modifier += ",\"strikethrough\":\"true\"";
remaining = remaining.substring(2);
indexNextColor = remaining.indexOf("§");
remaining = remaining.substring(colorLength);
colorLength = LEGACY_COLOR_CODE_LENGTH;
indexNextColor = remaining.indexOf(BUKKIT_COLOR_CODE_PREFIX);
if(indexNextColor == -1) {
indexNextColor = remaining.length();
}
temp += "{\"text\":\"" + remaining.substring(0, indexNextColor) + "\",\"color\":\"" + hexidecimalToJsonColor(color) + "\"" + modifier + extensions + "},";
temp += "{\"text\":\"" + remaining.substring(0, indexNextColor) + "\",\"color\":\"" + hexidecimalToJsonColorRGB(color) + "\"" + modifier + extensions + "},";
remaining = remaining.substring(indexNextColor);
}
while(remaining.length() > 1 && indexColor != -1);
@ -264,26 +309,28 @@ public class Format {
return temp;
}
private static String hexidecimalToJsonColor(String c) {
switch(c) {
case "0": return "black";
case "1": return "dark_blue";
case "2": return "dark_green";
case "3": return "dark_aqua";
case "4": return "dark_red";
case "5": return "dark_purple";
case "6": return "gold";
case "7": return "gray";
case "8": return "dark_gray";
case "9": return "blue";
case "a": return "green";
case "b": return "aqua";
case "c": return "red";
case "d": return "light_purple";
case "e": return "yellow";
case "f": return "white";
private static String hexidecimalToJsonColorRGB(String c) {
if(c.length() == 1) {
switch(c) {
case "0": return "black";
case "1": return "dark_blue";
case "2": return "dark_green";
case "3": return "dark_aqua";
case "4": return "dark_red";
case "5": return "dark_purple";
case "6": return "gold";
case "7": return "gray";
case "8": return "dark_gray";
case "9": return "blue";
case "a": return "green";
case "b": return "aqua";
case "c": return "red";
case "d": return "light_purple";
case "e": return "yellow";
case "f": return "white";
}
}
return "";
return c;
}
public static String convertPlainTextToJson(String s, boolean convertURL) {
@ -387,6 +434,7 @@ public class Format {
}
}
protected static Pattern chatHexColorPattern = Pattern.compile("(?i)&([X])");
protected static Pattern chatColorPattern = Pattern.compile("(?i)&([0-9A-F])");
protected static Pattern chatMagicPattern = Pattern.compile("(?i)&([K])");
protected static Pattern chatBoldPattern = Pattern.compile("(?i)&([L])");
@ -398,6 +446,7 @@ public class Format {
public static String FormatStringColor(String string) {
String allFormated = string;
allFormated = chatColorPattern.matcher(allFormated).replaceAll("\u00A7$1");
allFormated = chatHexColorPattern.matcher(allFormated).replaceAll("\u00A7$1");
allFormated = allFormated.replaceAll("%", "\\%");
return allFormated;
}
@ -413,6 +462,12 @@ public class Format {
allFormated = allFormated.replaceAll("%", "\\%");
return allFormated;
}
public static String FormatStringAll(String string) {
String allFormated = Format.FormatString(string);
allFormated = Format.FormatStringColor(allFormated);
return allFormated;
}
public static String FormatPlayerName(String playerPrefix, String playerDisplayName, String playerSuffix) {
playerPrefix = chatColorPattern.matcher(playerPrefix).replaceAll("\u00A7$1");
@ -432,19 +487,6 @@ public class Format {
playerSuffix = chatResetPattern.matcher(playerSuffix).replaceAll("\u00A7$1");
return playerPrefix + playerDisplayName.trim() + playerSuffix;
}
public static String FormatStringAll(String string) {
String allFormated = string;
allFormated = chatColorPattern.matcher(allFormated).replaceAll("\u00A7$1");
allFormated = chatMagicPattern.matcher(allFormated).replaceAll("\u00A7$1");
allFormated = chatBoldPattern.matcher(allFormated).replaceAll("\u00A7$1");
allFormated = chatStrikethroughPattern.matcher(allFormated).replaceAll("\u00A7$1");
allFormated = chatUnderlinePattern.matcher(allFormated).replaceAll("\u00A7$1");
allFormated = chatItalicPattern.matcher(allFormated).replaceAll("\u00A7$1");
allFormated = chatResetPattern.matcher(allFormated).replaceAll("\u00A7$1");
allFormated = allFormated.replaceAll("%", "\\%");
return allFormated;
}
public static String FilterChat(String msg) {
int t = 0;
@ -465,7 +507,7 @@ public class Format {
return msg;
}
public static Boolean isValidColor(String color) {
public static boolean isValidColor(String color) {
Boolean bFound = false;
for(ChatColor bkColors : ChatColor.values()) {
if(color.equalsIgnoreCase(bkColors.name())) {
@ -475,6 +517,20 @@ public class Format {
return bFound;
}
public static boolean isValidHexColor(String color) {
Pattern pattern = Pattern.compile("(^#[0-9a-fA-F]{6}\\b)");
Matcher matcher = pattern.matcher(color);
return matcher.find();
}
public static String convertHexColorCodeToBukkitColorCode(String color) {
StringBuilder bukkitColorCode = new StringBuilder(BUKKIT_COLOR_CODE_PREFIX + BUKKIT_HEX_COLOR_CODE_PREFIX);
for(int a = 1; a < color.length(); a++) {
bukkitColorCode.append(BUKKIT_COLOR_CODE_PREFIX + color.charAt(a));
}
return bukkitColorCode.toString();
}
public static String escapeAllRegex(String input) {
return input.replace("[", "\\[").replace("]", "\\]").replace("{", "\\{").replace("}", "\\}").replace("(", "\\(").replace(")", "\\)").replace("|", "\\|").replace("+", "\\+").replace("*", "\\*");
}

View File

@ -81,6 +81,10 @@ public class VersionHandler {
return Bukkit.getVersion().contains("1.15");
}
public static boolean is1_16() {
return Bukkit.getVersion().contains("1.16");
}
public static boolean isCauldron() {
return false;
}

View File

@ -1,5 +1,5 @@
name: VentureChat
version: 2.18.7
version: 2.19.0
api-version: 1.13
main: mineverse.Aust1n46.chat.MineverseChat
depend: [Vault, ProtocolLib, PlaceholderAPI]