Added exception for ViaVersion to fix plugin messaging with ViaVersion

installed
This commit is contained in:
Aust1n46 2018-12-23 00:22:55 -05:00
parent 41d58d6a56
commit 5aa13908bd
12 changed files with 120 additions and 119 deletions

View File

@ -7,11 +7,12 @@
<classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/MassiveCore.jar"/> <classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/MassiveCore.jar"/>
<classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/pircbotx-2.0.1.jar"/> <classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/pircbotx-2.0.1.jar"/>
<classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/PlaceholderAPI-2.8.2.jar"/> <classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/PlaceholderAPI-2.8.2.jar"/>
<classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/ProtocolLib.jar"/>
<classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/spigot-1.12.2-R0.1-SNAPSHOT-b1581.jar"/> <classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/spigot-1.12.2-R0.1-SNAPSHOT-b1581.jar"/>
<classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/Towny.jar"/> <classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/Towny.jar"/>
<classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/Vault.jar"/> <classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/Vault.jar"/>
<classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/BungeeCord.jar"/> <classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/BungeeCord.jar"/>
<classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/spigot-1.8.8-R0.1-SNAPSHOT.jar"/> <classpathentry kind="lib" path="C:/Users/Austin/workspace/VentureChat Dependencies/spigot-1.8.8-R0.1-SNAPSHOT.jar"/>
<classpathentry kind="lib" path="C:/Users/Austin/Desktop/Mineverse Network/Servers/Hub/spigot-1.13-R0.1-SNAPSHOT-b1726.jar"/>
<classpathentry kind="lib" path="C:/Users/Austin/Desktop/Mineverse Network/Servers/Hub/plugins_1.13/ProtocolLib.jar"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

View File

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

View File

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

View File

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

View File

