You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.7 KiB
Java

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();
}
}