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 }