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.
74 lines
3.5 KiB
Java
74 lines
3.5 KiB
Java
package net.brokenmoon.afloydwiremod.mixin;
|
|
|
|
import net.brokenmoon.afloydwiremod.api.AbstractWireTileEntity;
|
|
import net.brokenmoon.afloydwiremod.api.WireConnection;
|
|
import net.brokenmoon.afloydwiremod.mixinInterfaces.INetHandler;
|
|
import net.brokenmoon.afloydwiremod.packet.*;
|
|
import net.brokenmoon.afloydwiremod.tileentity.ChipTileEntity;
|
|
import net.minecraft.server.MinecraftServer;
|
|
import net.minecraft.src.EntityPlayerMP;
|
|
import net.minecraft.src.NetServerHandler;
|
|
import org.spongepowered.asm.mixin.Mixin;
|
|
import org.spongepowered.asm.mixin.Shadow;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
@Mixin(value = NetServerHandler.class, remap = false)
|
|
public class MixinNetServerHandler implements INetHandler {
|
|
@Shadow
|
|
private MinecraftServer mcServer;
|
|
@Shadow
|
|
private EntityPlayerMP playerEntity;
|
|
|
|
@Override
|
|
public void wiremodHandleOpenProgrammerGUI(WiremodProgrammerGuiPacket packet) {
|
|
|
|
}
|
|
|
|
@Override
|
|
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 wiremodHandleIODisc(WiremodPacketSyncIO wiremodPacketSyncIO) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void wiremodHandleWireChips(WiremodWiringPacket packet) {
|
|
switch(packet.type){
|
|
case 0:
|
|
AbstractWireTileEntity wireEntity;
|
|
if(!packet.backwired) {
|
|
wireEntity = (AbstractWireTileEntity) this.mcServer.getWorldManager(this.playerEntity.dimension).getBlockTileEntity(packet.x1, packet.y1, packet.z1);
|
|
wireEntity.outputs[packet.slot1].wire = new WireConnection(packet.x2, packet.y2, packet.z2, packet.slot1, packet.slot2, new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), packet.backwired, packet.red, packet.green, packet.blue, packet.alpha, packet.width);
|
|
} else{
|
|
wireEntity = (AbstractWireTileEntity) this.mcServer.getWorldManager(this.playerEntity.dimension).getBlockTileEntity(packet.x2, packet.y2, packet.z2);
|
|
wireEntity.outputs[packet.slot1].wire = new WireConnection(packet.x1, packet.y1, packet.z1, packet.slot1, packet.slot2, new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), packet.backwired, packet.red, packet.green, packet.blue, packet.alpha, packet.width);
|
|
}
|
|
wireEntity.update();
|
|
wireEntity.updateIO();
|
|
break;
|
|
case 1:
|
|
AbstractWireTileEntity otherEntity;
|
|
if(!packet.backwired) {
|
|
otherEntity = (AbstractWireTileEntity)this.mcServer.getWorldManager(this.playerEntity.dimension).getBlockTileEntity(packet.x1, packet.y1, packet.z1);
|
|
otherEntity.inputs[packet.slot2].wire = new WireConnection(packet.x2, packet.y2, packet.z2, packet.slot1, packet.slot2);
|
|
} else{
|
|
otherEntity = (AbstractWireTileEntity)this.mcServer.getWorldManager(this.playerEntity.dimension).getBlockTileEntity(packet.x2, packet.y2, packet.z2);
|
|
otherEntity.inputs[packet.slot2].wire = new WireConnection(packet.x1, packet.y1, packet.z1, packet.slot1, packet.slot2);
|
|
}
|
|
otherEntity.update();
|
|
otherEntity.updateIO();
|
|
break;
|
|
}
|
|
System.out.println("9");
|
|
}
|
|
}
|