public class MessageSyncNbtEntityMagicChest implements IMessage {
public int entityID;
public NBTTagCompound nbt;
public MessageSyncNbtEntityMagicChest() {}
/*
public MessageSyncNbtEntityMagicChest(int id, NBTTagCompound nbt) {
this.id = id;
this.nbt = nbt;
}
*/
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(entityID);
ByteBufUtils.writeTag(buf, nbt);
}
@Override
public void fromBytes(ByteBuf buf) {
entityID = buf.readInt();
nbt = ByteBufUtils.readTag(buf);
}
public static class Handler implements IMessageHandler<MessageSyncNbtEntityMagicChest, IMessage> {
@Override
public IMessage onMessage(MessageSyncNbtEntityMagicChest packet, MessageContext message) {
if (FMLCommonHandler.instance().getSide().isClient())
act(packet);
else
act(message.getServerHandler().playerEntity, packet);
return null;
}
@SideOnly(Side.CLIENT)
private void act(MessageSyncNbtEntityMagicChest packet) {
Minecraft mc = Minecraft.getMinecraft();
Entity entity = mc.theWorld.getEntityByID(packet.entityID);
if (entity instanceof EntityMagicChest) {
((EntityMagicChest)entity).onDataPacket(packet);
}
}
private void act(EntityPlayerMP player, MessageSyncNbtEntityMagicChest packet) {
Entity entity = player.worldObj.getEntityByID(packet.entityID);
if (entity instanceof EntityMagicChest) {
((EntityMagicChest)entity).onDataPacket(packet);
}
}
}
}