diff --git a/src/main/java/kamkeel/network/enums/EnumClientPacket.java b/src/main/java/kamkeel/network/enums/EnumClientPacket.java index 24f677c84..4dd58bfcf 100644 --- a/src/main/java/kamkeel/network/enums/EnumClientPacket.java +++ b/src/main/java/kamkeel/network/enums/EnumClientPacket.java @@ -1,4 +1,63 @@ package kamkeel.network.enums; +// Packets to the Client public enum EnumClientPacket { + CHAT, + MESSAGE, + PARTY_MESSAGE, + SYNCRECIPES_ADD, + SYNCRECIPES_WORKBENCH, + DIALOG, + QUEST_COMPLETION, + EDIT_NPC, + PLAY_SOUND, + PLAY_MUSIC, + UPDATE_NPC, + ROLE, + GUI, + SCRIPTED_PARTICLE, + PARTICLE, + DELETE_NPC, + SCROLL_LIST, + SCROLL_DATA, + SCROLL_DATA_PART, + SCROLL_GROUP, + SCROLL_GROUP_PART, + SCROLL_SELECTED, + GUI_REDSTONE, + GUI_WAYPOINT, + GUI_DATA, + GUI_ERROR, + GUI_CLOSE, + VILLAGER_LIST, + CHATBUBBLE, + SYNCRECIPES_CARPENTRYBENCH, + CLONE, + CLONER, + TELEPORTER, + OPEN_BOOK, + DIALOG_DUMMY, + CONFIG, + ISGUIOPEN, + SCRIPT_OVERLAY_DATA, + SCRIPT_OVERLAY_CLOSE, + SWING_PLAYER_ARM, + UPDATE_ITEM, + PLAYER_UPDATE_SKIN_OVERLAYS, + UPDATE_ANIMATIONS, + OVERLAY_QUEST_TRACKING, + DISABLE_MOUSE_INPUT, + PLAY_SOUND_TO, + PLAY_SOUND_TO_NO_ID, + STOP_SOUND_FOR, + PAUSE_SOUNDS, + CONTINUE_SOUNDS, + STOP_SOUNDS, + SYNC_WEAPON, + MARK_DATA, + SYNC_ADD, SYNC_END, SYNC_UPDATE, SYNC_REMOVE, SYNC_PLAYER, + SYNC_CONFIG, + DBC_FORM, + LARGE_NBT_PART, LARGE_NBT_END, + PARTY_DATA } diff --git a/src/main/java/kamkeel/network/packets/client/ChatBubblePacket.java b/src/main/java/kamkeel/network/packets/client/ChatBubblePacket.java new file mode 100644 index 000000000..7a2867e6f --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ChatBubblePacket.java @@ -0,0 +1,59 @@ +package kamkeel.network.packets.client; + +import cpw.mods.fml.relauncher.Side; +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ChatComponentTranslation; +import noppes.npcs.CustomNpcs; +import noppes.npcs.NoppesStringUtils; +import noppes.npcs.Server; +import noppes.npcs.client.RenderChatMessages; +import noppes.npcs.entity.EntityNPCInterface; + +import java.io.IOException; + +public final class ChatBubblePacket extends AbstractPacket { + public static final String packetName = "Client|ChatBubble"; + + public ChatBubblePacket() {} + + + @Override + public Enum getType() { + return EnumClientPacket.CHATBUBBLE; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + if(CustomNpcs.side() != Side.CLIENT) + return; + + Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(in.readInt()); + if(entity == null || !(entity instanceof EntityNPCInterface)) + return; + EntityNPCInterface npc = (EntityNPCInterface) entity; + if(npc.messages == null) + npc.messages = new RenderChatMessages(); + String text = NoppesStringUtils.formatText(Server.readString(in), player, npc); + npc.messages.addMessage(text, npc); + + if(in.readBoolean()) + player.addChatMessage(new ChatComponentTranslation(npc.getCommandSenderName() + ": " + text)); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ChatPacket.java b/src/main/java/kamkeel/network/packets/client/ChatPacket.java new file mode 100644 index 000000000..5aabefda8 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ChatPacket.java @@ -0,0 +1,48 @@ +package kamkeel.network.packets.client; + +import cpw.mods.fml.relauncher.Side; +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ChatComponentTranslation; +import noppes.npcs.CustomNpcs; +import noppes.npcs.Server; + +import java.io.IOException; + +public final class ChatPacket extends AbstractPacket { + public static final String packetName = "Client|Chat"; + + public ChatPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.CHAT; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + if(CustomNpcs.side() != Side.CLIENT) + return; + + StringBuilder message = new StringBuilder(); + String str; + while ((str = Server.readString(in)) != null && !str.isEmpty()) { + message.append(str); + } + player.addChatMessage(new ChatComponentTranslation(message.toString())); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ClonePacket.java b/src/main/java/kamkeel/network/packets/client/ClonePacket.java new file mode 100644 index 000000000..1719d2a20 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ClonePacket.java @@ -0,0 +1,41 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.client.gui.player.GuiNpcMobSpawnerAdd; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class ClonePacket extends AbstractPacket { + public static final String packetName = "Client|Clone"; + + public ClonePacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.CLONE; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NBTTagCompound nbt = Server.readNBT(in); + NoppesUtil.openGUI(player, new GuiNpcMobSpawnerAdd(nbt)); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ClonerPacket.java b/src/main/java/kamkeel/network/packets/client/ClonerPacket.java new file mode 100644 index 000000000..f4ae249fb --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ClonerPacket.java @@ -0,0 +1,41 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.CustomNpcs; +import noppes.npcs.constants.EnumGuiType; + +import java.io.IOException; + +public final class ClonerPacket extends AbstractPacket { + public static final String packetName = "Client|Cloner"; + + public ClonerPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.CLONER; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + int x = in.readInt(); + int y = in.readInt(); + int z = in.readInt(); + CustomNpcs.proxy.openGui(x, y, z, EnumGuiType.MobSpawner, player); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ConfigPacket.java b/src/main/java/kamkeel/network/packets/client/ConfigPacket.java new file mode 100644 index 000000000..d2b7f075c --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ConfigPacket.java @@ -0,0 +1,61 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.Server; +import noppes.npcs.client.ClientProxy; +import noppes.npcs.config.ConfigClient; +import noppes.npcs.client.ClientProxy.FontContainer; +import net.minecraft.util.ChatComponentTranslation; + +import java.io.IOException; + +public final class ConfigPacket extends AbstractPacket { + public static final String packetName = "Client|Config"; + + public ConfigPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.CONFIG; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + int configType = in.readInt(); + if (configType == 0) { // Font Configuration + String font = Server.readString(in); + int size = in.readInt(); + if (!font.isEmpty()) { + ConfigClient.FontType = font; + ConfigClient.FontSize = size; + ClientProxy.Font = new FontContainer(ConfigClient.FontType, ConfigClient.FontSize); + + ConfigClient.FontTypeProperty.set(ConfigClient.FontType); + ConfigClient.FontSizeProperty.set(ConfigClient.FontSize); + + if (ConfigClient.config.hasChanged()) { + ConfigClient.config.save(); + } + + player.addChatMessage(new ChatComponentTranslation("Font set to %s", ClientProxy.Font.getName())); + } else { + player.addChatMessage(new ChatComponentTranslation("Current font is %s", ClientProxy.Font.getName())); + } + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ContinueSoundsPacket.java b/src/main/java/kamkeel/network/packets/client/ContinueSoundsPacket.java new file mode 100644 index 000000000..16dd9319c --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ContinueSoundsPacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.client.controllers.ScriptSoundController; + +import java.io.IOException; + +public final class ContinueSoundsPacket extends AbstractPacket { + public static final String packetName = "Client|ContinueSounds"; + + public ContinueSoundsPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.CONTINUE_SOUNDS; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + ScriptSoundController.Instance.continueAllSounds(); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/DBCFormPacket.java b/src/main/java/kamkeel/network/packets/client/DBCFormPacket.java new file mode 100644 index 000000000..e0c11af5b --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/DBCFormPacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class DBCFormPacket extends AbstractPacket { + public static final String packetName = "Client|DBCForm"; + + public DBCFormPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.DBC_FORM; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NoppesUtil.handleFormEnd(); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/DeleteNpcPacket.java b/src/main/java/kamkeel/network/packets/client/DeleteNpcPacket.java new file mode 100644 index 000000000..98537c751 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/DeleteNpcPacket.java @@ -0,0 +1,42 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.entity.EntityNPCInterface; + +import java.io.IOException; + +public final class DeleteNpcPacket extends AbstractPacket { + public static final String packetName = "Client|DeleteNpc"; + + public DeleteNpcPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.DELETE_NPC; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(in.readInt()); + if (entity instanceof EntityNPCInterface) { + ((EntityNPCInterface) entity).delete(); + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/DialogDummyPacket.java b/src/main/java/kamkeel/network/packets/client/DialogDummyPacket.java new file mode 100644 index 000000000..221f66aa8 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/DialogDummyPacket.java @@ -0,0 +1,41 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.Server; +import noppes.npcs.client.NoppesUtil; +import noppes.npcs.entity.EntityDialogNpc; + +import java.io.IOException; + +public final class DialogDummyPacket extends AbstractPacket { + public static final String packetName = "Client|DialogDummy"; + + public DialogDummyPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.DIALOG_DUMMY; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + EntityDialogNpc npc = new EntityDialogNpc(player.worldObj); + npc.display.name = Server.readString(in); + NoppesUtil.openDialog(Server.readNBT(in), npc, player); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/DialogPacket.java b/src/main/java/kamkeel/network/packets/client/DialogPacket.java new file mode 100644 index 000000000..343b07891 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/DialogPacket.java @@ -0,0 +1,45 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.Server; +import noppes.npcs.client.NoppesUtil; +import noppes.npcs.entity.EntityNPCInterface; + +import java.io.IOException; + +public final class DialogPacket extends AbstractPacket { + public static final String packetName = "Client|Dialog"; + + public DialogPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.DIALOG; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(in.readInt()); + if (!(entity instanceof EntityNPCInterface)) { + return; + } + NoppesUtil.openDialog(Server.readNBT(in), (EntityNPCInterface) entity, player); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/DisableMouseInputPacket.java b/src/main/java/kamkeel/network/packets/client/DisableMouseInputPacket.java new file mode 100644 index 000000000..4723b4b3a --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/DisableMouseInputPacket.java @@ -0,0 +1,48 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.client.ClientEventHandler; + +import java.io.IOException; + +public final class DisableMouseInputPacket extends AbstractPacket { + public static final String packetName = "Client|DisableMouseInput"; + + public DisableMouseInputPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.DISABLE_MOUSE_INPUT; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + long duration = in.readLong(); + String parsedButtons = Server.readString(in); + + if (parsedButtons == null || parsedButtons.isEmpty()) { + ClientEventHandler.disabledButtonTimes.put(-1, duration); + return; + } + + String[] buttonIds = parsedButtons.split(";"); + for (String button : buttonIds) { + ClientEventHandler.disabledButtonTimes.put(Integer.parseInt(button), duration); + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/EditNpcPacket.java b/src/main/java/kamkeel/network/packets/client/EditNpcPacket.java new file mode 100644 index 000000000..4fc5accc5 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/EditNpcPacket.java @@ -0,0 +1,44 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.client.NoppesUtil; +import noppes.npcs.entity.EntityNPCInterface; + +import java.io.IOException; + +public final class EditNpcPacket extends AbstractPacket { + public static final String packetName = "Client|EditNpc"; + + public EditNpcPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.EDIT_NPC; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(in.readInt()); + if (!(entity instanceof EntityNPCInterface)) { + return; + } + NoppesUtil.setLastNpc((EntityNPCInterface) entity); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/GuiClosePacket.java b/src/main/java/kamkeel/network/packets/client/GuiClosePacket.java new file mode 100644 index 000000000..1b76f3e49 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/GuiClosePacket.java @@ -0,0 +1,48 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.client.gui.util.IGuiClose; + +import java.io.IOException; + +public final class GuiClosePacket extends AbstractPacket { + public static final String packetName = "Client|GuiClose"; + + public GuiClosePacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.GUI_CLOSE; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + GuiScreen gui = Minecraft.getMinecraft().currentScreen; + if (gui instanceof IGuiClose) { + int closeCode = in.readInt(); + NBTTagCompound nbt = Server.readNBT(in); + ((IGuiClose) gui).setClose(closeCode, nbt); + } + Minecraft.getMinecraft().displayGuiScreen(null); + Minecraft.getMinecraft().setIngameFocus(); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/GuiDataPacket.java b/src/main/java/kamkeel/network/packets/client/GuiDataPacket.java new file mode 100644 index 000000000..d75690875 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/GuiDataPacket.java @@ -0,0 +1,52 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.client.gui.util.GuiContainerNPCInterface; +import noppes.npcs.client.gui.util.GuiNPCInterface; +import noppes.npcs.client.gui.util.IGuiData; + +import java.io.IOException; + +public final class GuiDataPacket extends AbstractPacket { + public static final String packetName = "Client|GuiData"; + + public GuiDataPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.GUI_DATA; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + GuiScreen gui = Minecraft.getMinecraft().currentScreen; + if (gui instanceof GuiNPCInterface && ((GuiNPCInterface) gui).hasSubGui()) { + gui = (GuiScreen) ((GuiNPCInterface) gui).getSubGui(); + } else if (gui instanceof GuiContainerNPCInterface && ((GuiContainerNPCInterface) gui).hasSubGui()) { + gui = (GuiScreen) ((GuiContainerNPCInterface) gui).getSubGui(); + } + if (gui instanceof IGuiData) { + NBTTagCompound nbt = Server.readNBT(in); + ((IGuiData) gui).setGuiData(nbt); + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/GuiErrorPacket.java b/src/main/java/kamkeel/network/packets/client/GuiErrorPacket.java new file mode 100644 index 000000000..474584379 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/GuiErrorPacket.java @@ -0,0 +1,46 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.client.gui.util.IGuiError; + +import java.io.IOException; + +public final class GuiErrorPacket extends AbstractPacket { + public static final String packetName = "Client|GuiError"; + + public GuiErrorPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.GUI_ERROR; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + GuiScreen gui = Minecraft.getMinecraft().currentScreen; + if (gui instanceof IGuiError) { + int errorCode = in.readInt(); + NBTTagCompound nbt = Server.readNBT(in); + ((IGuiError) gui).setError(errorCode, nbt); + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/GuiPacket.java b/src/main/java/kamkeel/network/packets/client/GuiPacket.java new file mode 100644 index 000000000..ece5bbcfa --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/GuiPacket.java @@ -0,0 +1,42 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.CustomNpcs; +import noppes.npcs.constants.EnumGuiType; + +import java.io.IOException; + +public final class GuiPacket extends AbstractPacket { + public static final String packetName = "Client|Gui"; + + public GuiPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.GUI; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + EnumGuiType gui = EnumGuiType.values()[in.readInt()]; + int x = in.readInt(); + int y = in.readInt(); + int z = in.readInt(); + CustomNpcs.proxy.openGui(null, gui, x, y, z); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/GuiRedstonePacket.java b/src/main/java/kamkeel/network/packets/client/GuiRedstonePacket.java new file mode 100644 index 000000000..de0c3bd4c --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/GuiRedstonePacket.java @@ -0,0 +1,40 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class GuiRedstonePacket extends AbstractPacket { + public static final String packetName = "Client|GuiRedstone"; + + public GuiRedstonePacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.GUI_REDSTONE; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NBTTagCompound nbt = Server.readNBT(in); + NoppesUtil.saveRedstoneBlock(player, nbt); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/GuiWaypointPacket.java b/src/main/java/kamkeel/network/packets/client/GuiWaypointPacket.java new file mode 100644 index 000000000..4553e2040 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/GuiWaypointPacket.java @@ -0,0 +1,40 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class GuiWaypointPacket extends AbstractPacket { + public static final String packetName = "Client|GuiWaypoint"; + + public GuiWaypointPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.GUI_WAYPOINT; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NBTTagCompound nbt = Server.readNBT(in); + NoppesUtil.saveWayPointBlock(player, nbt); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/IsGuiOpenPacket.java b/src/main/java/kamkeel/network/packets/client/IsGuiOpenPacket.java new file mode 100644 index 000000000..8f44e2602 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/IsGuiOpenPacket.java @@ -0,0 +1,39 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class IsGuiOpenPacket extends AbstractPacket { + public static final String packetName = "Client|IsGuiOpen"; + + public IsGuiOpenPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.ISGUIOPEN; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + boolean isGuiOpen = Minecraft.getMinecraft().currentScreen != null; + NoppesUtil.isGUIOpen(isGuiOpen); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/LargeNBTEndPacket.java b/src/main/java/kamkeel/network/packets/client/LargeNBTEndPacket.java new file mode 100644 index 000000000..19dfe7a1f --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/LargeNBTEndPacket.java @@ -0,0 +1,38 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class LargeNBTEndPacket extends AbstractPacket { + public static final String packetName = "Client|LargeNBTEnd"; + + public LargeNBTEndPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.LARGE_NBT_END; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + // Finalize handling of large NBT data (if needed). + NoppesUtil.handleLargeData(null); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/LargeNbtPartPacket.java b/src/main/java/kamkeel/network/packets/client/LargeNbtPartPacket.java new file mode 100644 index 000000000..2c4813adf --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/LargeNbtPartPacket.java @@ -0,0 +1,39 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class LargeNBTPartPacket extends AbstractPacket { + public static final String packetName = "Client|LargeNBTPart"; + + public LargeNBTPartPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.LARGE_NBT_PART; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + byte[] chunk = new byte[in.readShort()]; + in.readBytes(chunk); + NoppesUtil.handleLargeData(chunk); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/MarkDataPacket.java b/src/main/java/kamkeel/network/packets/client/MarkDataPacket.java new file mode 100644 index 000000000..a6412982b --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/MarkDataPacket.java @@ -0,0 +1,47 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.controllers.data.MarkData; +import noppes.npcs.entity.EntityNPCInterface; + +import java.io.IOException; + +public final class MarkDataPacket extends AbstractPacket { + public static final String packetName = "Client|MarkData"; + + public MarkDataPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.MARK_DATA; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + Entity entity = player.worldObj.getEntityByID(in.readInt()); + if (!(entity instanceof EntityNPCInterface)) return; + + EntityNPCInterface npc = (EntityNPCInterface) entity; + NBTTagCompound nbt = Server.readNBT(in); + MarkData data = MarkData.get(npc); + data.setNBT(nbt); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/MessagePacket.java b/src/main/java/kamkeel/network/packets/client/MessagePacket.java new file mode 100644 index 000000000..97d05da72 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/MessagePacket.java @@ -0,0 +1,53 @@ +package kamkeel.network.packets.client; + +import cpw.mods.fml.common.ObfuscationReflectionHelper; +import cpw.mods.fml.relauncher.Side; +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.achievement.GuiAchievement; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.stats.Achievement; +import net.minecraft.util.StatCollector; +import noppes.npcs.CustomItems; +import noppes.npcs.CustomNpcs; +import noppes.npcs.Server; + +import java.io.IOException; + +public final class MessagePacket extends AbstractPacket { + public static final String packetName = "Client|Message"; + + public MessagePacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.MESSAGE; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + if(CustomNpcs.side() != Side.CLIENT) + return; + + String description = StatCollector.translateToLocal(Server.readString(in)); + String message = Server.readString(in); + Achievement achievement = new Achievement(message, description); + GuiAchievement guiAchievement = Minecraft.getMinecraft().guiAchievement; + guiAchievement.func_146256_a(achievement); + ObfuscationReflectionHelper.setPrivateValue(GuiAchievement.class, guiAchievement, achievement.getDescription(), 4); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/OpenBookPacket.java b/src/main/java/kamkeel/network/packets/client/OpenBookPacket.java new file mode 100644 index 000000000..7e1c613f4 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/OpenBookPacket.java @@ -0,0 +1,46 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.client.gui.player.GuiBook; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class OpenBookPacket extends AbstractPacket { + public static final String packetName = "Client|OpenBook"; + + public OpenBookPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.OPEN_BOOK; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + int x = in.readInt(); + int y = in.readInt(); + int z = in.readInt(); + NBTTagCompound nbt = Server.readNBT(in); + ItemStack book = ItemStack.loadItemStackFromNBT(nbt); + NoppesUtil.openGUI(player, new GuiBook(player, book, x, y, z)); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/OverlayQuestTrackingPacket.java b/src/main/java/kamkeel/network/packets/client/OverlayQuestTrackingPacket.java new file mode 100644 index 000000000..487f163dc --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/OverlayQuestTrackingPacket.java @@ -0,0 +1,47 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.client.gui.OverlayQuestTracking; +import noppes.npcs.client.ClientCacheHandler; + +import java.io.IOException; + +public final class OverlayQuestTrackingPacket extends AbstractPacket { + public static final String packetName = "Client|OverlayQuestTracking"; + + public OverlayQuestTrackingPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.OVERLAY_QUEST_TRACKING; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + try { + NBTTagCompound nbt = Server.readNBT(in); + ClientCacheHandler.questTrackingOverlay = new OverlayQuestTracking(Minecraft.getMinecraft()); + ClientCacheHandler.questTrackingOverlay.setOverlayData(nbt); + } catch (IOException e) { + ClientCacheHandler.questTrackingOverlay = null; + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ParticlePacket.java b/src/main/java/kamkeel/network/packets/client/ParticlePacket.java new file mode 100644 index 000000000..ae7230ee4 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ParticlePacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.client.NoppesUtil; + +import java.io.IOException; + +public final class ParticlePacket extends AbstractPacket { + public static final String packetName = "Client|Particle"; + + public ParticlePacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.PARTICLE; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NoppesUtil.spawnParticle(in); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/PartyDataPacket.java b/src/main/java/kamkeel/network/packets/client/PartyDataPacket.java new file mode 100644 index 000000000..95b2f68eb --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/PartyDataPacket.java @@ -0,0 +1,52 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.client.gui.util.GuiContainerNPCInterface; +import noppes.npcs.client.gui.util.GuiNPCInterface; +import noppes.npcs.client.gui.util.IPartyData; + +import java.io.IOException; + +public final class PartyDataPacket extends AbstractPacket { + public static final String packetName = "Client|PartyData"; + + public PartyDataPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.PARTY_DATA; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + GuiScreen gui = Minecraft.getMinecraft().currentScreen; + if (gui instanceof GuiNPCInterface && ((GuiNPCInterface) gui).hasSubGui()) { + gui = (GuiScreen) ((GuiNPCInterface) gui).getSubGui(); + } else if (gui instanceof GuiContainerNPCInterface && ((GuiContainerNPCInterface) gui).hasSubGui()) { + gui = (GuiScreen) ((GuiContainerNPCInterface) gui).getSubGui(); + } + if (gui instanceof IPartyData) { + NBTTagCompound nbt = Server.readNBT(in); + ((IPartyData) gui).setPartyData(nbt); + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/PauseSoundsPacket.java b/src/main/java/kamkeel/network/packets/client/PauseSoundsPacket.java new file mode 100644 index 000000000..8693a67f2 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/PauseSoundsPacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.client.controllers.ScriptSoundController; + +import java.io.IOException; + +public final class PauseSoundsPacket extends AbstractPacket { + public static final String packetName = "Client|PauseSounds"; + + public PauseSoundsPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.PAUSE_SOUNDS; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + ScriptSoundController.Instance.pauseAllSounds(); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/PlayMusicPacket.java b/src/main/java/kamkeel/network/packets/client/PlayMusicPacket.java new file mode 100644 index 000000000..c12770bc0 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/PlayMusicPacket.java @@ -0,0 +1,39 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.Server; +import noppes.npcs.client.controllers.MusicController; + +import java.io.IOException; + +public final class PlayMusicPacket extends AbstractPacket { + public static final String packetName = "Client|PlayMusic"; + + public PlayMusicPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.PLAY_MUSIC; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + String musicName = Server.readString(in); + MusicController.Instance.playMusicBackground(musicName, player, Integer.MAX_VALUE); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/PlaySoundPacket.java b/src/main/java/kamkeel/network/packets/client/PlaySoundPacket.java new file mode 100644 index 000000000..7f2996508 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/PlaySoundPacket.java @@ -0,0 +1,42 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.Server; +import noppes.npcs.client.controllers.MusicController; + +import java.io.IOException; + +public final class PlaySoundPacket extends AbstractPacket { + public static final String packetName = "Client|PlaySound"; + + public PlaySoundPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.PLAY_SOUND; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + String soundName = Server.readString(in); + float x = in.readFloat(); + float y = in.readFloat(); + float z = in.readFloat(); + MusicController.Instance.playSound(soundName, x, y, z); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/PlaySoundToNoIdPacket.java b/src/main/java/kamkeel/network/packets/client/PlaySoundToNoIdPacket.java new file mode 100644 index 000000000..00b052338 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/PlaySoundToNoIdPacket.java @@ -0,0 +1,42 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.client.controllers.ScriptClientSound; +import noppes.npcs.client.controllers.ScriptSoundController; + +import java.io.IOException; + +public final class PlaySoundToNoIdPacket extends AbstractPacket { + public static final String packetName = "Client|PlaySoundToNoId"; + + public PlaySoundToNoIdPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.PLAY_SOUND_TO_NO_ID; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NBTTagCompound nbt = Server.readNBT(in); + ScriptClientSound sound = ScriptClientSound.fromScriptSound(nbt, player.worldObj); + ScriptSoundController.Instance.playSound(sound); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/PlaySoundToPacket.java b/src/main/java/kamkeel/network/packets/client/PlaySoundToPacket.java new file mode 100644 index 000000000..da0baead2 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/PlaySoundToPacket.java @@ -0,0 +1,43 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.client.controllers.ScriptClientSound; +import noppes.npcs.client.controllers.ScriptSoundController; + +import java.io.IOException; + +public final class PlaySoundToPacket extends AbstractPacket { + public static final String packetName = "Client|PlaySoundTo"; + + public PlaySoundToPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.PLAY_SOUND_TO; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + int soundId = in.readInt(); + NBTTagCompound nbt = Server.readNBT(in); + ScriptClientSound sound = ScriptClientSound.fromScriptSound(nbt, player.worldObj); + ScriptSoundController.Instance.playSound(soundId, sound); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/PlayerUpdateSkinOverlaysPacket.java b/src/main/java/kamkeel/network/packets/client/PlayerUpdateSkinOverlaysPacket.java new file mode 100644 index 000000000..8bb3f6e11 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/PlayerUpdateSkinOverlaysPacket.java @@ -0,0 +1,45 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class PlayerUpdateSkinOverlaysPacket extends AbstractPacket { + public static final String packetName = "Client|PlayerUpdateSkinOverlays"; + + public PlayerUpdateSkinOverlaysPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.PLAYER_UPDATE_SKIN_OVERLAYS; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + String playerName = Server.readString(in); + NBTTagCompound nbt = Server.readNBT(in); + EntityPlayer sendingPlayer = Minecraft.getMinecraft().theWorld.getPlayerEntityByName(playerName); + if (sendingPlayer != null) { + NoppesUtil.updateSkinOverlayData(sendingPlayer, nbt); + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/QuestCompletionPacket.java b/src/main/java/kamkeel/network/packets/client/QuestCompletionPacket.java new file mode 100644 index 000000000..e395facec --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/QuestCompletionPacket.java @@ -0,0 +1,38 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.Server; +import noppes.npcs.client.NoppesUtil; + +import java.io.IOException; + +public final class QuestCompletionPacket extends AbstractPacket { + public static final String packetName = "Client|QuestCompletion"; + + public QuestCompletionPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.QUEST_COMPLETION; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NoppesUtil.guiQuestCompletion(player, Server.readNBT(in)); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/RolePacket.java b/src/main/java/kamkeel/network/packets/client/RolePacket.java new file mode 100644 index 000000000..431cd25c8 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/RolePacket.java @@ -0,0 +1,49 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.NoppesUtil; +import noppes.npcs.entity.EntityNPCInterface; + +import java.io.IOException; + +public final class RolePacket extends AbstractPacket { + public static final String packetName = "Client|Role"; + + public RolePacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.ROLE; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NBTTagCompound compound = Server.readNBT(in); + Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(compound.getInteger("EntityId")); + if (entity instanceof EntityNPCInterface) { + EntityNPCInterface npc = (EntityNPCInterface) entity; + npc.advanced.setRole(compound.getInteger("Role")); + npc.roleInterface.readFromNBT(compound); + NoppesUtil.setLastNpc(npc); + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ScriptOverlayClosePacket.java b/src/main/java/kamkeel/network/packets/client/ScriptOverlayClosePacket.java new file mode 100644 index 000000000..f40193ceb --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ScriptOverlayClosePacket.java @@ -0,0 +1,38 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.client.ClientCacheHandler; + +import java.io.IOException; + +public final class ScriptOverlayClosePacket extends AbstractPacket { + public static final String packetName = "Client|ScriptOverlayClose"; + + public ScriptOverlayClosePacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SCRIPT_OVERLAY_CLOSE; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + int overlayId = in.readInt(); + ClientCacheHandler.customOverlays.remove(overlayId); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ScriptOverlayDataPacket.java b/src/main/java/kamkeel/network/packets/client/ScriptOverlayDataPacket.java new file mode 100644 index 000000000..9952be1f9 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ScriptOverlayDataPacket.java @@ -0,0 +1,42 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.Server; +import noppes.npcs.client.gui.customoverlay.OverlayCustom; +import noppes.npcs.client.ClientCacheHandler; + +import java.io.IOException; + +public final class ScriptOverlayDataPacket extends AbstractPacket { + public static final String packetName = "Client|ScriptOverlayData"; + + public ScriptOverlayDataPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SCRIPT_OVERLAY_DATA; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + OverlayCustom overlayCustom = new OverlayCustom(Minecraft.getMinecraft()); + overlayCustom.setOverlayData(Server.readNBT(in)); + ClientCacheHandler.customOverlays.put(overlayCustom.overlay.getID(), overlayCustom); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ScriptedParticlePacket.java b/src/main/java/kamkeel/network/packets/client/ScriptedParticlePacket.java new file mode 100644 index 000000000..ea8150148 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ScriptedParticlePacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.client.NoppesUtil; + +import java.io.IOException; + +public final class ScriptedParticlePacket extends AbstractPacket { + public static final String packetName = "Client|ScriptedParticle"; + + public ScriptedParticlePacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SCRIPTED_PARTICLE; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NoppesUtil.spawnScriptedParticle(player, in); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ScrollDataPacket.java b/src/main/java/kamkeel/network/packets/client/ScrollDataPacket.java new file mode 100644 index 000000000..412c86daf --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ScrollDataPacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class ScrollDataPacket extends AbstractPacket { + public static final String packetName = "Client|ScrollData"; + + public ScrollDataPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SCROLL_DATA; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NoppesUtil.setScrollData(in); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ScrollDataPartPacket.java b/src/main/java/kamkeel/network/packets/client/ScrollDataPartPacket.java new file mode 100644 index 000000000..29c3d611a --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ScrollDataPartPacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class ScrollDataPartPacket extends AbstractPacket { + public static final String packetName = "Client|ScrollDataPart"; + + public ScrollDataPartPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SCROLL_DATA_PART; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NoppesUtil.addScrollData(in); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ScrollGroupPacket.java b/src/main/java/kamkeel/network/packets/client/ScrollGroupPacket.java new file mode 100644 index 000000000..60c770a3e --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ScrollGroupPacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class ScrollGroupPacket extends AbstractPacket { + public static final String packetName = "Client|ScrollGroup"; + + public ScrollGroupPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SCROLL_GROUP; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NoppesUtil.setScrollGroup(in); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ScrollGroupPartPacket.java b/src/main/java/kamkeel/network/packets/client/ScrollGroupPartPacket.java new file mode 100644 index 000000000..16bcabd76 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ScrollGroupPartPacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.NoppesUtil; + +import java.io.IOException; + +public final class ScrollGroupPartPacket extends AbstractPacket { + public static final String packetName = "Client|ScrollGroupPart"; + + public ScrollGroupPartPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SCROLL_GROUP_PART; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NoppesUtil.addScrollGroup(in); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ScrollListPacket.java b/src/main/java/kamkeel/network/packets/client/ScrollListPacket.java new file mode 100644 index 000000000..531899ac4 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ScrollListPacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.client.NoppesUtil; + +import java.io.IOException; + +public final class ScrollListPacket extends AbstractPacket { + public static final String packetName = "Client|ScrollList"; + + public ScrollListPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SCROLL_LIST; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NoppesUtil.setScrollList(in); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/ScrollSelectedPacket.java b/src/main/java/kamkeel/network/packets/client/ScrollSelectedPacket.java new file mode 100644 index 000000000..7de8e9fed --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/ScrollSelectedPacket.java @@ -0,0 +1,44 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.Server; +import noppes.npcs.client.gui.util.IScrollData; + +import java.io.IOException; + +public final class ScrollSelectedPacket extends AbstractPacket { + public static final String packetName = "Client|ScrollSelected"; + + public ScrollSelectedPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SCROLL_SELECTED; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + GuiScreen gui = Minecraft.getMinecraft().currentScreen; + if (gui instanceof IScrollData) { + String selected = Server.readString(in); + ((IScrollData) gui).setSelected(selected); + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/StopSoundForPacket.java b/src/main/java/kamkeel/network/packets/client/StopSoundForPacket.java new file mode 100644 index 000000000..ec066645b --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/StopSoundForPacket.java @@ -0,0 +1,38 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.client.controllers.ScriptSoundController; + +import java.io.IOException; + +public final class StopSoundForPacket extends AbstractPacket { + public static final String packetName = "Client|StopSoundFor"; + + public StopSoundForPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.STOP_SOUND_FOR; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + int soundId = in.readInt(); + ScriptSoundController.Instance.stopSound(soundId); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/StopSoundsPacket.java b/src/main/java/kamkeel/network/packets/client/StopSoundsPacket.java new file mode 100644 index 000000000..14db7f7cc --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/StopSoundsPacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.client.controllers.ScriptSoundController; + +import java.io.IOException; + +public final class StopSoundsPacket extends AbstractPacket { + public static final String packetName = "Client|StopSounds"; + + public StopSoundsPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.STOP_SOUNDS; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + ScriptSoundController.Instance.stopAllSounds(); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/SwingPlayerArmPacket.java b/src/main/java/kamkeel/network/packets/client/SwingPlayerArmPacket.java new file mode 100644 index 000000000..6ca1511b4 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/SwingPlayerArmPacket.java @@ -0,0 +1,37 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; + +import java.io.IOException; + +public final class SwingPlayerArmPacket extends AbstractPacket { + public static final String packetName = "Client|SwingPlayerArm"; + + public SwingPlayerArmPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SWING_PLAYER_ARM; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + Minecraft.getMinecraft().thePlayer.swingItem(); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/SyncAddPacket.java b/src/main/java/kamkeel/network/packets/client/SyncAddPacket.java new file mode 100644 index 000000000..beb107093 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/SyncAddPacket.java @@ -0,0 +1,41 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.controllers.SyncController; + +import java.io.IOException; + +public final class SyncAddPacket extends AbstractPacket { + public static final String packetName = "Client|SyncAdd"; + + public SyncAddPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SYNC_ADD; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + int synctype = in.readInt(); + NBTTagCompound compound = Server.readNBT(in); + SyncController.clientSync(synctype, compound, false); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/SyncConfigPacket.java b/src/main/java/kamkeel/network/packets/client/SyncConfigPacket.java new file mode 100644 index 000000000..b621b36bd --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/SyncConfigPacket.java @@ -0,0 +1,40 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.controllers.SyncController; + +import java.io.IOException; + +public final class SyncConfigPacket extends AbstractPacket { + public static final String packetName = "Client|SyncConfig"; + + public SyncConfigPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SYNC_CONFIG; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NBTTagCompound configNBT = Server.readNBT(in); + SyncController.receiveConfigs(configNBT); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/SyncEndPacket.java b/src/main/java/kamkeel/network/packets/client/SyncEndPacket.java new file mode 100644 index 000000000..6e6f6a27f --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/SyncEndPacket.java @@ -0,0 +1,41 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.controllers.SyncController; + +import java.io.IOException; + +public final class SyncEndPacket extends AbstractPacket { + public static final String packetName = "Client|SyncEnd"; + + public SyncEndPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SYNC_END; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + int synctype = in.readInt(); + NBTTagCompound compound = Server.readNBT(in); + SyncController.clientSync(synctype, compound, true); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/SyncPlayerPacket.java b/src/main/java/kamkeel/network/packets/client/SyncPlayerPacket.java new file mode 100644 index 000000000..e477ad261 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/SyncPlayerPacket.java @@ -0,0 +1,38 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.client.NoppesUtil; + +import java.io.IOException; + +public final class SyncPlayerPacket extends AbstractPacket { + public static final String packetName = "Client|SyncPlayer"; + + public SyncPlayerPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SYNC_PLAYER; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + boolean sync = in.readBoolean(); + NoppesUtil.handlePlayerDataEnd(sync); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/SyncRecipesAddPacket.java b/src/main/java/kamkeel/network/packets/client/SyncRecipesAddPacket.java new file mode 100644 index 000000000..996b1987c --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/SyncRecipesAddPacket.java @@ -0,0 +1,51 @@ +package kamkeel.network.packets.client; + +import cpw.mods.fml.relauncher.Side; +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagList; +import noppes.npcs.CustomNpcs; +import noppes.npcs.Server; +import noppes.npcs.controllers.RecipeController; +import noppes.npcs.controllers.data.RecipeCarpentry; + +import java.io.IOException; + +public final class SyncRecipesAddPacket extends AbstractPacket { + public static final String packetName = "Client|SyncRecipesAdd"; + + public SyncRecipesAddPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SYNCRECIPES_ADD; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + if(CustomNpcs.side() != Side.CLIENT) + return; + + NBTTagList list = Server.readNBT(in).getTagList("recipes", 10); + if (list != null) { + for (int i = 0; i < list.tagCount(); i++) { + RecipeCarpentry recipe = RecipeCarpentry.read(list.getCompoundTagAt(i)); + RecipeController.syncRecipes.put(recipe.id, recipe); + } + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/SyncRecipesCarpentryBenchPacket.java b/src/main/java/kamkeel/network/packets/client/SyncRecipesCarpentryBenchPacket.java new file mode 100644 index 000000000..ef474ef7d --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/SyncRecipesCarpentryBenchPacket.java @@ -0,0 +1,38 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.controllers.RecipeController; + +import java.io.IOException; + +public final class SyncRecipesCarpentryBenchPacket extends AbstractPacket { + public static final String packetName = "Client|SyncRecipesCarpentryBench"; + + public SyncRecipesCarpentryBenchPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SYNCRECIPES_CARPENTRYBENCH; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + RecipeController.Instance.anvilRecipes = RecipeController.syncRecipes; + RecipeController.syncRecipes.clear(); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/SyncRecipesWorkbenchPacket.java b/src/main/java/kamkeel/network/packets/client/SyncRecipesWorkbenchPacket.java new file mode 100644 index 000000000..46773c030 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/SyncRecipesWorkbenchPacket.java @@ -0,0 +1,38 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.controllers.RecipeController; + +import java.io.IOException; + +public final class SyncRecipesWorkbenchPacket extends AbstractPacket { + public static final String packetName = "Client|SyncRecipesWorkbench"; + + public SyncRecipesWorkbenchPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SYNCRECIPES_WORKBENCH; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + RecipeController.reloadGlobalRecipes(RecipeController.syncRecipes); + RecipeController.syncRecipes.clear(); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/SyncRemovePacket.java b/src/main/java/kamkeel/network/packets/client/SyncRemovePacket.java new file mode 100644 index 000000000..f4de94de7 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/SyncRemovePacket.java @@ -0,0 +1,39 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.controllers.SyncController; + +import java.io.IOException; + +public final class SyncRemovePacket extends AbstractPacket { + public static final String packetName = "Client|SyncRemove"; + + public SyncRemovePacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SYNC_REMOVE; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + int synctype = in.readInt(); + int id = in.readInt(); + SyncController.clientSyncRemove(synctype, id); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/SyncUpdatePacket.java b/src/main/java/kamkeel/network/packets/client/SyncUpdatePacket.java new file mode 100644 index 000000000..3efa0a982 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/SyncUpdatePacket.java @@ -0,0 +1,41 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.controllers.SyncController; + +import java.io.IOException; + +public final class SyncUpdatePacket extends AbstractPacket { + public static final String packetName = "Client|SyncUpdate"; + + public SyncUpdatePacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SYNC_UPDATE; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + int synctype = in.readInt(); + NBTTagCompound compound = Server.readNBT(in); + SyncController.clientSyncUpdate(synctype, compound, in); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/SyncWeaponPacket.java b/src/main/java/kamkeel/network/packets/client/SyncWeaponPacket.java new file mode 100644 index 000000000..71886c043 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/SyncWeaponPacket.java @@ -0,0 +1,48 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.entity.EntityNPCInterface; + +import java.io.IOException; + +public final class SyncWeaponPacket extends AbstractPacket { + public static final String packetName = "Client|SyncWeapon"; + + public SyncWeaponPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.SYNC_WEAPON; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + Entity entity = player.worldObj.getEntityByID(in.readInt()); + if (!(entity instanceof EntityNPCInterface)) return; + + EntityNPCInterface npc = (EntityNPCInterface) entity; + int weaponSlotIndex = in.readInt(); + NBTTagCompound nbt = Server.readNBT(in); + ItemStack stack = ItemStack.loadItemStackFromNBT(nbt); + npc.inventory.weapons.put(weaponSlotIndex, stack); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/TeleporterPacket.java b/src/main/java/kamkeel/network/packets/client/TeleporterPacket.java new file mode 100644 index 000000000..2ffd14b3a --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/TeleporterPacket.java @@ -0,0 +1,38 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import noppes.npcs.CustomNpcs; +import noppes.npcs.constants.EnumGuiType; + +import java.io.IOException; + +public final class TeleporterPacket extends AbstractPacket { + public static final String packetName = "Client|Teleporter"; + + public TeleporterPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.TELEPORTER; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + CustomNpcs.proxy.openGui(null, EnumGuiType.NpcDimensions); + } +} diff --git a/src/main/java/kamkeel/network/packets/client/UpdateAnimationsPacket.java b/src/main/java/kamkeel/network/packets/client/UpdateAnimationsPacket.java new file mode 100644 index 000000000..99ba8f582 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/UpdateAnimationsPacket.java @@ -0,0 +1,77 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.client.ClientCacheHandler; +import noppes.npcs.controllers.data.Animation; +import noppes.npcs.controllers.data.AnimationData; +import noppes.npcs.entity.EntityNPCInterface; + +import java.io.IOException; + +public final class UpdateAnimationsPacket extends AbstractPacket { + public static final String packetName = "Client|UpdateAnimations"; + + public UpdateAnimationsPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.UPDATE_ANIMATIONS; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NBTTagCompound nbt = Server.readNBT(in); + AnimationData animationData = null; + + if (nbt.hasKey("EntityId")) { + Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(nbt.getInteger("EntityId")); + if (entity instanceof EntityNPCInterface) { + animationData = ((EntityNPCInterface) entity).display.animationData; + } + } else { + String playerName = Server.readString(in); + EntityPlayer sendingPlayer = Minecraft.getMinecraft().theWorld.getPlayerEntityByName(playerName); + if (sendingPlayer != null) { + if (!ClientCacheHandler.playerAnimations.containsKey(sendingPlayer.getUniqueID())) { + ClientCacheHandler.playerAnimations.put(sendingPlayer.getUniqueID(), new AnimationData(sendingPlayer)); + } + animationData = ClientCacheHandler.playerAnimations.get(sendingPlayer.getUniqueID()); + animationData.parent = sendingPlayer; + } + } + + if (animationData != null) { + int animationId; + if (nbt.hasKey("AnimationID")) { + animationId = nbt.getInteger("AnimationID"); + } else { + Animation animation = new Animation(); + animation.readFromNBT(nbt.getCompoundTag("Animation")); + ClientCacheHandler.animationCache.put(animation.getID(), animation); + animationId = animation.getID(); + } + + animationData.setAnimation(ClientCacheHandler.animationCache.get(animationId)); + animationData.readFromNBT(nbt); + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/UpdateNpcPacket.java b/src/main/java/kamkeel/network/packets/client/UpdateNpcPacket.java new file mode 100644 index 000000000..1243f8c7f --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/UpdateNpcPacket.java @@ -0,0 +1,45 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.Server; +import noppes.npcs.entity.EntityNPCInterface; + +import java.io.IOException; + +public final class UpdateNpcPacket extends AbstractPacket { + public static final String packetName = "Client|UpdateNpc"; + + public UpdateNpcPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.UPDATE_NPC; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + NBTTagCompound compound = Server.readNBT(in); + Entity entity = Minecraft.getMinecraft().theWorld.getEntityByID(compound.getInteger("EntityId")); + if (entity instanceof EntityNPCInterface) { + ((EntityNPCInterface) entity).readSpawnData(compound); + } + } +} diff --git a/src/main/java/kamkeel/network/packets/client/VillagerListPacket.java b/src/main/java/kamkeel/network/packets/client/VillagerListPacket.java new file mode 100644 index 000000000..a763c3fe4 --- /dev/null +++ b/src/main/java/kamkeel/network/packets/client/VillagerListPacket.java @@ -0,0 +1,41 @@ +package kamkeel.network.packets.client; + +import io.netty.buffer.ByteBuf; +import kamkeel.network.AbstractPacket; +import kamkeel.network.PacketChannel; +import kamkeel.network.PacketHandler; +import kamkeel.network.enums.EnumClientPacket; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.network.PacketBuffer; +import noppes.npcs.Server; +import noppes.npcs.ServerEventsHandler; +import net.minecraft.village.MerchantRecipeList; + +import java.io.IOException; + +public final class VillagerListPacket extends AbstractPacket { + public static final String packetName = "Client|VillagerList"; + + public VillagerListPacket() {} + + @Override + public Enum getType() { + return EnumClientPacket.VILLAGER_LIST; + } + + @Override + public PacketChannel getChannel() { + return PacketHandler.CLIENT_PACKET; + } + + @Override + public void sendData(ByteBuf out) throws IOException { + // TODO: Send Packet + } + + @Override + public void receiveData(ByteBuf in, EntityPlayer player) throws IOException { + MerchantRecipeList recipes = MerchantRecipeList.func_151390_b(new PacketBuffer(in)); + ServerEventsHandler.Merchant.setRecipes(recipes); + } +} diff --git a/src/main/java/noppes/npcs/Server.java b/src/main/java/noppes/npcs/Server.java index e1aa4c361..317448523 100644 --- a/src/main/java/noppes/npcs/Server.java +++ b/src/main/java/noppes/npcs/Server.java @@ -143,5 +143,4 @@ public class Server { return null; } } - }