001 package cpw.mods.fml.common.network; 002 003 import net.minecraft.network.INetworkManager; 004 import net.minecraft.network.packet.NetHandler; 005 006 import com.google.common.io.ByteArrayDataInput; 007 import com.google.common.io.ByteArrayDataOutput; 008 import com.google.common.io.ByteStreams; 009 010 import cpw.mods.fml.common.FMLCommonHandler; 011 012 public class EntitySpawnAdjustmentPacket extends FMLPacket 013 { 014 015 public EntitySpawnAdjustmentPacket() 016 { 017 super(Type.ENTITYSPAWNADJUSTMENT); 018 } 019 020 public int entityId; 021 public int serverX; 022 public int serverY; 023 public int serverZ; 024 025 @Override 026 public byte[] generatePacket(Object... data) 027 { 028 ByteArrayDataOutput dat = ByteStreams.newDataOutput(); 029 dat.writeInt((Integer) data[0]); 030 dat.writeInt((Integer) data[1]); 031 dat.writeInt((Integer) data[2]); 032 dat.writeInt((Integer) data[3]); 033 return dat.toByteArray(); 034 } 035 036 @Override 037 public FMLPacket consumePacket(byte[] data) 038 { 039 ByteArrayDataInput dat = ByteStreams.newDataInput(data); 040 entityId = dat.readInt(); 041 serverX = dat.readInt(); 042 serverY = dat.readInt(); 043 serverZ = dat.readInt(); 044 return this; 045 } 046 047 @Override 048 public void execute(INetworkManager network, FMLNetworkHandler handler, NetHandler netHandler, String userName) 049 { 050 FMLCommonHandler.instance().adjustEntityLocationOnClient(this); 051 } 052 053 }