From 9841d158ffc4025be9875b23595eb73b77bb12be Mon Sep 17 00:00:00 2001 From: Kam Date: Sun, 2 Feb 2025 22:31:39 -0500 Subject: [PATCH] Cloner Packets --- .../kamkeel/npcs/network/PacketHandler.java | 11 ++- .../npcs/network/enums/EnumRequestPacket.java | 3 +- .../request/clone/CloneAllTagsPacket.java | 62 ++++++++++++++ .../clone/CloneAllTagsShortPacket.java | 60 +++++++++++++ .../request/clone/ClonePreSavePacket.java | 69 +++++++++++++++ .../request/clone/CloneRemovePacket.java | 84 ++++++++++++++++++ .../request/clone/CloneSavePacket.java | 85 +++++++++++++++++++ .../request/clone/CloneTagListPacket.java | 66 ++++++++++++++ .../java/noppes/npcs/PacketHandlerServer.java | 76 +---------------- .../npcs/client/gui/GuiNpcMobSpawner.java | 10 +-- .../npcs/client/gui/GuiNpcMobSpawnerAdd.java | 11 ++- .../npcs/constants/EnumPacketServer.java | 10 --- 12 files changed, 449 insertions(+), 98 deletions(-) create mode 100644 src/main/java/kamkeel/npcs/network/packets/request/clone/CloneAllTagsPacket.java create mode 100644 src/main/java/kamkeel/npcs/network/packets/request/clone/CloneAllTagsShortPacket.java create mode 100644 src/main/java/kamkeel/npcs/network/packets/request/clone/ClonePreSavePacket.java create mode 100644 src/main/java/kamkeel/npcs/network/packets/request/clone/CloneRemovePacket.java create mode 100644 src/main/java/kamkeel/npcs/network/packets/request/clone/CloneSavePacket.java create mode 100644 src/main/java/kamkeel/npcs/network/packets/request/clone/CloneTagListPacket.java diff --git a/src/main/java/kamkeel/npcs/network/PacketHandler.java b/src/main/java/kamkeel/npcs/network/PacketHandler.java index 08a491ae5..c8b44640e 100644 --- a/src/main/java/kamkeel/npcs/network/PacketHandler.java +++ b/src/main/java/kamkeel/npcs/network/PacketHandler.java @@ -21,9 +21,7 @@ import kamkeel.npcs.network.packets.request.bank.BankGetPacket; import kamkeel.npcs.network.packets.request.bank.BankRemovePacket; import kamkeel.npcs.network.packets.request.bank.BankSavePacket; import kamkeel.npcs.network.packets.request.bank.BanksGetPacket; -import kamkeel.npcs.network.packets.request.clone.CloneListPacket; -import kamkeel.npcs.network.packets.request.clone.MobSpawnerPacket; -import kamkeel.npcs.network.packets.request.clone.SpawnMobPacket; +import kamkeel.npcs.network.packets.request.clone.*; import kamkeel.npcs.network.packets.request.customgui.CustomGuiButtonPacket; import kamkeel.npcs.network.packets.request.customgui.CustomGuiClosePacket; import kamkeel.npcs.network.packets.request.customgui.CustomGuiUnfocusedPacket; @@ -114,6 +112,13 @@ public class PacketHandler { REQUEST_PACKET.registerPacket(new CloneListPacket()); REQUEST_PACKET.registerPacket(new SpawnMobPacket()); REQUEST_PACKET.registerPacket(new MobSpawnerPacket()); + REQUEST_PACKET.registerPacket(new ClonePreSavePacket()); + REQUEST_PACKET.registerPacket(new CloneSavePacket()); + REQUEST_PACKET.registerPacket(new CloneRemovePacket()); + REQUEST_PACKET.registerPacket(new CloneTagListPacket()); + REQUEST_PACKET.registerPacket(new CloneAllTagsPacket()); + REQUEST_PACKET.registerPacket(new CloneAllTagsShortPacket()); + // Linked Packets REQUEST_PACKET.registerPacket(new LinkedGetAllPacket()); diff --git a/src/main/java/kamkeel/npcs/network/enums/EnumRequestPacket.java b/src/main/java/kamkeel/npcs/network/enums/EnumRequestPacket.java index e08a9c284..e3fc88b4b 100644 --- a/src/main/java/kamkeel/npcs/network/enums/EnumRequestPacket.java +++ b/src/main/java/kamkeel/npcs/network/enums/EnumRequestPacket.java @@ -151,5 +151,6 @@ public enum EnumRequestPacket { TraderMarketSave, - CloneList, ServerUpdateSkinOverlays + CloneList, + CloneSave, CloneRemove, CloneTagList, CloneAllTags, CloneAllTagsShort, ClonePreSave } diff --git a/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneAllTagsPacket.java b/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneAllTagsPacket.java new file mode 100644 index 000000000..6aafe22dc --- /dev/null +++ b/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneAllTagsPacket.java @@ -0,0 +1,62 @@ +package kamkeel.npcs.network.packets.request.clone; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import kamkeel.npcs.network.AbstractPacket; +import kamkeel.npcs.network.PacketChannel; +import kamkeel.npcs.network.PacketHandler; +import kamkeel.npcs.network.PacketUtil; +import kamkeel.npcs.network.enums.EnumItemPacketType; +import kamkeel.npcs.network.enums.EnumRequestPacket; +import kamkeel.npcs.network.packets.data.large.GuiDataPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import noppes.npcs.controllers.ServerTagMapController; +import noppes.npcs.controllers.TagController; +import noppes.npcs.controllers.data.Tag; +import noppes.npcs.controllers.data.TagMap; + +import java.io.IOException; +import java.util.HashSet; + +public final class CloneAllTagsPacket extends AbstractPacket { + public static String packetName = "Request|CloneAllTags"; + + public CloneAllTagsPacket() {} + + @Override + public Enum getType() { + return EnumRequestPacket.CloneAllTags; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.REQUEST_PACKET; + } + + @SideOnly(Side.CLIENT) + @Override + public void sendData(ByteBuf out) throws IOException {} + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + if (!(player instanceof EntityPlayerMP)) + return; + if (!PacketUtil.verifyItemPacket(player, EnumItemPacketType.CLONER)) + return; + + NBTTagCompound compound = new NBTTagCompound(); + HashSet validTags = TagController.getInstance().getAllTags(); + NBTTagList validTagList = new NBTTagList(); + for(Tag tag : validTags){ + NBTTagCompound tagCompound = new NBTTagCompound(); + tag.writeNBT(tagCompound); + validTagList.appendTag(tagCompound); + } + compound.setTag("AllTags", validTagList); + GuiDataPacket.sendGuiData((EntityPlayerMP) player, compound); + } +} diff --git a/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneAllTagsShortPacket.java b/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneAllTagsShortPacket.java new file mode 100644 index 000000000..127a7caf2 --- /dev/null +++ b/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneAllTagsShortPacket.java @@ -0,0 +1,60 @@ +package kamkeel.npcs.network.packets.request.clone; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import kamkeel.npcs.network.AbstractPacket; +import kamkeel.npcs.network.PacketChannel; +import kamkeel.npcs.network.PacketHandler; +import kamkeel.npcs.network.PacketUtil; +import kamkeel.npcs.network.enums.EnumItemPacketType; +import kamkeel.npcs.network.enums.EnumRequestPacket; +import kamkeel.npcs.network.packets.data.large.GuiDataPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import noppes.npcs.controllers.TagController; +import noppes.npcs.controllers.data.Tag; + +import java.io.IOException; +import java.util.HashSet; + +public final class CloneAllTagsShortPacket extends AbstractPacket { + public static String packetName = "Request|CloneAllTagsShort"; + + public CloneAllTagsShortPacket() {} + + @Override + public Enum getType() { + return EnumRequestPacket.CloneAllTagsShort; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.REQUEST_PACKET; + } + + @SideOnly(Side.CLIENT) + @Override + public void sendData(ByteBuf out) throws IOException {} + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + if (!(player instanceof EntityPlayerMP)) + return; + if (!PacketUtil.verifyItemPacket(player, EnumItemPacketType.CLONER)) + return; + + NBTTagCompound compound = new NBTTagCompound(); + HashSet validTags = TagController.getInstance().getAllTags(); + NBTTagList validTagList = new NBTTagList(); + for(Tag tag : validTags){ + NBTTagCompound tagCompound = new NBTTagCompound(); + tag.writeShortNBT(tagCompound); + validTagList.appendTag(tagCompound); + } + compound.setTag("ShortTags", validTagList); + GuiDataPacket.sendGuiData((EntityPlayerMP) player, compound); + } +} diff --git a/src/main/java/kamkeel/npcs/network/packets/request/clone/ClonePreSavePacket.java b/src/main/java/kamkeel/npcs/network/packets/request/clone/ClonePreSavePacket.java new file mode 100644 index 000000000..e769219c8 --- /dev/null +++ b/src/main/java/kamkeel/npcs/network/packets/request/clone/ClonePreSavePacket.java @@ -0,0 +1,69 @@ +package kamkeel.npcs.network.packets.request.clone; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import kamkeel.npcs.network.AbstractPacket; +import kamkeel.npcs.network.PacketChannel; +import kamkeel.npcs.network.PacketHandler; +import kamkeel.npcs.network.PacketUtil; +import kamkeel.npcs.network.enums.EnumItemPacketType; +import kamkeel.npcs.network.enums.EnumRequestPacket; +import kamkeel.npcs.network.packets.data.large.GuiDataPacket; +import kamkeel.npcs.util.ByteBufUtils; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.CustomNpcsPermissions; +import noppes.npcs.controllers.ServerCloneController; + +import java.io.IOException; + +public final class ClonePreSavePacket extends AbstractPacket { + public static String packetName = "Request|ClonePreSave"; + + private String name; + private int tab; + + public ClonePreSavePacket() {} + + public ClonePreSavePacket(String name, int tab) { + this.name = name; + this.tab = tab; + } + + @Override + public Enum getType() { + return EnumRequestPacket.ClonePreSave; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.REQUEST_PACKET; + } + + @Override + public CustomNpcsPermissions.Permission getPermission(){ + return CustomNpcsPermissions.NPC_CLONE; + } + + @SideOnly(Side.CLIENT) + @Override + public void sendData(ByteBuf out) throws IOException { + ByteBufUtils.writeString(out, this.name); + out.writeInt(tab); + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + if (!(player instanceof EntityPlayerMP)) + return; + if (!PacketUtil.verifyItemPacket(player, EnumItemPacketType.CLONER)) + return; + + boolean bo = ServerCloneController.Instance.getCloneData(null, ByteBufUtils.readString(in), in.readInt()) != null; + NBTTagCompound compound = new NBTTagCompound(); + compound.setBoolean("NameExists", bo); + GuiDataPacket.sendGuiData((EntityPlayerMP) player, compound); + } +} diff --git a/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneRemovePacket.java b/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneRemovePacket.java new file mode 100644 index 000000000..44e33ccc9 --- /dev/null +++ b/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneRemovePacket.java @@ -0,0 +1,84 @@ +package kamkeel.npcs.network.packets.request.clone; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import kamkeel.npcs.network.AbstractPacket; +import kamkeel.npcs.network.PacketChannel; +import kamkeel.npcs.network.PacketHandler; +import kamkeel.npcs.network.PacketUtil; +import kamkeel.npcs.network.enums.EnumItemPacketType; +import kamkeel.npcs.network.enums.EnumRequestPacket; +import kamkeel.npcs.network.packets.data.large.GuiDataPacket; +import kamkeel.npcs.util.ByteBufUtils; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTTagString; +import noppes.npcs.CustomNpcsPermissions; +import noppes.npcs.controllers.ServerCloneController; + +import java.io.IOException; + +public final class CloneRemovePacket extends AbstractPacket { + public static String packetName = "Request|CloneRemove"; + + private int tab; + private String name; + + public CloneRemovePacket() {} + + public CloneRemovePacket(int tab, String name) { + this.tab = tab; + this.name = name; + } + + @Override + public Enum getType() { + return EnumRequestPacket.CloneRemove; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.REQUEST_PACKET; + } + + @Override + public CustomNpcsPermissions.Permission getPermission(){ + return CustomNpcsPermissions.NPC_CLONE; + } + + @SideOnly(Side.CLIENT) + @Override + public void sendData(ByteBuf out) throws IOException { + out.writeInt(tab); + ByteBufUtils.writeString(out, this.name); + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + if (!(player instanceof EntityPlayerMP)) + return; + if (!PacketUtil.verifyItemPacket(player, EnumItemPacketType.CLONER)) + return; + + int tab = in.readInt(); + ServerCloneController.Instance.removeClone(ByteBufUtils.readString(in), tab); + + NBTTagList list = new NBTTagList(); + + for(String name : ServerCloneController.Instance.getClones(tab)) + list.appendTag(new NBTTagString(name)); + + NBTTagList listDate = new NBTTagList(); + for(String name : ServerCloneController.Instance.getClonesDate(tab)) + listDate.appendTag(new NBTTagString(name)); + + NBTTagCompound compound = new NBTTagCompound(); + compound.setTag("List", list); + compound.setTag("ListDate", listDate); + + GuiDataPacket.sendGuiData((EntityPlayerMP) player, compound); + } +} diff --git a/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneSavePacket.java b/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneSavePacket.java new file mode 100644 index 000000000..e757a9079 --- /dev/null +++ b/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneSavePacket.java @@ -0,0 +1,85 @@ +package kamkeel.npcs.network.packets.request.clone; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import kamkeel.npcs.network.AbstractPacket; +import kamkeel.npcs.network.PacketChannel; +import kamkeel.npcs.network.PacketHandler; +import kamkeel.npcs.network.PacketUtil; +import kamkeel.npcs.network.enums.EnumItemPacketType; +import kamkeel.npcs.network.enums.EnumRequestPacket; +import kamkeel.npcs.util.ByteBufUtils; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import noppes.npcs.CustomNpcsPermissions; +import noppes.npcs.controllers.PlayerDataController; +import noppes.npcs.controllers.ServerCloneController; +import noppes.npcs.controllers.data.PlayerData; + +import java.io.IOException; + +public final class CloneSavePacket extends AbstractPacket { + public static String packetName = "Request|CloneSave"; + + private String name; + private int tab; + private NBTTagCompound tagExtra; + private NBTTagCompound tagCompound; + + public CloneSavePacket() {} + + public CloneSavePacket(String name, int tab, NBTTagCompound tagExtra, NBTTagCompound tagCompound) { + this.name = name; + this.tab = tab; + this.tagExtra = tagExtra; + this.tagCompound = tagCompound; + } + + @Override + public Enum getType() { + return EnumRequestPacket.CloneSave; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.REQUEST_PACKET; + } + + @Override + public CustomNpcsPermissions.Permission getPermission(){ + return CustomNpcsPermissions.NPC_CLONE; + } + + @SideOnly(Side.CLIENT) + @Override + public void sendData(ByteBuf out) throws IOException { + ByteBufUtils.writeString(out, this.name); + out.writeInt(tab); + ByteBufUtils.writeNBT(out, this.tagExtra); + ByteBufUtils.writeNBT(out, this.tagCompound); + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + if (!(player instanceof EntityPlayerMP)) + return; + if (!PacketUtil.verifyItemPacket(player, EnumItemPacketType.CLONER)) + return; + + PlayerData data = PlayerDataController.Instance.getPlayerData(player); + if(data.cloned == null) + return; + + String name = ByteBufUtils.readString(in); + int tab = in.readInt(); + NBTTagCompound tagExtra = ByteBufUtils.readNBT(in); + NBTTagCompound tagCompound = ByteBufUtils.readNBT(in); + + NBTTagList tagList = tagCompound.getTagList("TagUUIDs", 8); + data.cloned.setTag("TagUUIDs", tagList); + ServerCloneController.Instance.addClone(data.cloned, name, tab, tagExtra); + } +} diff --git a/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneTagListPacket.java b/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneTagListPacket.java new file mode 100644 index 000000000..312831112 --- /dev/null +++ b/src/main/java/kamkeel/npcs/network/packets/request/clone/CloneTagListPacket.java @@ -0,0 +1,66 @@ +package kamkeel.npcs.network.packets.request.clone; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import kamkeel.npcs.network.AbstractPacket; +import kamkeel.npcs.network.PacketChannel; +import kamkeel.npcs.network.PacketHandler; +import kamkeel.npcs.network.PacketUtil; +import kamkeel.npcs.network.enums.EnumItemPacketType; +import kamkeel.npcs.network.enums.EnumRequestPacket; +import kamkeel.npcs.network.packets.data.large.GuiDataPacket; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTTagString; +import noppes.npcs.controllers.ServerCloneController; +import noppes.npcs.controllers.ServerTagMapController; +import noppes.npcs.controllers.data.TagMap; +import noppes.npcs.entity.EntityNPCInterface; + +import java.io.IOException; + +public final class CloneTagListPacket extends AbstractPacket { + public static String packetName = "Request|CloneTagList"; + + private int tab; + + public CloneTagListPacket(int tab) { + this.tab = tab; + } + + public CloneTagListPacket() {} + + @Override + public Enum getType() { + return EnumRequestPacket.CloneTagList; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.REQUEST_PACKET; + } + + @SideOnly(Side.CLIENT) + @Override + public void sendData(ByteBuf out) throws IOException { + out.writeInt(tab); + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + if (!(player instanceof EntityPlayerMP)) + return; + if (!PacketUtil.verifyItemPacket(player, EnumItemPacketType.CLONER)) + return; + + int tab = in.readInt(); + TagMap tagMap = ServerTagMapController.Instance.getTagMap(tab); + NBTTagCompound compound = new NBTTagCompound(); + compound.setTag("CloneTags", tagMap.writeNBT()); + GuiDataPacket.sendGuiData((EntityPlayerMP) player, compound); + } +} diff --git a/src/main/java/noppes/npcs/PacketHandlerServer.java b/src/main/java/noppes/npcs/PacketHandlerServer.java index 721d7de45..ee6c9050b 100644 --- a/src/main/java/noppes/npcs/PacketHandlerServer.java +++ b/src/main/java/noppes/npcs/PacketHandlerServer.java @@ -72,9 +72,7 @@ public class PacketHandlerServer{ warn(player, "tried to use custom npcs without a tool in hand, probably a hacker"); else { if (item != null) { - if (item.getItem() == CustomItems.cloner) - clonePackets(type, in, player); - else if (item.getItem() == CustomItems.teleporter) + if (item.getItem() == CustomItems.teleporter) featherPackets(type, in, player); else if (ConfigScript.canScript(player, CustomNpcsPermissions.SCRIPT)) { if (type == EnumPacketServer.EventScriptDataGet || type == EnumPacketServer.EventScriptDataSave) @@ -343,78 +341,6 @@ public class PacketHandlerServer{ } } - private void clonePackets(EnumPacketServer type, ByteBuf buffer, EntityPlayerMP player) throws IOException { - if(type == EnumPacketServer.ClonePreSave){ - boolean bo = ServerCloneController.Instance.getCloneData(null, ByteBufUtils.readString(buffer), buffer.readInt()) != null; - NBTTagCompound compound = new NBTTagCompound(); - compound.setBoolean("NameExists", bo); - GuiDataPacket.sendGuiData(player, compound); - } - else if(type == EnumPacketServer.CloneSave){ - PlayerData data = PlayerDataController.Instance.getPlayerData(player); - if(data.cloned == null) - return; - String name = ByteBufUtils.readString(buffer); - int tab = buffer.readInt(); - NBTTagCompound tagExtra = ByteBufUtils.readNBT(buffer); - NBTTagCompound tagCompound = ByteBufUtils.readNBT(buffer); - - NBTTagList tagList = tagCompound.getTagList("TagUUIDs", 8); - data.cloned.setTag("TagUUIDs", tagList); - ServerCloneController.Instance.addClone(data.cloned, name, tab, tagExtra); - } - else if(type == EnumPacketServer.CloneRemove){ - int tab = buffer.readInt(); - ServerCloneController.Instance.removeClone(ByteBufUtils.readString(buffer), tab); - - NBTTagList list = new NBTTagList(); - - for(String name : ServerCloneController.Instance.getClones(tab)) - list.appendTag(new NBTTagString(name)); - - NBTTagList listDate = new NBTTagList(); - for(String name : ServerCloneController.Instance.getClonesDate(tab)) - listDate.appendTag(new NBTTagString(name)); - - NBTTagCompound compound = new NBTTagCompound(); - compound.setTag("List", list); - compound.setTag("ListDate", listDate); - - GuiDataPacket.sendGuiData(player, compound); - } - else if (type == EnumPacketServer.CloneTagList) { - int tab = buffer.readInt(); - TagMap tagMap = ServerTagMapController.Instance.getTagMap(tab); - NBTTagCompound compound = new NBTTagCompound(); - compound.setTag("CloneTags", tagMap.writeNBT()); - GuiDataPacket.sendGuiData(player, compound); - } - else if (type == EnumPacketServer.CloneAllTags) { - NBTTagCompound compound = new NBTTagCompound(); - HashSet validTags = TagController.getInstance().getAllTags(); - NBTTagList validTagList = new NBTTagList(); - for(Tag tag : validTags){ - NBTTagCompound tagCompound = new NBTTagCompound(); - tag.writeNBT(tagCompound); - validTagList.appendTag(tagCompound); - } - compound.setTag("AllTags", validTagList); - GuiDataPacket.sendGuiData(player, compound); - } - else if (type == EnumPacketServer.CloneAllTagsShort) { - NBTTagCompound compound = new NBTTagCompound(); - HashSet validTags = TagController.getInstance().getAllTags(); - NBTTagList validTagList = new NBTTagList(); - for(Tag tag : validTags){ - NBTTagCompound tagCompound = new NBTTagCompound(); - tag.writeShortNBT(tagCompound); - validTagList.appendTag(tagCompound); - } - compound.setTag("ShortTags", validTagList); - GuiDataPacket.sendGuiData(player, compound); - } - } - private void warn(EntityPlayer player, String warning){ MinecraftServer.getServer().logWarning(player.getCommandSenderName() + ": " + warning); } diff --git a/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawner.java b/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawner.java index 717968e39..f6ae0de13 100644 --- a/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawner.java +++ b/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawner.java @@ -1,9 +1,7 @@ package noppes.npcs.client.gui; import kamkeel.npcs.network.PacketClient; -import kamkeel.npcs.network.packets.request.clone.CloneListPacket; -import kamkeel.npcs.network.packets.request.clone.MobSpawnerPacket; -import kamkeel.npcs.network.packets.request.clone.SpawnMobPacket; +import kamkeel.npcs.network.packets.request.clone.*; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.Entity; @@ -66,7 +64,7 @@ public class GuiNpcMobSpawner extends GuiNPCInterface implements IGuiData { this.closeOnEsc = true; setBackground("menubg.png"); - Client.sendData(EnumPacketServer.CloneAllTags, activeTab); + PacketClient.sendClient(new CloneAllTagsPacket()); } public void initGui() { @@ -191,7 +189,7 @@ public class GuiNpcMobSpawner extends GuiNPCInterface implements IGuiData { } private void showClones() { if(showingClones == 2){ - Client.sendData(EnumPacketServer.CloneTagList, activeTab); + PacketClient.sendClient(new CloneTagListPacket(activeTab)); PacketClient.sendClient(new CloneListPacket(activeTab)); return; } @@ -431,7 +429,7 @@ public class GuiNpcMobSpawner extends GuiNPCInterface implements IGuiData { if(id == 6){ if(scroll.getSelected() != null){ if(showingClones == 2){ - Client.sendData(EnumPacketServer.CloneRemove, activeTab, scroll.getSelected()); + PacketClient.sendClient(new CloneRemovePacket(activeTab, scroll.getSelected())); return; } ClientCloneController.Instance.removeClone(scroll.getSelected(), activeTab); diff --git a/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawnerAdd.java b/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawnerAdd.java index 877d06866..f817eb30b 100644 --- a/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawnerAdd.java +++ b/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawnerAdd.java @@ -1,5 +1,10 @@ package noppes.npcs.client.gui; +import kamkeel.npcs.network.PacketClient; +import kamkeel.npcs.network.PacketHandler; +import kamkeel.npcs.network.packets.request.clone.CloneAllTagsShortPacket; +import kamkeel.npcs.network.packets.request.clone.ClonePreSavePacket; +import kamkeel.npcs.network.packets.request.clone.CloneSavePacket; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiYesNo; @@ -58,7 +63,7 @@ public class GuiNpcMobSpawnerAdd extends GuiNPCInterface implements GuiYesNoCall addTagUUIDs = new HashSet<>(); } if(isNPC){ - Client.sendData(EnumPacketServer.CloneAllTagsShort); + PacketClient.sendClient(new CloneAllTagsShortPacket()); } } @@ -102,7 +107,7 @@ public class GuiNpcMobSpawnerAdd extends GuiNPCInterface implements GuiYesNoCall confirmClicked(true, 0); } else - Client.sendData(EnumPacketServer.ClonePreSave, name, tab); + PacketClient.sendClient(new ClonePreSavePacket(name, tab)); } if(id == 1){ close(); @@ -145,7 +150,7 @@ public class GuiNpcMobSpawnerAdd extends GuiNPCInterface implements GuiYesNoCall if(isNPC){ compounder.setTag("TagUUIDs", tagsCompound); } - Client.sendData(EnumPacketServer.CloneSave, name, tab, extraTags, compounder); + PacketClient.sendClient(new CloneSavePacket(name, tab, extraTags, compounder)); } close(); diff --git a/src/main/java/noppes/npcs/constants/EnumPacketServer.java b/src/main/java/noppes/npcs/constants/EnumPacketServer.java index 7dc795de0..80ca0590f 100644 --- a/src/main/java/noppes/npcs/constants/EnumPacketServer.java +++ b/src/main/java/noppes/npcs/constants/EnumPacketServer.java @@ -3,16 +3,6 @@ package noppes.npcs.constants; import noppes.npcs.CustomNpcsPermissions; public enum EnumPacketServer { - MobSpawner(CustomNpcsPermissions.SPAWNER_CREATE), - - ClonePreSave(CustomNpcsPermissions.NPC_CLONE), - CloneSave(CustomNpcsPermissions.NPC_CLONE), - CloneRemove(CustomNpcsPermissions.NPC_CLONE), - CloneList, - CloneTagList, - CloneAllTags, - CloneAllTagsShort, - ScriptGlobalGuiDataSave(CustomNpcsPermissions.SCRIPT_GLOBAL, false), ScriptGlobalGuiDataGet(false),