package portables.common.network; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.network.FMLNetworkEvent.ServerCustomPacketEvent; import io.netty.buffer.ByteBufInputStream; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.network.NetHandlerPlayServer; import portables.common.core.CommonProxy; import portables.common.util.Util; public class ServerPacketHandler { @SubscribeEvent public void onServerPacket(ServerCustomPacketEvent event) { try { EntityPlayerMP player = ((NetHandlerPlayServer) event.handler).playerEntity; ByteBufInputStream bbis = new ByteBufInputStream(event.packet.payload()); ItemStack currentItem = player.getCurrentEquippedItem(); byte packetId = bbis.readByte(); switch (packetId) { case 0: player.displayGUIWorkbench((int) player.posX, (int) player.posY, (int) player.posZ); break; case 1: player.displayGUIChest(player.getInventoryEnderChest()); Util.damageItem(1, player); break; case 2: player.displayGUIAnvil((int) player.posX, (int) player.posY, (int) player.posZ); Util.damageItem(1, player); break; case 3: player.displayGUIEnchantment((int) player.posX, (int) player.posY, (int) player.posZ, "Enchant"); Util.damageItem(1, player); break; case 4: if (currentItem != null) { if (currentItem.getItem() == CommonProxy.portableBlock) { Util.clearNBT(currentItem); } } break; case 5: if (currentItem != null) { if (currentItem.getItem() == CommonProxy.portableBlock) { if (player.inventory.consumeInventoryItem(CommonProxy.lock)) { currentItem.stackTagCompound.getCompoundTag("info").setString("locked", player.getGameProfile().getName()); player.worldObj.playSoundAtEntity(player, "simpleportables:Lock", 1, 1); player.inventory.consumeInventoryItem(CommonProxy.lock); } } } break; case 6: if (currentItem != null) { if (currentItem.getItem() == CommonProxy.portableBlock) { currentItem.stackTagCompound.getCompoundTag("info").removeTag("locked"); player.worldObj.playSoundAtEntity(player, "simpleportables:Lock", 0.5F, 1); } } break; } } catch (Exception e) { e.printStackTrace(); } } }