@ -11,6 +11,7 @@ import java.io.DataOutputStream;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.sql.Connection; import java.sql.Connection;
import java.sql.SQLException; import java.sql.SQLException;
@ -30,7 +31,6 @@ import java.util.logging.Logger;
import net.milkbowl.vault.chat.Chat; import net.milkbowl.vault.chat.Chat;
import net.milkbowl.vault.permission.Permission; import net.milkbowl.vault.permission.Permission;
import mineverse.Aust1n46.chat.irc.Bot; import mineverse.Aust1n46.chat.irc.Bot;
import mineverse.Aust1n46.chat.irc.command.IRCCommandInfo; import mineverse.Aust1n46.chat.irc.command.IRCCommandInfo;
//import mineverse.Aust1n46.chat.json.JsonButtonInfo; //import mineverse.Aust1n46.chat.json.JsonButtonInfo;
@ -407,12 +407,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
loginListener = new LoginListener(this, ccInfo); loginListener = new LoginListener(this, ccInfo);
pluginManager.registerEvents(loginListener, this); pluginManager.registerEvents(loginListener, this);
this.registerPacketListeners(); this.registerPacketListeners();
try { this.loadNMS();
this.loadNMS();
}
catch(ClassNotFoundException e) {
e.printStackTrace();
}
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Attaching to Executors")); Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Attaching to Executors"));
try { try {
// if(VersionHandler.is1_7_9()) cmap = V1_7_9.v1_7_9(); // if(VersionHandler.is1_7_9()) cmap = V1_7_9.v1_7_9();
@ -558,88 +553,57 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
this.protocolManager.addPacketListener(this.packetListener); this.protocolManager.addPacketListener(this.packetListener);
} }
private void loadNMS() throws ClassNotFoundException { public static String toPlainText(Object o, Class<?> c) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
/* //System.out.println(o.getClass().getName());
* if(VersionHandler.is1_7_10()) { try { MineverseChat.posField = //System.out.println(c.getName());
* MinecraftReflection.getMinecraftClass("PacketPlayOutChat"). /*for(Method m : c.getDeclaredMethods()) {
* getDeclaredField("b"); MineverseChat.posField.setAccessible(true); } System.out.println(m.getName());
* catch(NoSuchFieldException | SecurityException System.out.println(m.getGenericReturnType().toString());
* localNoSuchFieldException) { }*/
* localNoSuchFieldException.printStackTrace(); } try { ArrayList<?> list = (ArrayList<?>) c.getMethod("a").invoke(o, new Object[0]);
* MineverseChat.messageMethod = //System.out.println(list);
* MinecraftReflection.getMinecraftClass("IChatBaseComponent"). //System.out.println(list.get(0).getClass().getName());
* getDeclaredMethod("c", new Class[0]); /*for(Method m : list.get(0).getClass().getDeclaredMethods()) {
* MineverseChat.messageMethod.setAccessible(true); } System.out.println(m.getName());
* catch(SecurityException | NoSuchMethodException e) { System.out.println(m.getGenericReturnType().toString());
* e.printStackTrace(); } return; } }*/
*/ StringBuilder stringbuilder = new StringBuilder();
if(VersionHandler.is1_8() || VersionHandler.is1_7_10()) { for(Object component : list) {
try { if(VersionHandler.is1_7_10()) {
MineverseChat.posField = MinecraftReflection.getMinecraftClass("PacketPlayOutChat").getDeclaredField("b"); stringbuilder.append((String) component.getClass().getMethod("e").invoke(component));
MineverseChat.posField.setAccessible(true);
} }
catch(NoSuchFieldException | SecurityException localNoSuchFieldException) { else {
localNoSuchFieldException.printStackTrace(); stringbuilder.append((String) component.getClass().getMethod("getText").invoke(component));
}
try {
MineverseChat.messageMethod = MinecraftReflection.getMinecraftClass("IChatBaseComponent").getDeclaredMethod("c", new Class[0]);
MineverseChat.messageMethod.setAccessible(true);
}
catch(SecurityException | NoSuchMethodException e) {
e.printStackTrace();
} }
} }
else if(!VersionHandler.is1_13()){ //System.out.println("my string");
try { //System.out.println("my string");
MineverseChat.posField = MinecraftReflection.getMinecraftClass("PacketPlayOutChat").getDeclaredField("b"); //System.out.println("my string");
MineverseChat.posField.setAccessible(true); //System.out.println("my string");
} //System.out.println("my string");
catch(NoSuchFieldException | SecurityException localNoSuchFieldException) { //System.out.println(stringbuilder.toString());
localNoSuchFieldException.printStackTrace(); return stringbuilder.toString();
} }
try {
MineverseChat.messageMethod = MinecraftReflection.getMinecraftClass("ChatBaseComponent").getDeclaredMethod("toPlainText", new Class[0]);
MineverseChat.messageMethod.setAccessible(true);
}
catch(SecurityException | NoSuchMethodException e) {
e.printStackTrace();
}
if(!VersionHandler.is1_9() && !VersionHandler.is1_10() && !VersionHandler.is1_11()) {
try {
MineverseChat.chatMessageType = getNMSClass("ChatMessageType");
}
catch(Exception e) {
e.printStackTrace();
}
}
}
else {
try {
MineverseChat.posField = MinecraftReflection.getMinecraftClass("PacketPlayOutChat").getDeclaredField("b");
MineverseChat.posField.setAccessible(true);
}
catch(NoSuchFieldException | SecurityException localNoSuchFieldException) {
localNoSuchFieldException.printStackTrace();
}
try {
/*for(Method m : MinecraftReflection.getMinecraftClass("ChatBaseComponent").getDeclaredMethods()) {
System.out.println(m.getName());
}*/
MineverseChat.messageMethod = MinecraftReflection.getMinecraftClass("ChatBaseComponent").getDeclaredMethod("getString", new Class[0]); private void loadNMS() {
MineverseChat.messageMethod.setAccessible(true); try {
MineverseChat.posField = MinecraftReflection.getMinecraftClass("PacketPlayOutChat").getDeclaredField("b");
MineverseChat.posField.setAccessible(true);
//MineverseChat.messageMethod = MinecraftReflection.getMinecraftClass("ChatBaseComponent").getDeclaredMethod("getString");
//MineverseChat.messageMethod.setAccessible(true);
}
catch(Exception e) {
e.printStackTrace();
}
if(!VersionHandler.is1_7_10() && !VersionHandler.is1_8() && !VersionHandler.is1_9() && !VersionHandler.is1_10() && !VersionHandler.is1_11()) {
try {
MineverseChat.chatMessageType = getNMSClass("ChatMessageType");
} }
catch(SecurityException | NoSuchMethodException e) { catch(Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
if(!VersionHandler.is1_9() && !VersionHandler.is1_10() && !VersionHandler.is1_11()) {
try {
MineverseChat.chatMessageType = getNMSClass("ChatMessageType");
}
catch(Exception e) {
e.printStackTrace();
}
}
} }
} }
@ -821,30 +785,32 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
String f = msgin.readUTF(); String f = msgin.readUTF();
String c = msgin.readUTF(); String c = msgin.readUTF();
String json = msgin.readUTF(); String json = msgin.readUTF();
MineverseChat.lastChatMessage = new ChatMessage(playerName, lastMessage, lastMessage.hashCode(), f, c, chatchannel); if(ccInfo.isChannel(chatchannel) && ccInfo.getChannelInfo(chatchannel).getBungee()) {
lastJson = json; MineverseChat.lastChatMessage = new ChatMessage(playerName, lastMessage, lastMessage.hashCode(), f, c, chatchannel);
Bukkit.getConsoleSender().sendMessage(chat); lastJson = json;
MineverseChatPlayer sender = MineverseChatAPI.getMineverseChatPlayer(playerName); Bukkit.getConsoleSender().sendMessage(chat);
for(MineverseChatPlayer p : MineverseChat.onlinePlayers) { MineverseChatPlayer sender = MineverseChatAPI.getMineverseChatPlayer(playerName);
//System.out.println(p.getName() + " received chat message"); for(MineverseChatPlayer p : MineverseChat.onlinePlayers) {
if(p.isOnline() && p.getListening().contains(ccInfo.getChannelInfo(chatchannel).getName())) { //System.out.println(p.getName() + " received chat message");
if(!p.getBungeeToggle() && MineverseChatAPI.getOnlineMineverseChatPlayer(playerName) == null) { if(p.isOnline() && p.getListening().contains(ccInfo.getChannelInfo(chatchannel).getName())) {
continue; if(!p.getBungeeToggle() && MineverseChatAPI.getOnlineMineverseChatPlayer(playerName) == null) {
}
if(plugin.getConfig().getBoolean("ignorechat", false)) {
// System.out.println(p.getIgnores());
if(sender == null) {
// System.out.println("null sender");
p.getPlayer().sendMessage(chat);
continue; continue;
} }
if(!p.getIgnores().contains(sender.getUUID())) { if(plugin.getConfig().getBoolean("ignorechat", false)) {
// System.out.println("Chat sent"); // System.out.println(p.getIgnores());
p.getPlayer().sendMessage(chat); if(sender == null) {
// System.out.println("null sender");
p.getPlayer().sendMessage(chat);
continue;
}
if(!p.getIgnores().contains(sender.getUUID())) {
// System.out.println("Chat sent");
p.getPlayer().sendMessage(chat);
}
continue;
} }
continue; p.getPlayer().sendMessage(chat);
} }
p.getPlayer().sendMessage(chat);
} }
} }
} }
@ -939,7 +905,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
UUID sender = UUID.fromString(msgin.readUTF()); UUID sender = UUID.fromString(msgin.readUTF());
ByteArrayOutputStream stream = new ByteArrayOutputStream(); ByteArrayOutputStream stream = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(stream); DataOutputStream out = new DataOutputStream(stream);
if(p == null || !p.isOnline()) { if(!plugin.getConfig().getBoolean("bungeecordmessaging", true) || p == null || !p.isOnline()) {
out.writeUTF("Ignore"); out.writeUTF("Ignore");
out.writeUTF("Offline"); out.writeUTF("Offline");
out.writeUTF(server); out.writeUTF(server);
@ -995,7 +961,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
if(p != null) { if(p != null) {
// System.out.println(p.isOnline() + " online"); // System.out.println(p.isOnline() + " online");
} }
if(p == null || !p.isOnline()) { if(!plugin.getConfig().getBoolean("bungeecordmessaging", true) || p == null || !p.isOnline()) {
out.writeUTF("Message"); out.writeUTF("Message");
out.writeUTF("Offline"); out.writeUTF("Offline");
out.writeUTF(server); out.writeUTF(server);

View File

@ -136,7 +136,7 @@ public class MineverseChatBungee extends Plugin implements Listener {
@EventHandler @EventHandler
public void onPluginMessage(PluginMessageEvent ev) { public void onPluginMessage(PluginMessageEvent ev) {
//System.out.println(ev.getTag() + "," + ev.getSender().toString() + "," + (ev.getSender() instanceof Server)); //System.out.println(ev.getTag() + "," + ev.getSender().toString() + "," + (ev.getSender() instanceof Server));
if(!ev.getTag().equals("venturechat:")) { if(!ev.getTag().equals("venturechat:") && !ev.getTag().contains("viaversion:")) {
return; return;
} }
if(!(ev.getSender() instanceof Server)) { if(!(ev.getSender() instanceof Server)) {

View File

@ -50,13 +50,13 @@ public class Removemessage extends MineverseCommand {
sender.sendMessage(ChatColor.RED + "Invalid hashcode."); sender.sendMessage(ChatColor.RED + "Invalid hashcode.");
return; return;
} }
if(args.length > 1 && Boolean.parseBoolean(args[1]) && sender instanceof Player) { if(args.length > 1 && MineverseChat.ccInfo.isChannel(args[1]) && MineverseChat.ccInfo.getChannelInfo(args[1]).getBungee() && Boolean.parseBoolean(args[2]) && sender instanceof Player) {
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream(); ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(byteOutStream); DataOutputStream out = new DataOutputStream(byteOutStream);
try { try {
out.writeUTF("RemoveMessage"); out.writeUTF("RemoveMessage");
out.writeUTF(String.valueOf(hash)); out.writeUTF(String.valueOf(hash));
((Player) sender).sendPluginMessage(plugin, "VentureChat", byteOutStream.toByteArray()); ((Player) sender).sendPluginMessage(plugin, "venturechat:", byteOutStream.toByteArray());
out.close(); out.close();
} }
catch(Exception e) { catch(Exception e) {
@ -75,6 +75,7 @@ public class Removemessage extends MineverseCommand {
playerPackets.add(Removemessage.this.emptyLinePacketContainer); playerPackets.add(Removemessage.this.emptyLinePacketContainer);
} }
for(ChatMessage message : messages) { for(ChatMessage message : messages) {
//System.out.println(message.getMessage() + " remover test");
if(message.getHash() == 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);
@ -139,6 +140,7 @@ public class Removemessage extends MineverseCommand {
resend = true; resend = true;
continue; continue;
}*/ }*/
//System.out.println(message.getComponent().getJson());
playerPackets.add(Removemessage.this.createPacketPlayOutChat(message.getComponent())); playerPackets.add(Removemessage.this.createPacketPlayOutChat(message.getComponent()));
} }
if(resend) { if(resend) {

View File

@ -26,6 +26,7 @@ import mineverse.Aust1n46.chat.command.MineverseCommand;
import mineverse.Aust1n46.chat.gui.GuiSlot; import mineverse.Aust1n46.chat.gui.GuiSlot;
import mineverse.Aust1n46.chat.utilities.Format; import mineverse.Aust1n46.chat.utilities.Format;
import mineverse.Aust1n46.chat.utilities.UUIDFetcher; import mineverse.Aust1n46.chat.utilities.UUIDFetcher;
import mineverse.Aust1n46.chat.versions.VersionHandler;
public class VentureChatGui extends MineverseCommand { public class VentureChatGui extends MineverseCommand {
private MineverseChat plugin; private MineverseChat plugin;
@ -84,7 +85,13 @@ public class VentureChatGui extends MineverseCommand {
private void openInventory(MineverseChatPlayer mcp, MineverseChatPlayer target, ChatChannel channel, int hash) { private void openInventory(MineverseChatPlayer mcp, MineverseChatPlayer target, ChatChannel channel, int hash) {
Inventory inv = Bukkit.createInventory(null, this.getSlots(), "VentureChat: " + target.getName() + " GUI"); Inventory inv = Bukkit.createInventory(null, this.getSlots(), "VentureChat: " + target.getName() + " GUI");
ItemStack close = new ItemStack(Material.BARRIER); ItemStack close = null;
if(VersionHandler.is1_7_10()) {
close = new ItemStack(Material.BEDROCK);
}
else {
close = new ItemStack(Material.BARRIER);
}
ItemMeta closeMeta = close.getItemMeta(); ItemMeta closeMeta = close.getItemMeta();
closeMeta.setDisplayName("§oClose GUI"); closeMeta.setDisplayName("§oClose GUI");
close.setItemMeta(closeMeta); close.setItemMeta(closeMeta);

View File

@ -2,6 +2,7 @@ package mineverse.Aust1n46.chat.listeners;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.lang.reflect.Method;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Statement; import java.sql.Statement;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -21,6 +22,7 @@ import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.messaging.PluginMessageRecipient;
import org.bukkit.util.EulerAngle; import org.bukkit.util.EulerAngle;
import com.massivecraft.factions.entity.MPlayer; import com.massivecraft.factions.entity.MPlayer;
@ -734,6 +736,14 @@ public class ChatListener implements Listener {
System.out.println(out.size() + " bytes size with json"); System.out.println(out.size() + " bytes size with json");
} }
mcp.getPlayer().sendPluginMessage(plugin, "venturechat:", byteOutStream.toByteArray()); mcp.getPlayer().sendPluginMessage(plugin, "venturechat:", byteOutStream.toByteArray());
//PluginMessageRecipient test = (PluginMessageRecipient) mcp.getPlayer();
//System.out.println("Listening plugin channels?");
//System.out.println(test.getListeningPluginChannels());
//System.out.println("PluginMessageRecipient methods?");
//for(Method m : test.getClass().getMethods()) {
//System.out.println(m.getName());
//}
out.close(); out.close();
} }
catch(Exception e) { catch(Exception e) {

View File

@ -17,6 +17,7 @@ import mineverse.Aust1n46.chat.gui.GuiSlot;
import mineverse.Aust1n46.chat.irc.Bot; import mineverse.Aust1n46.chat.irc.Bot;
import mineverse.Aust1n46.chat.utilities.Format; import mineverse.Aust1n46.chat.utilities.Format;
import mineverse.Aust1n46.chat.utilities.FormatTags; import mineverse.Aust1n46.chat.utilities.FormatTags;
import mineverse.Aust1n46.chat.versions.VersionHandler;
//import org.bukkit.Bukkit; //import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
@ -274,8 +275,15 @@ public class CommandListener implements CommandExecutor, Listener {
SkullMeta skullMeta = (SkullMeta) skull.getItemMeta(); SkullMeta skullMeta = (SkullMeta) skull.getItemMeta();
ChatChannel channel = MineverseChat.ccInfo.getChannelInfo(ChatColor.stripColor(skullMeta.getLore().get(0)).replace("Channel: ", "")); ChatChannel channel = MineverseChat.ccInfo.getChannelInfo(ChatColor.stripColor(skullMeta.getLore().get(0)).replace("Channel: ", ""));
int hash = Integer.parseInt(ChatColor.stripColor(skullMeta.getLore().get(1).replace("Hash: ", ""))); int hash = Integer.parseInt(ChatColor.stripColor(skullMeta.getLore().get(1).replace("Hash: ", "")));
if(item.getType() == Material.BARRIER) { if(VersionHandler.is1_7_10()) {
mcp.getPlayer().closeInventory(); if(item.getType() == Material.BEDROCK) {
mcp.getPlayer().closeInventory();
}
}
else {
if(item.getType() == Material.BARRIER) {
mcp.getPlayer().closeInventory();
}
} }
for(GuiSlot g : MineverseChat.gsInfo.getGuiSlots()) { for(GuiSlot g : MineverseChat.gsInfo.getGuiSlots()) {
if(g.getIcon() == item.getType() && g.getDurability() == item.getDurability() && g.getSlot() == e.getSlot()) { if(g.getIcon() == item.getType() && g.getDurability() == item.getDurability() && g.getSlot() == e.getSlot()) {

View File

@ -101,13 +101,17 @@ public class PacketListener extends PacketAdapter {
try { try {
//System.out.println(chat.getJson()); //System.out.println(chat.getJson());
//message = TextComponent.toPlainText(new TextComponent(chat.getJson())); //message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
message = (String) MineverseChat.messageMethod.invoke(chat.getHandle(), new Object[0]); //message = (String) MineverseChat.messageMethod.invoke(chat.getHandle(), new Object[0]);
//System.out.println(MineverseChat.lastChatMessage.getMessage()); //System.out.println(MineverseChat.lastChatMessage.getMessage());
message = MineverseChat.toPlainText(chat.getHandle(), chat.getHandleType());
//System.out.println(chat.getJson());
//System.out.println(message + " message");
hash = message != null ? message.hashCode() : -1; hash = message != null ? message.hashCode() : -1;
} }
catch(Exception ex) { catch(Exception ex) {
message = TextComponent.toPlainText(new TextComponent(chat.getJson())); message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
System.out.println(message); //System.out.println(message);
//ex.printStackTrace(); //ex.printStackTrace();
} }
ChatMessage lastChatMessage = MineverseChat.lastChatMessage; ChatMessage lastChatMessage = MineverseChat.lastChatMessage;
@ -128,8 +132,11 @@ public class PacketListener extends PacketAdapter {
}*/ }*/
if(mcp.getPlayer().hasPermission("venturechat.gui")) { if(mcp.getPlayer().hasPermission("venturechat.gui")) {
json = json.substring(0, json.length() - 1); json = json.substring(0, json.length() - 1);
json += "," + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("guiicon")), ",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/vchatgui " + lastChatMessage.getSender() + " " + lastChatMessage.getChannel() + " " + lastChatMessage.getHash() +"\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("guitext"))) + "]}}") + "]}]"; json += "," + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("guiicon")), ",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/vchatgui " + lastChatMessage.getSender() + " " + lastChatMessage.getChannel() + " " + lastChatMessage.getHash() +"\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("guitext"))) + "]}}") + "]";
//json += ",{\"text\":\"" + "json test" + "\"}]";
} }
//System.out.println("," + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("guiicon")), ",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/vchatgui " + lastChatMessage.getSender() + " " + lastChatMessage.getChannel() + " " + lastChatMessage.getHash() +"\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("guitext"))) + "]}}") + "]}]");
//System.out.println("\nline break\n");
//System.out.println(json); //System.out.println(json);
chat.setJson(json); chat.setJson(json);
event.getPacket().getChatComponents().write(0, chat); event.getPacket().getChatComponents().write(0, chat);

View File

@ -1,5 +1,5 @@
name: VentureChat name: VentureChat
version: 2.12.4 version: 2.14.0
main: mineverse.Aust1n46.chat.MineverseChat main: mineverse.Aust1n46.chat.MineverseChat
depend: [Vault, ProtocolLib, PlaceholderAPI] depend: [Vault, ProtocolLib, PlaceholderAPI]
softdepend: [Towny, Factions, Heroes] softdepend: [Towny, Factions, Heroes]