package net.geforcemods.securitycraft.items; import net.geforcemods.securitycraft.gui.GuiHandler; import net.geforcemods.securitycraft.main.mod_SecurityCraft; import net.geforcemods.securitycraft.util.ClientUtils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ActionResult; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class ItemBriefcase extends Item { public ItemBriefcase() {} @Override public boolean isFull3D() { return true; } @Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { if(worldIn.isRemote) { if(!stack.hasTagCompound()) { stack.setTagCompound(new NBTTagCompound()); ClientUtils.syncItemNBT(stack); } if(!stack.getTagCompound().hasKey("passcode")) { playerIn.openGui(mod_SecurityCraft.instance, GuiHandler.BRIEFCASE_CODE_SETUP_GUI_ID, worldIn, (int) playerIn.posX, (int) playerIn.posY, (int) playerIn.posZ); } else { playerIn.openGui(mod_SecurityCraft.instance, GuiHandler.BRIEFCASE_INSERT_CODE_GUI_ID, worldIn, (int) playerIn.posX, (int) playerIn.posY, (int) playerIn.posZ); } } return EnumActionResult.FAIL; } @Override public ActionResult<ItemStack> onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn, EnumHand hand) { if(worldIn.isRemote) { if(!itemStackIn.hasTagCompound()) { itemStackIn.setTagCompound(new NBTTagCompound()); ClientUtils.syncItemNBT(itemStackIn); } if(!itemStackIn.getTagCompound().hasKey("passcode")) { playerIn.openGui(mod_SecurityCraft.instance, GuiHandler.BRIEFCASE_CODE_SETUP_GUI_ID, worldIn, (int) playerIn.posX, (int) playerIn.posY, (int) playerIn.posZ); } else { playerIn.openGui(mod_SecurityCraft.instance, GuiHandler.BRIEFCASE_INSERT_CODE_GUI_ID, worldIn, (int) playerIn.posX, (int) playerIn.posY, (int) playerIn.posZ); } } return ActionResult.newResult(EnumActionResult.PASS, itemStackIn); } @Override public ItemStack getContainerItem(ItemStack stack) { if(stack.getTagCompound() != null && stack.getTagCompound().hasKey("passcode")) { stack.getTagCompound().removeTag("passcode"); } return stack; } @Override public boolean hasContainerItem() { return true; } }