List of usage examples for net.minecraftforge.event.entity.player PlayerInteractEvent.LeftClickBlock getItemStack
@Nonnull
public ItemStack getItemStack()
From source file:com.lothrazar.cyclicmagic.block.vector.BlockVectorPlate.java
License:Open Source License
@SubscribeEvent public void onLeftClickBlock(PlayerInteractEvent.LeftClickBlock event) { BlockPos pos = event.getPos();// ww w .j a v a 2s .c om World world = event.getWorld(); EntityPlayer player = event.getEntityPlayer(); ItemStack stack = event.getItemStack();// ItemStack stack = player.getHeldItem(event.getHand()); if (player.isSneaking() == false && world.getTileEntity(pos) instanceof TileEntityVector && stack != null && Block.getBlockFromItem(stack.getItem()) instanceof BlockVectorPlate) { IBlockState iblockstate = world.getBlockState(pos); Block block = iblockstate.getBlock(); TileEntityVector tile = (TileEntityVector) world.getTileEntity(pos); if (stack.hasTagCompound()) { ((BlockVectorPlate) block).saveStackDataTotile(stack, tile); if (world.isRemote) UtilChat.addChatMessage(player, "tile.plate_vector.copied"); } } }
From source file:com.lothrazar.cyclicmagic.block.wireless.BlockRedstoneWireless.java
License:Open Source License
@SubscribeEvent public static void onLeftClickBlock(PlayerInteractEvent.LeftClickBlock event) { BlockPos pos = event.getPos();//from w ww . java2s . c om World world = event.getWorld(); ItemStack stack = event.getItemStack();//player held item if (world.getTileEntity(pos) instanceof TileEntityWirelessRec && stack.getItem() == Item.getByNameOrId("cyclicmagic:wireless_transmitter")) { UtilNBT.setItemStackBlockPos(stack, pos); UtilChat.sendStatusMessage(event.getEntityPlayer(), UtilChat.lang("tile.wireless_transmitter.saved") + UtilChat.blockPosToString(pos)); } }
From source file:com.lothrazar.cyclicmagic.playerupgrade.PlayerAbilitiesModule.java
License:Open Source License
@SubscribeEvent public void onLeftClickBlock(PlayerInteractEvent.LeftClickBlock event) { EntityPlayer entityPlayer = event.getEntityPlayer(); BlockPos pos = event.getPos();/*from w ww . j a v a2 s . c om*/ World worldObj = event.getWorld(); // ItemStack held = entityPlayer.getHeldItem(event.getHand()); ItemStack held = event.getItemStack(); if (stardewFurnace) { // ignore in creative// left clicking just breaks it anyway if (entityPlayer.capabilities.isCreativeMode || pos == null || held.getItem() instanceof ItemPickaxe) { return; } int playerSlot = 0;// entityPlayer.inventory.currentItem; boolean wasMain = event.getHand() == EnumHand.MAIN_HAND; if (wasMain) { playerSlot = entityPlayer.inventory.currentItem; } else { //just dont use offhand, ignore it for now. is easier playerSlot = 40; } TileEntity tile = worldObj.getTileEntity(pos); if (tile instanceof TileEntityFurnace) { TileEntityFurnace furnace = (TileEntityFurnace) tile; if (held.isEmpty()) { UtilFurnace.extractFurnaceOutput(furnace, entityPlayer); } else { //holding a non null stack for sure //ALSO tools are smeltable now in new 1.11, but we skip that eh if (UtilFurnace.canBeSmelted(held) && (held.getItem() instanceof ItemTool) == false) { UtilFurnace.tryMergeStackIntoSlot(furnace, entityPlayer, playerSlot, UtilFurnace.SLOT_INPUT); } else if (UtilFurnace.isFuel(held)) { UtilFurnace.tryMergeStackIntoSlot(furnace, entityPlayer, playerSlot, UtilFurnace.SLOT_FUEL); } } } } if (easyEnderChest) { if (!held.isEmpty() && held.getItem() == Item.getItemFromBlock(Blocks.ENDER_CHEST)) { entityPlayer.displayGUIChest(entityPlayer.getInventoryEnderChest()); } } }