package me.eccentric_nz.TARDIS.chatGUI;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.wrappers.WrappedChatComponent;
import java.lang.reflect.InvocationTargetException;
import me.eccentric_nz.TARDIS.TARDIS;
import me.eccentric_nz.TARDIS.utility.TARDISMessage;
import org.bukkit.entity.Player;
public class TARDISUpdateChatGUI {
private final TARDIS plugin;
public TARDISUpdateChatGUI(TARDIS plugin) {
this.plugin = plugin;
}
public boolean showInterface(Player player, String[] args) {
if (args.length == 1) {
TARDISMessage.send(player, "UPDATE_SECTION");
player.sendMessage("------");
for (String s : plugin.getJsonKeeper().getSections()) {
sendJSON(s, player);
}
player.sendMessage("------");
return true;
}
if (args[1].equalsIgnoreCase("controls")) {
TARDISMessage.send(player, "UPDATE_SECTION");
player.sendMessage("------");
for (String c : plugin.getJsonKeeper().getControls()) {
sendJSON(c, player);
}
player.sendMessage("------");
return true;
}
if (args[1].equalsIgnoreCase("interfaces")) {
TARDISMessage.send(player, "UPDATE_INTERFACE");
player.sendMessage("------");
for (String i : plugin.getJsonKeeper().getInterfaces()) {
sendJSON(i, player);
}
player.sendMessage("------");
return true;
}
if (args[1].equalsIgnoreCase("locations")) {
TARDISMessage.send(player, "UPDATE_LOCATION");
player.sendMessage("------");
for (String l : plugin.getJsonKeeper().getLocations()) {
sendJSON(l, player);
}
player.sendMessage("------");
return true;
}
if (args[1].equalsIgnoreCase("others")) {
TARDISMessage.send(player, "UPDATE_OTHER");
player.sendMessage("------");
for (String o : plugin.getJsonKeeper().getOthers()) {
sendJSON(o, player);
}
player.sendMessage("------");
return true;
}
return false;
}
public static void sendJSON(String json, Player p) {
PacketContainer chat = new PacketContainer(PacketType.Play.Server.CHAT);
chat.getChatComponents().write(0, WrappedChatComponent.fromJson(json));
try {
ProtocolLibrary.getProtocolManager().sendServerPacket(p, chat);
} catch (InvocationTargetException e) {
TARDIS.plugin.debug("Error sending JSON chat: " + e.getMessage());
}
}
}