package choonster.testmod3.item; import choonster.testmod3.TestMod3; import choonster.testmod3.api.capability.lock.ILock; import choonster.testmod3.capability.lock.CapabilityLock; import choonster.testmod3.network.MessageOpenLockGui; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextComponentTranslation; import net.minecraft.world.World; /** * A key that can lock {@link ILock}s. * * @author Choonster */ public class ItemKey extends ItemTestMod3 { public ItemKey() { super("key"); setMaxStackSize(1); } @Override public EnumActionResult onItemUse(EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { final ILock lock = CapabilityLock.getLock(worldIn, pos, facing); if (lock != null) { if (!worldIn.isRemote) { if (lock.isLocked()) { playerIn.sendMessage(new TextComponentTranslation("testmod3:lock.already_locked")); } else { TestMod3.network.sendTo(new MessageOpenLockGui(pos, facing), (EntityPlayerMP) playerIn); } } return EnumActionResult.SUCCESS; } return EnumActionResult.PASS; } }