List of usage examples for net.minecraftforge.event.entity.player PlayerInteractEvent.LeftClickBlock getWorld
public World getWorld()
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();/*from w w w .j a v a2 s . co m*/ 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 w w . j a v a 2 s . com 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.item.storagesack.ItemStorageBag.java
License:Open Source License
@SubscribeEvent public void onHit(PlayerInteractEvent.LeftClickBlock event) { EntityPlayer player = event.getEntityPlayer(); ItemStack held = player.getHeldItem(event.getHand()); if (held != null && held.getItem() == this) { World world = event.getWorld(); TileEntity tile = world.getTileEntity(event.getPos()); if (tile != null && tile instanceof IInventory) { int depositType = StorageActionType.get(held); if (depositType == StorageActionType.NOTHING.ordinal()) { if (world.isRemote) { UtilChat.addChatMessage(player, UtilChat.lang("item.storage_bag.disabled")); }//from w w w . j a v a 2 s. c o m return; } else { if (world.isRemote == false) { NonNullList<ItemStack> inv = InventoryStorage.readFromNBT(held); BagDepositReturn ret = null; if (depositType == StorageActionType.DEPOSIT.ordinal()) { ret = UtilInventoryTransfer.dumpFromListToIInventory(world, (IInventory) tile, inv, false); } else if (depositType == StorageActionType.MERGE.ordinal()) { ret = UtilInventoryTransfer.dumpFromListToIInventory(world, (IInventory) tile, inv, true); } if (ret != null && ret.moved > 0) { InventoryStorage.writeToNBT(held, ret.stacks); UtilChat.addChatMessage(player, UtilChat.lang("item.storage_bag.success") + ret.moved); } } UtilSound.playSound(player, SoundRegistry.sack_holding); } } } }
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();/* w w w. j a va2 s .co m*/ 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()); } } }
From source file:vazkii.quark.tweaks.feature.KnockOnDoors.java
License:Creative Commons License
@SubscribeEvent public void leftClick(PlayerInteractEvent.LeftClickBlock event) { if (event.getEntityPlayer().getHeldItemMainhand().isEmpty()) { IBlockState state = event.getWorld().getBlockState(event.getPos()); Block block = state.getBlock();/*from w ww . j a va 2s. c o m*/ if (block instanceof BlockDoor && state.getMaterial() == Material.WOOD) event.getWorld().playSound(null, event.getPos().getX(), event.getPos().getY(), event.getPos().getZ(), block.getSoundType().getPlaceSound(), SoundCategory.PLAYERS, 1F, 1F); } }