package com.flansmod.common.network; import com.flansmod.common.FlansMod; import com.flansmod.common.PlayerData; import com.flansmod.common.PlayerHandler; import net.minecraftforge.fml.relauncher.Side; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.common.network.ByteBufUtils; public class PacketOffHandGunInfo extends PacketBase { public int entityID; public ItemStack gunStack; public PacketOffHandGunInfo() { } public PacketOffHandGunInfo(EntityPlayerMP playerEntity, int slot) { entityID = playerEntity.getEntityId(); if(slot == 0) gunStack = null; else gunStack = playerEntity.inventory.getStackInSlot(slot - 1); } @Override public void encodeInto(ChannelHandlerContext ctx, ByteBuf data) { data.writeInt(entityID); ByteBufUtils.writeItemStack(data, gunStack); } @Override public void decodeInto(ChannelHandlerContext ctx, ByteBuf data) { entityID = data.readInt(); gunStack = ByteBufUtils.readItemStack(data); } @Override public void handleServerSide(EntityPlayerMP playerEntity) { FlansMod.log("Received off hand gun info packet on server. Skipping. Did you mean to send a PacketSelectOffHandGun?"); } @Override public void handleClientSide(EntityPlayer clientPlayer) { Entity entity = clientPlayer.worldObj.getEntityByID(entityID); if(entity instanceof EntityPlayer && entity != clientPlayer) { PlayerData data = PlayerHandler.getPlayerData((EntityPlayer) entity, Side.CLIENT); data.offHandGunStack = gunStack; } } }