From 09c57a3d355232a6f788835b912be18ae2652c24 Mon Sep 17 00:00:00 2001 From: Astoria Date: Thu, 6 Apr 2023 09:08:46 -0500 Subject: [PATCH] Sync chip states! Working on chunk load, not after changing block. PROGRESS --- .../net/brokenmoon/afloydwiremod/WireMod.java | 8 +- .../api/AbstractWireTileEntity.java | 10 +- .../mixin/MixinEntityPlayerMP.java | 7 +- .../mixin/MixinNetClientHandler.java | 35 ++- .../mixin/MixinNetServerHandler.java | 18 +- .../mixinInterfaces/INetHandler.java | 10 +- .../packet/WiremodPacketSyncIO.java | 273 ++++++++++++++++++ ...t.java => WiremodProgrammerGuiPacket.java} | 14 +- .../packet/WiremodWiringGuiPacket.java | 58 ++++ 9 files changed, 404 insertions(+), 29 deletions(-) create mode 100644 src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodPacketSyncIO.java rename src/main/java/net/brokenmoon/afloydwiremod/packet/{WiremodGuiPacket.java => WiremodProgrammerGuiPacket.java} (73%) create mode 100644 src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodWiringGuiPacket.java diff --git a/src/main/java/net/brokenmoon/afloydwiremod/WireMod.java b/src/main/java/net/brokenmoon/afloydwiremod/WireMod.java index 02f8185..9198280 100644 --- a/src/main/java/net/brokenmoon/afloydwiremod/WireMod.java +++ b/src/main/java/net/brokenmoon/afloydwiremod/WireMod.java @@ -3,8 +3,10 @@ package net.brokenmoon.afloydwiremod; import net.brokenmoon.afloydwiremod.api.AbstractWireTileEntity; import net.brokenmoon.afloydwiremod.item.ToolWiring; import net.brokenmoon.afloydwiremod.mixin.AccessorPacket; -import net.brokenmoon.afloydwiremod.packet.WiremodGuiPacket; +import net.brokenmoon.afloydwiremod.packet.WiremodPacketSyncIO; +import net.brokenmoon.afloydwiremod.packet.WiremodProgrammerGuiPacket; import net.brokenmoon.afloydwiremod.packet.WiremodProgrammerPacket; +import net.brokenmoon.afloydwiremod.packet.WiremodWiringGuiPacket; import net.brokenmoon.afloydwiremod.ter.TERDisplay; import net.brokenmoon.afloydwiremod.ter.TERWire; import net.brokenmoon.afloydwiremod.tile.ChipTile; @@ -25,8 +27,10 @@ import turniplabs.halplibe.helper.ItemHelper; public class WireMod implements ModInitializer { public WireMod(){ - AccessorPacket.callAddIdClassMapping(109, true, true, WiremodGuiPacket.class); + AccessorPacket.callAddIdClassMapping(109, true, true, WiremodProgrammerGuiPacket.class); AccessorPacket.callAddIdClassMapping(110, true, true, WiremodProgrammerPacket.class); + AccessorPacket.callAddIdClassMapping(111, true, true, WiremodWiringGuiPacket.class); + AccessorPacket.callAddIdClassMapping(112, true, true, WiremodPacketSyncIO.class); } public static final String MOD_ID = "afloydwiremod"; public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); diff --git a/src/main/java/net/brokenmoon/afloydwiremod/api/AbstractWireTileEntity.java b/src/main/java/net/brokenmoon/afloydwiremod/api/AbstractWireTileEntity.java index 5f47be1..72e70f1 100644 --- a/src/main/java/net/brokenmoon/afloydwiremod/api/AbstractWireTileEntity.java +++ b/src/main/java/net/brokenmoon/afloydwiremod/api/AbstractWireTileEntity.java @@ -1,9 +1,8 @@ package net.brokenmoon.afloydwiremod.api; import net.brokenmoon.afloydwiremod.gui.WiringButton; -import net.minecraft.src.NBTTagCompound; -import net.minecraft.src.NBTTagList; -import net.minecraft.src.TileEntity; +import net.brokenmoon.afloydwiremod.packet.WiremodPacketSyncIO; +import net.minecraft.src.*; public abstract class AbstractWireTileEntity extends TileEntity { public WiringButton[] inputs = null; @@ -129,4 +128,9 @@ public abstract class AbstractWireTileEntity extends TileEntity { } } } + + @Override + public Packet getDescriptionPacket() { + return new WiremodPacketSyncIO(this.xCoord, this.yCoord, this.zCoord, inputs, outputs); + } } diff --git a/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinEntityPlayerMP.java b/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinEntityPlayerMP.java index 4717ac7..a3469e2 100644 --- a/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinEntityPlayerMP.java +++ b/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinEntityPlayerMP.java @@ -3,7 +3,8 @@ package net.brokenmoon.afloydwiremod.mixin; import net.brokenmoon.afloydwiremod.api.AbstractWireTileEntity; import net.brokenmoon.afloydwiremod.item.ToolWiring; import net.brokenmoon.afloydwiremod.mixinInterfaces.IEntityPlayer; -import net.brokenmoon.afloydwiremod.packet.WiremodGuiPacket; +import net.brokenmoon.afloydwiremod.packet.WiremodProgrammerGuiPacket; +import net.brokenmoon.afloydwiremod.packet.WiremodWiringGuiPacket; import net.minecraft.src.*; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -14,11 +15,13 @@ public class MixinEntityPlayerMP implements IEntityPlayer { @Override public void displayGuiProgrammer(AbstractWireTileEntity chip) { - this.playerNetServerHandler.sendPacket(new WiremodGuiPacket(1, chip.xCoord, chip.yCoord, chip.zCoord)); + this.playerNetServerHandler.sendPacket(new WiremodProgrammerGuiPacket(chip.xCoord, chip.yCoord, chip.zCoord)); } @Override public void displayGuiWiring(ToolWiring tool, AbstractWireTileEntity chip, int x, int y, int z) { + System.out.println("E"); + this.playerNetServerHandler.sendPacket(new WiremodWiringGuiPacket(chip.xCoord, chip.yCoord, chip.zCoord, x, y, z)); } diff --git a/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinNetClientHandler.java b/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinNetClientHandler.java index faac9ed..1427e33 100644 --- a/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinNetClientHandler.java +++ b/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinNetClientHandler.java @@ -1,13 +1,18 @@ package net.brokenmoon.afloydwiremod.mixin; import net.brokenmoon.afloydwiremod.api.AbstractWireTileEntity; +import net.brokenmoon.afloydwiremod.gui.GuiWiring; +import net.brokenmoon.afloydwiremod.item.ToolWiring; import net.brokenmoon.afloydwiremod.mixinInterfaces.IEntityPlayer; import net.brokenmoon.afloydwiremod.mixinInterfaces.INetHandler; -import net.brokenmoon.afloydwiremod.packet.WiremodGuiPacket; +import net.brokenmoon.afloydwiremod.packet.WiremodPacketSyncIO; +import net.brokenmoon.afloydwiremod.packet.WiremodProgrammerGuiPacket; import net.brokenmoon.afloydwiremod.packet.WiremodProgrammerPacket; +import net.brokenmoon.afloydwiremod.packet.WiremodWiringGuiPacket; import net.brokenmoon.afloydwiremod.tileentity.ChipTileEntity; import net.minecraft.client.Minecraft; import net.minecraft.src.NetClientHandler; +import net.minecraft.src.TileEntity; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -16,16 +21,32 @@ public class MixinNetClientHandler implements INetHandler { @Shadow Minecraft mc; @Override - public void wiremodHandleOpenGUI(WiremodGuiPacket packet) { - switch (packet.guiType){ - case 1: - ((IEntityPlayer)this.mc.thePlayer).displayGuiProgrammer((ChipTileEntity)this.mc.theWorld.getBlockTileEntity(packet.x, packet.y, packet.z)); - break; - } + public void wiremodHandleOpenProgrammerGUI(WiremodProgrammerGuiPacket packet) { + ((IEntityPlayer)this.mc.thePlayer).displayGuiProgrammer((ChipTileEntity)this.mc.theWorld.getBlockTileEntity(packet.x, packet.y, packet.z)); } @Override public void wiremodHandleProgramTile(WiremodProgrammerPacket wiremodProgrammerPacket) { } + + @Override + public void wiremodHandleOpenWiringGUI(WiremodWiringGuiPacket packet) { + System.out.println(packet.x + " " + packet.y + " " + packet.z); + this.mc.displayGuiScreen(new GuiWiring(this.mc.thePlayer, ((ToolWiring)this.mc.thePlayer.inventory.getCurrentItem().getItem()), (AbstractWireTileEntity) this.mc.theWorld.getBlockTileEntity(packet.x, packet.y, packet.z), packet.x2, packet.y2, packet.z2)); + } + + @Override + public void handleIODisc(WiremodPacketSyncIO packet) { + boolean test = this.mc.theWorld.getBlockTileEntity(packet.x, packet.y, packet.z) instanceof ChipTileEntity; + System.out.println("Sync Try! " + " " + packet.x + " " + packet.y + " " + packet.z + " " + test); + TileEntity tileentity; + if (this.mc.theWorld.blockExists(packet.x, packet.y, packet.z) && (tileentity = this.mc.theWorld.getBlockTileEntity(packet.x, packet.y, packet.z)) instanceof AbstractWireTileEntity) { + AbstractWireTileEntity wireEntity = (AbstractWireTileEntity)tileentity; + wireEntity.inputs = packet.io; + wireEntity.outputs = packet.oi; + System.out.println("Synced!"); + wireEntity.onInventoryChanged(); + } + } } diff --git a/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinNetServerHandler.java b/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinNetServerHandler.java index 1f38494..b28e9f3 100644 --- a/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinNetServerHandler.java +++ b/src/main/java/net/brokenmoon/afloydwiremod/mixin/MixinNetServerHandler.java @@ -1,11 +1,11 @@ package net.brokenmoon.afloydwiremod.mixin; -import net.brokenmoon.afloydwiremod.api.AbstractWireTileEntity; import net.brokenmoon.afloydwiremod.mixinInterfaces.INetHandler; -import net.brokenmoon.afloydwiremod.packet.WiremodGuiPacket; +import net.brokenmoon.afloydwiremod.packet.WiremodPacketSyncIO; +import net.brokenmoon.afloydwiremod.packet.WiremodProgrammerGuiPacket; import net.brokenmoon.afloydwiremod.packet.WiremodProgrammerPacket; +import net.brokenmoon.afloydwiremod.packet.WiremodWiringGuiPacket; import net.brokenmoon.afloydwiremod.tileentity.ChipTileEntity; -import net.minecraft.client.Minecraft; import net.minecraft.server.MinecraftServer; import net.minecraft.src.EntityPlayerMP; import net.minecraft.src.NetServerHandler; @@ -20,7 +20,7 @@ public class MixinNetServerHandler implements INetHandler { private EntityPlayerMP playerEntity; @Override - public void wiremodHandleOpenGUI(WiremodGuiPacket packet) { + public void wiremodHandleOpenProgrammerGUI(WiremodProgrammerGuiPacket packet) { } @@ -28,4 +28,14 @@ public class MixinNetServerHandler implements INetHandler { public void wiremodHandleProgramTile(WiremodProgrammerPacket packet) { ((ChipTileEntity)this.mcServer.getWorldManager(this.playerEntity.dimension).getBlockTileEntity(packet.x, packet.y, packet.z)).setMode(packet.mode); } + + @Override + public void wiremodHandleOpenWiringGUI(WiremodWiringGuiPacket wiremodWiringGuiPacket) { + + } + + @Override + public void handleIODisc(WiremodPacketSyncIO wiremodPacketSyncIO) { + + } } diff --git a/src/main/java/net/brokenmoon/afloydwiremod/mixinInterfaces/INetHandler.java b/src/main/java/net/brokenmoon/afloydwiremod/mixinInterfaces/INetHandler.java index 70f0222..378a39d 100644 --- a/src/main/java/net/brokenmoon/afloydwiremod/mixinInterfaces/INetHandler.java +++ b/src/main/java/net/brokenmoon/afloydwiremod/mixinInterfaces/INetHandler.java @@ -1,10 +1,16 @@ package net.brokenmoon.afloydwiremod.mixinInterfaces; -import net.brokenmoon.afloydwiremod.packet.WiremodGuiPacket; +import net.brokenmoon.afloydwiremod.packet.WiremodPacketSyncIO; +import net.brokenmoon.afloydwiremod.packet.WiremodProgrammerGuiPacket; import net.brokenmoon.afloydwiremod.packet.WiremodProgrammerPacket; +import net.brokenmoon.afloydwiremod.packet.WiremodWiringGuiPacket; public interface INetHandler { - void wiremodHandleOpenGUI(WiremodGuiPacket packet); + void wiremodHandleOpenProgrammerGUI(WiremodProgrammerGuiPacket packet); void wiremodHandleProgramTile(WiremodProgrammerPacket wiremodProgrammerPacket); + + void wiremodHandleOpenWiringGUI(WiremodWiringGuiPacket wiremodWiringGuiPacket); + + void handleIODisc(WiremodPacketSyncIO wiremodPacketSyncIO); } diff --git a/src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodPacketSyncIO.java b/src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodPacketSyncIO.java new file mode 100644 index 0000000..83d9d8a --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodPacketSyncIO.java @@ -0,0 +1,273 @@ +package net.brokenmoon.afloydwiremod.packet; + +import net.brokenmoon.afloydwiremod.api.WireConnection; +import net.brokenmoon.afloydwiremod.gui.WiringButton; +import net.brokenmoon.afloydwiremod.mixinInterfaces.INetHandler; +import net.minecraft.src.NetHandler; +import net.minecraft.src.Packet; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public class WiremodPacketSyncIO extends Packet { + public int x; + public int y; + public int z; + private int size; + public WiringButton[] io; + public WiringButton[] oi; + public WiremodPacketSyncIO(){ + this.isChunkDataPacket = true; + } + public WiremodPacketSyncIO(int xCoord, int yCoord, int zCoord, WiringButton[] inputs, WiringButton[] outputs) { + this.isChunkDataPacket = true; + this.x = xCoord; + this.y = yCoord; + this.z = zCoord; + this.io = inputs; + this.oi = outputs; + } + + @Override + public void readPacketData(DataInputStream dataInputStream) throws IOException { + this.x = dataInputStream.readInt(); + this.y = dataInputStream.readInt(); + this.z = dataInputStream.readInt(); + if(dataInputStream.readBoolean()){ + //INPUT + int length = dataInputStream.readInt(); + io = new WiringButton[length]; + for(int i = 0; i < length; ++i){ + io[i] = new WiringButton(); + io[i].x = dataInputStream.readInt(); + io[i].y = dataInputStream.readInt(); + io[i].buttonString = dataInputStream.readUTF(); + io[i].floatvalue = dataInputStream.readFloat(); + io[i].stringvalue = dataInputStream.readUTF(); + if(dataInputStream.readBoolean()){ + this.io[i].wire = new WireConnection(); + this.io[i].wire.x = dataInputStream.readInt(); + this.io[i].wire.y = dataInputStream.readInt(); + this.io[i].wire.z = dataInputStream.readInt(); + this.io[i].wire.thisslot = dataInputStream.readInt(); + this.io[i].wire.thatslot = dataInputStream.readInt(); + this.io[i].wire.red = dataInputStream.readFloat(); + this.io[i].wire.green = dataInputStream.readFloat(); + this.io[i].wire.blue = dataInputStream.readFloat(); + this.io[i].wire.alpha = dataInputStream.readFloat(); + this.io[i].wire.width = dataInputStream.readFloat(); + this.io[i].wire.backwired = dataInputStream.readBoolean(); + this.io[i].wire.isMade = dataInputStream.readBoolean(); + if(dataInputStream.readBoolean()){ + int ixlength = dataInputStream.readInt(); + for(int ix = 0; i < ixlength; i++){ + this.io[i].wire.xadd.add(dataInputStream.readInt()); + this.io[i].wire.yadd.add(dataInputStream.readInt()); + this.io[i].wire.zadd.add(dataInputStream.readInt()); + this.io[i].wire.sideadd.add(dataInputStream.readInt()); + } + } + } + } + } + if(dataInputStream.readBoolean()){ + int length = dataInputStream.readInt(); + oi = new WiringButton[length]; + for(int i = 0; i < length; ++i){ + oi[i] = new WiringButton(); + oi[i].x = dataInputStream.readInt(); + oi[i].y = dataInputStream.readInt(); + oi[i].buttonString = dataInputStream.readUTF(); + oi[i].floatvalue = dataInputStream.readFloat(); + oi[i].stringvalue = dataInputStream.readUTF(); + if(dataInputStream.readBoolean()){ + this.oi[i].wire = new WireConnection(); + this.oi[i].wire.x = dataInputStream.readInt(); + this.oi[i].wire.y = dataInputStream.readInt(); + this.oi[i].wire.z = dataInputStream.readInt(); + this.oi[i].wire.thisslot = dataInputStream.readInt(); + this.oi[i].wire.thatslot = dataInputStream.readInt(); + this.oi[i].wire.red = dataInputStream.readFloat(); + this.oi[i].wire.green = dataInputStream.readFloat(); + this.oi[i].wire.blue = dataInputStream.readFloat(); + this.oi[i].wire.alpha = dataInputStream.readFloat(); + this.oi[i].wire.width = dataInputStream.readFloat(); + this.oi[i].wire.backwired = dataInputStream.readBoolean(); + this.oi[i].wire.isMade = dataInputStream.readBoolean(); + if(dataInputStream.readBoolean()){ + int ixlength = dataInputStream.readInt(); + for(int ix = 0; i < ixlength; i++){ + this.oi[i].wire.xadd.add(dataInputStream.readInt()); + this.oi[i].wire.yadd.add(dataInputStream.readInt()); + this.oi[i].wire.zadd.add(dataInputStream.readInt()); + this.oi[i].wire.sideadd.add(dataInputStream.readInt()); + } + } + } + } + } + } + + @Override + public void writePacketData(DataOutputStream dataOutputStream) throws IOException { + dataOutputStream.writeInt(x); + dataOutputStream.writeInt(y); + dataOutputStream.writeInt(z); + size = size + 4; + size = size + 4; + size = size + 4; + if(io != null){ + dataOutputStream.writeBoolean(true); + size++; + dataOutputStream.writeInt(io.length); + size = size + 4; + for(int i = 0; i < this.io.length; ++i){ + dataOutputStream.writeInt(this.io[i].x); + size = size + 4; + dataOutputStream.writeInt(this.io[i].y); + size = size + 4; + dataOutputStream.writeUTF(this.io[i].buttonString); + size = size + this.io[i].buttonString.length(); + dataOutputStream.writeFloat(this.io[i].floatvalue); + size = size + 4; + dataOutputStream.writeUTF(this.io[i].stringvalue); + size = size + this.io[i].stringvalue.length(); + if(io[i].wire != null){ + dataOutputStream.writeBoolean(true); + size++; + dataOutputStream.writeInt(this.io[i].wire.x); + dataOutputStream.writeInt(this.io[i].wire.y); + dataOutputStream.writeInt(this.io[i].wire.z); + size = size + 4; + size = size + 4; + size = size + 4; + dataOutputStream.writeInt(this.io[i].wire.thisslot); + dataOutputStream.writeInt(this.io[i].wire.thatslot); + dataOutputStream.writeFloat(this.io[i].wire.red); + size = size + 4; + size = size + 4; + size = size + 4; + dataOutputStream.writeFloat(this.io[i].wire.green); + dataOutputStream.writeFloat(this.io[i].wire.blue); + dataOutputStream.writeFloat(this.io[i].wire.alpha); + size = size + 4; + size = size + 4; + size = size + 4; + dataOutputStream.writeFloat(this.io[i].wire.width); + dataOutputStream.writeBoolean(this.io[i].wire.backwired); + dataOutputStream.writeBoolean(this.io[i].wire.isMade); + size = size + 4; + size++; + size++; + if(this.io[i].wire.xadd != null){ + dataOutputStream.writeBoolean(true); + size++; + dataOutputStream.writeInt(this.io[i].wire.xadd.size()); + size = size + 4; + for(int ix = 0; i < this.io[i].wire.xadd.size(); i++){ + dataOutputStream.writeInt(this.io[i].wire.xadd.get(ix)); + dataOutputStream.writeInt(this.io[i].wire.yadd.get(ix)); + dataOutputStream.writeInt(this.io[i].wire.zadd.get(ix)); + dataOutputStream.writeInt(this.io[i].wire.sideadd.get(ix)); + size = size + 4; + size = size + 4; + size = size + 4; + size = size + 4; + } + } else { + dataOutputStream.writeBoolean(false); + size++; + } + } else{ + dataOutputStream.writeBoolean(false); + size++; + } + } + } else { + dataOutputStream.writeBoolean(false); + size++; + } + if(oi != null){ + dataOutputStream.writeBoolean(true); + size++; + dataOutputStream.writeInt(oi.length); + size = size + 4; + for(int i = 0; i < this.oi.length; ++i){ + dataOutputStream.writeInt(this.oi[i].x); + size = size + 4; + dataOutputStream.writeInt(this.oi[i].y); + size = size + 4; + dataOutputStream.writeUTF(this.oi[i].buttonString); + size = size + this.oi[i].buttonString.length(); + dataOutputStream.writeFloat(this.oi[i].floatvalue); + size = size + 4; + dataOutputStream.writeUTF(this.oi[i].stringvalue); + size = size + this.oi[i].stringvalue.length(); + if(oi[i].wire != null){ + dataOutputStream.writeBoolean(true); + size++; + dataOutputStream.writeInt(this.oi[i].wire.x); + dataOutputStream.writeInt(this.oi[i].wire.y); + dataOutputStream.writeInt(this.oi[i].wire.z); + size = size + 4; + size = size + 4; + size = size + 4; + dataOutputStream.writeInt(this.oi[i].wire.thisslot); + dataOutputStream.writeInt(this.oi[i].wire.thatslot); + dataOutputStream.writeFloat(this.oi[i].wire.red); + size = size + 4; + size = size + 4; + size = size + 4; + dataOutputStream.writeFloat(this.oi[i].wire.green); + dataOutputStream.writeFloat(this.oi[i].wire.blue); + dataOutputStream.writeFloat(this.oi[i].wire.alpha); + size = size + 4; + size = size + 4; + size = size + 4; + dataOutputStream.writeFloat(this.oi[i].wire.width); + dataOutputStream.writeBoolean(this.oi[i].wire.backwired); + dataOutputStream.writeBoolean(this.oi[i].wire.isMade); + size = size + 4; + size++; + size++; + if(this.oi[i].wire.xadd != null){ + dataOutputStream.writeBoolean(true); + size++; + dataOutputStream.writeInt(this.oi[i].wire.xadd.size()); + size = size + 4; + for(int ix = 0; i < this.oi[i].wire.xadd.size(); i++){ + dataOutputStream.writeInt(this.oi[i].wire.xadd.get(ix)); + dataOutputStream.writeInt(this.oi[i].wire.yadd.get(ix)); + dataOutputStream.writeInt(this.oi[i].wire.zadd.get(ix)); + dataOutputStream.writeInt(this.oi[i].wire.sideadd.get(ix)); + size = size + 4; + size = size + 4; + size = size + 4; + size = size + 4; + } + } else { + dataOutputStream.writeBoolean(false); + size++; + } + } else{ + dataOutputStream.writeBoolean(false); + size++; + } + } + } else { + dataOutputStream.writeBoolean(false); + size++; + } + } + + @Override + public void processPacket(NetHandler netHandler) { + ((INetHandler)netHandler).handleIODisc(this); + } + + @Override + public int getPacketSize() { + return size; + } +} diff --git a/src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodGuiPacket.java b/src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodProgrammerGuiPacket.java similarity index 73% rename from src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodGuiPacket.java rename to src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodProgrammerGuiPacket.java index 3a30433..afe673e 100644 --- a/src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodGuiPacket.java +++ b/src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodProgrammerGuiPacket.java @@ -8,17 +8,15 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -public class WiremodGuiPacket extends Packet { - public int guiType; +public class WiremodProgrammerGuiPacket extends Packet { public int x; public int y; public int z; - public WiremodGuiPacket(){ + public WiremodProgrammerGuiPacket(){ } - public WiremodGuiPacket(int type, int x, int y, int z){ - this.guiType = type; + public WiremodProgrammerGuiPacket(int x, int y, int z){ this.x = x; this.y = y; this.z = z; @@ -26,7 +24,6 @@ public class WiremodGuiPacket extends Packet { @Override public void readPacketData(DataInputStream dataInputStream) throws IOException { - this.guiType = dataInputStream.readInt(); this.x = dataInputStream.readInt(); this.y = dataInputStream.readInt(); this.z = dataInputStream.readInt(); @@ -35,7 +32,6 @@ public class WiremodGuiPacket extends Packet { @Override public void writePacketData(DataOutputStream dataOutputStream) throws IOException { - dataOutputStream.writeInt(this.guiType); dataOutputStream.writeInt(this.x); dataOutputStream.writeInt(this.y); dataOutputStream.writeInt(this.z); @@ -43,11 +39,11 @@ public class WiremodGuiPacket extends Packet { @Override public void processPacket(NetHandler netHandler) { - ((INetHandler)netHandler).wiremodHandleOpenGUI(this); + ((INetHandler)netHandler).wiremodHandleOpenProgrammerGUI(this); } @Override public int getPacketSize() { - return 4 * 4; + return 3 * 4; } } diff --git a/src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodWiringGuiPacket.java b/src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodWiringGuiPacket.java new file mode 100644 index 0000000..c631daa --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydwiremod/packet/WiremodWiringGuiPacket.java @@ -0,0 +1,58 @@ +package net.brokenmoon.afloydwiremod.packet; + +import net.brokenmoon.afloydwiremod.mixinInterfaces.INetHandler; +import net.minecraft.src.NetHandler; +import net.minecraft.src.Packet; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public class WiremodWiringGuiPacket extends Packet { + public int x; + public int y; + public int z; + public int x2; + public int y2; + public int z2; + public WiremodWiringGuiPacket(){ + + } + public WiremodWiringGuiPacket(int x, int y, int z, int x2, int y2, int z2){ + this.x = x; + this.y = y; + this.z = z; + this.x2 = x2; + this.y2 = z2; + this.z2 = y2; + } + @Override + public void readPacketData(DataInputStream dataInputStream) throws IOException { + this.x = dataInputStream.readInt(); + this.y = dataInputStream.readInt(); + this.z = dataInputStream.readInt(); + this.x2 = dataInputStream.readInt(); + this.y2 = dataInputStream.readInt(); + this.z2 = dataInputStream.readInt(); + } + + @Override + public void writePacketData(DataOutputStream dataOutputStream) throws IOException { + dataOutputStream.writeInt(this.x); + dataOutputStream.writeInt(this.y); + dataOutputStream.writeInt(this.z); + dataOutputStream.writeInt(this.x2); + dataOutputStream.writeInt(this.y2); + dataOutputStream.writeInt(this.z2); + } + + @Override + public void processPacket(NetHandler netHandler) { + ((INetHandler)netHandler).wiremodHandleOpenWiringGUI(this); + } + + @Override + public int getPacketSize() { + return 6 * 4; + } +}