package net.brokenmoon.afloydwiremod.mixin; import net.brokenmoon.afloydwiremod.WireMod; 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.*; 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; @Mixin(value = NetClientHandler.class, remap = false) public class MixinNetClientHandler implements INetHandler { @Shadow Minecraft mc; @Override 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) { ((IEntityPlayer)this.mc.thePlayer).displayGuiWiring(((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 wiremodHandleIODisc(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(); } } @Override public void wiremodHandleWireChips(WiremodWiringPacket wiremodWiringPacket) { } @Override public void wiremodHandleWireToolGui(WiremodSettingsGuiPacket wiremodSettingsGuiPacket) { } @Override public void wiremodHandleWireToolSettingsGui(WiremodWireGuiPacket wiremodWireGuiPacket) { ((IEntityPlayer)this.mc.thePlayer).displayGuiWireSettings(); } }