Updated global muting to the new plugin messaging channel

Updated config entry for remove message command format
This commit is contained in:
Aust1n46 2019-02-13 22:25:39 -05:00
parent 0b87ebf8c4
commit de4ee833b4
8 changed files with 85 additions and 84 deletions

View File

@ -194,7 +194,7 @@ venturegui:
durability: 0 durability: 0
text: '&cRemove Message' text: '&cRemove Message'
permission: 'removemessage' permission: 'removemessage'
command: '/removemessage {hash} {channel} true' command: '/removemessage {hash} {channel}'
slot: 7 slot: 7
guiicon: '&c [✓]' guiicon: '&c [✓]'

View File

@ -194,7 +194,7 @@ venturegui:
durability: 0 durability: 0
text: '&cRemove Message' text: '&cRemove Message'
permission: 'removemessage' permission: 'removemessage'
command: '/removemessage {hash} {channel} true' command: '/removemessage {hash} {channel}'
slot: 7 slot: 7
guiicon: '&c [✓]' guiicon: '&c [✓]'

View File

@ -557,7 +557,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
StringBuilder stringbuilder = new StringBuilder(); StringBuilder stringbuilder = new StringBuilder();
try { try {
splitComponents(finalList, o, c); splitComponents(finalList, o, c);
for(Object component : finalList) { for(Object component : finalList) {
if(VersionHandler.is1_7_10()) { if(VersionHandler.is1_7_10()) {
stringbuilder.append((String) component.getClass().getMethod("e").invoke(component)); stringbuilder.append((String) component.getClass().getMethod("e").invoke(component));

View File

@ -26,7 +26,7 @@ public class GlobalMute extends Command {
if(!(commandSender instanceof ProxiedPlayer)) { if(!(commandSender instanceof ProxiedPlayer)) {
return; return;
} }
if(commandSender.hasPermission("mineversechat.mute")) { if(commandSender.hasPermission("venturechat.mute")) {
if(args.length < 3) { if(args.length < 3) {
commandSender.sendMessage(new TextComponent(ChatColor.RED + "Invalid command: /" + alias + " [server] [player] [channel] {time}")); commandSender.sendMessage(new TextComponent(ChatColor.RED + "Invalid command: /" + alias + " [server] [player] [channel] {time}"));
return; return;
@ -48,7 +48,7 @@ public class GlobalMute extends Command {
} }
out.writeUTF(time); out.writeUTF(time);
if(plugin.getProxy().getServers().get(args[0]).getPlayers().size() > 0) { if(plugin.getProxy().getServers().get(args[0]).getPlayers().size() > 0) {
plugin.getProxy().getServers().get(args[0]).sendData("MineverseChat", stream.toByteArray()); plugin.getProxy().getServers().get(args[0]).sendData("venturechat:", stream.toByteArray());
return; return;
} }
commandSender.sendMessage(new TextComponent(ChatColor.RED + "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not connected to server: " + args[0])); commandSender.sendMessage(new TextComponent(ChatColor.RED + "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not connected to server: " + args[0]));

View File

@ -24,7 +24,7 @@ public class GlobalMuteAll extends Command {
if(!(commandSender instanceof ProxiedPlayer)) { if(!(commandSender instanceof ProxiedPlayer)) {
return; return;
} }
if(commandSender.hasPermission("mineversechat.mute")) { if(commandSender.hasPermission("venturechat.mute")) {
if(args.length < 2) { if(args.length < 2) {
commandSender.sendMessage(new TextComponent(ChatColor.RED + "Invalid command: /" + alias + " [server] [player]")); commandSender.sendMessage(new TextComponent(ChatColor.RED + "Invalid command: /" + alias + " [server] [player]"));
return; return;
@ -40,7 +40,7 @@ public class GlobalMuteAll extends Command {
out.writeUTF(args[1]); out.writeUTF(args[1]);
out.writeUTF(args[0]); out.writeUTF(args[0]);
if(plugin.getProxy().getServers().get(args[0]).getPlayers().size() > 0) { if(plugin.getProxy().getServers().get(args[0]).getPlayers().size() > 0) {
plugin.getProxy().getServers().get(args[0]).sendData("MineverseChat", stream.toByteArray()); plugin.getProxy().getServers().get(args[0]).sendData("venturechat:", stream.toByteArray());
return; return;
} }
commandSender.sendMessage(new TextComponent(ChatColor.RED + "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not connected to server: " + args[0])); commandSender.sendMessage(new TextComponent(ChatColor.RED + "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not connected to server: " + args[0]));

View File

@ -25,7 +25,7 @@ public class GlobalUnmute extends Command {
if(!(commandSender instanceof ProxiedPlayer)) { if(!(commandSender instanceof ProxiedPlayer)) {
return; return;
} }
if(commandSender.hasPermission("mineversechat.mute")) { if(commandSender.hasPermission("venturechat.mute")) {
if(args.length < 3) { if(args.length < 3) {
commandSender.sendMessage(new TextComponent(ChatColor.RED + "Invalid command: /" + alias + " [server] [player] [channel]")); commandSender.sendMessage(new TextComponent(ChatColor.RED + "Invalid command: /" + alias + " [server] [player] [channel]"));
return; return;
@ -42,7 +42,7 @@ public class GlobalUnmute extends Command {
out.writeUTF(args[2]); out.writeUTF(args[2]);
out.writeUTF(args[0]); out.writeUTF(args[0]);
if(plugin.getProxy().getServers().get(args[0]).getPlayers().size() > 0) { if(plugin.getProxy().getServers().get(args[0]).getPlayers().size() > 0) {
plugin.getProxy().getServers().get(args[0]).sendData("MineverseChat", stream.toByteArray()); plugin.getProxy().getServers().get(args[0]).sendData("venturechat:", stream.toByteArray());
return; return;
} }
commandSender.sendMessage(new TextComponent(ChatColor.RED + "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not connected to server: " + args[0])); commandSender.sendMessage(new TextComponent(ChatColor.RED + "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not connected to server: " + args[0]));

View File

@ -24,7 +24,7 @@ public class GlobalUnmuteAll extends Command {
if(!(commandSender instanceof ProxiedPlayer)) { if(!(commandSender instanceof ProxiedPlayer)) {
return; return;
} }
if(commandSender.hasPermission("mineversechat.mute")) { if(commandSender.hasPermission("venturechat.mute")) {
if(args.length < 2) { if(args.length < 2) {
commandSender.sendMessage(new TextComponent(ChatColor.RED + "Invalid command: /" + alias + " [server] [player]")); commandSender.sendMessage(new TextComponent(ChatColor.RED + "Invalid command: /" + alias + " [server] [player]"));
return; return;
@ -40,7 +40,7 @@ public class GlobalUnmuteAll extends Command {
out.writeUTF(args[1]); out.writeUTF(args[1]);
out.writeUTF(args[0]); out.writeUTF(args[0]);
if(plugin.getProxy().getServers().get(args[0]).getPlayers().size() > 0) { if(plugin.getProxy().getServers().get(args[0]).getPlayers().size() > 0) {
plugin.getProxy().getServers().get(args[0]).sendData("MineverseChat", stream.toByteArray()); plugin.getProxy().getServers().get(args[0]).sendData("venturechat:", stream.toByteArray());
return; return;
} }
commandSender.sendMessage(new TextComponent(ChatColor.RED + "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not connected to server: " + args[0])); commandSender.sendMessage(new TextComponent(ChatColor.RED + "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not connected to server: " + args[0]));

View File

@ -50,7 +50,7 @@ public class Removemessage extends MineverseCommand {
sender.sendMessage(ChatColor.RED + "Invalid hashcode."); sender.sendMessage(ChatColor.RED + "Invalid hashcode.");
return; return;
} }
if(args.length > 1 && MineverseChat.ccInfo.isChannel(args[1]) && MineverseChat.ccInfo.getChannelInfo(args[1]).getBungee() && Boolean.parseBoolean(args[2]) && sender instanceof Player) { if(args.length > 1 && MineverseChat.ccInfo.isChannel(args[1]) && MineverseChat.ccInfo.getChannelInfo(args[1]).getBungee() && sender instanceof Player) {
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream(); ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(byteOutStream); DataOutputStream out = new DataOutputStream(byteOutStream);
try { try {
@ -64,29 +64,20 @@ public class Removemessage extends MineverseCommand {
} }
return; return;
} }
new BukkitRunnable() { else {
public void run() { new BukkitRunnable() {
final Map<Player, List<PacketContainer>> packets = new HashMap(); public void run() {
for(MineverseChatPlayer p : MineverseChat.onlinePlayers) { final Map<Player, List<PacketContainer>> packets = new HashMap();
List<ChatMessage> messages = p.getMessages(); for(MineverseChatPlayer p : MineverseChat.onlinePlayers) {
List<PacketContainer> playerPackets = new ArrayList(); List<ChatMessage> messages = p.getMessages();
boolean resend = false; List<PacketContainer> playerPackets = new ArrayList();
for(int fill = 0; fill < 100 - messages.size(); fill++) { boolean resend = false;
playerPackets.add(Removemessage.this.emptyLinePacketContainer); for(int fill = 0; fill < 100 - messages.size(); fill++) {
} playerPackets.add(Removemessage.this.emptyLinePacketContainer);
for(ChatMessage message : messages) {
//System.out.println(message.getMessage() + " remover test");
if(message.getHash() == hash) {
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
message.setComponent(removedComponent);
message.setHash(-1);
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
resend = true;
continue;
} }
if(message.getMessage().contains(ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))))) { for(ChatMessage message : messages) {
String submessage = message.getMessage().substring(0, message.getMessage().length() - ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))).length()); //System.out.println(message.getMessage() + " remover test");
if(submessage.hashCode() == hash) { if(message.getHash() == hash) {
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer(); WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
message.setComponent(removedComponent); message.setComponent(removedComponent);
message.setHash(-1); message.setHash(-1);
@ -94,25 +85,54 @@ public class Removemessage extends MineverseCommand {
resend = true; resend = true;
continue; continue;
} }
} if(message.getMessage().contains(ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))))) {
/*if(message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) { String submessage = message.getMessage().substring(0, message.getMessage().length() - ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))).length());
String submessage = message.getMessage().substring(0, message.getMessage().length() - plugin.getConfig().getString("messageremovericon").length() - 1).replaceAll("(§([a-z0-9]))", ""); if(submessage.hashCode() == hash) {
if(submessage.hashCode() == hash) { WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer(); message.setComponent(removedComponent);
message.setComponent(removedComponent); message.setHash(-1);
message.setHash(-1); playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent)); resend = true;
resend = true; continue;
continue; }
}
/*if(message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
String submessage = message.getMessage().substring(0, message.getMessage().length() - plugin.getConfig().getString("messageremovericon").length() - 1).replaceAll("(§([a-z0-9]))", "");
if(submessage.hashCode() == hash) {
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
message.setComponent(removedComponent);
message.setHash(-1);
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
resend = true;
continue;
}
int cut = 0;
for(JsonButton b : MineverseChat.jbInfo.getJsonButtons()) {
if(b.hasPermission() && p.getPlayer().hasPermission(b.getPermission())) {
cut += b.getIcon().length() - 1;
}
}
submessage = submessage.substring(0, submessage.length() - cut).replaceAll("(§([a-z0-9]))", "");
//System.out.println(submessage + " submess");
if(submessage.hashCode() == hash) {
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
message.setComponent(removedComponent);
message.setHash(-1);
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
resend = true;
continue;
}
} }
int cut = 0; int cut = 0;
for(JsonButton b : MineverseChat.jbInfo.getJsonButtons()) { for(JsonButton b : MineverseChat.jbInfo.getJsonButtons()) {
if(b.hasPermission() && p.getPlayer().hasPermission(b.getPermission())) { if(b.hasPermission() && p.getPlayer().hasPermission(b.getPermission()) && message.getMessage().contains(b.getIcon())) {
cut += b.getIcon().length() - 1; cut += b.getIcon().length() - 1;
} }
} }
submessage = submessage.substring(0, submessage.length() - cut).replaceAll("(§([a-z0-9]))", ""); String submessage = message.getMessage().replaceAll("(§([a-z0-9]))", "");
//System.out.println(submessage + " submess"); //System.out.println(submessage + " " + submessage.length());
submessage = submessage.substring(0, submessage.length() - cut);
//System.out.println(submessage);
if(submessage.hashCode() == hash) { if(submessage.hashCode() == hash) {
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer(); WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
message.setComponent(removedComponent); message.setComponent(removedComponent);
@ -120,46 +140,28 @@ public class Removemessage extends MineverseCommand {
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent)); playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
resend = true; resend = true;
continue; continue;
} }*/
} //System.out.println(message.getComponent().getJson());
int cut = 0; playerPackets.add(Removemessage.this.createPacketPlayOutChat(message.getComponent()));
for(JsonButton b : MineverseChat.jbInfo.getJsonButtons()) {
if(b.hasPermission() && p.getPlayer().hasPermission(b.getPermission()) && message.getMessage().contains(b.getIcon())) {
cut += b.getIcon().length() - 1;
}
}
String submessage = message.getMessage().replaceAll("(§([a-z0-9]))", "");
//System.out.println(submessage + " " + submessage.length());
submessage = submessage.substring(0, submessage.length() - cut);
//System.out.println(submessage);
if(submessage.hashCode() == hash) {
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
message.setComponent(removedComponent);
message.setHash(-1);
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
resend = true;
continue;
}*/
//System.out.println(message.getComponent().getJson());
playerPackets.add(Removemessage.this.createPacketPlayOutChat(message.getComponent()));
} }
if(resend) { if(resend) {
packets.put(p.getPlayer(), playerPackets); packets.put(p.getPlayer(), playerPackets);
}
}
new BukkitRunnable() {
public void run() {
for(Player p : packets.keySet()) {
List<PacketContainer> pPackets = packets.get(p);
for(PacketContainer c : pPackets) {
Removemessage.this.sendPacketPlayOutChat(p, c);
}
} }
} }
}.runTask(plugin); new BukkitRunnable() {
} public void run() {
}.runTaskAsynchronously(plugin); for(Player p : packets.keySet()) {
List<PacketContainer> pPackets = packets.get(p);
for(PacketContainer c : pPackets) {
Removemessage.this.sendPacketPlayOutChat(p, c);
}
}
}
}.runTask(plugin);
}
}.runTaskAsynchronously(plugin);
}
} }
private PacketContainer createPacketPlayOutChat(WrappedChatComponent component) { private PacketContainer createPacketPlayOutChat(WrappedChatComponent component) {