@Override public boolean onLeftClickBlockWithTool(PlayerInteractEvent.LeftClickBlock event, @Nonnull ItemStack toolStack, @Nonnull ItemStack thisUpgradeStack) { blowLeaves(WorldHelper.getExtraBlock9Coordinates(event.getFace()), event.getPos(), event.getWorld(), event.getEntityPlayer(), toolStack); return true; }
@Override public boolean onLeftClickBlockWithTool(PlayerInteractEvent.LeftClickBlock event, @Nonnull ItemStack toolStack, @Nonnull ItemStack thisUpgradeStack) { BlockPos startPos = event.getPos(); BlockPos.MutableBlockPos pos = new BlockPos.MutableBlockPos(startPos); World world = event.getWorld(); // TODO: See ItemLeafBlowerUpgrade#blowLeaves. for (int[] aCoordinateArray : WorldHelper.EXTRA_BLOCKS_VERTICAL) { int thisX = startPos.getX() + aCoordinateArray[0]; int thisY = startPos.getY() + aCoordinateArray[1]; int thisZ = startPos.getZ() + aCoordinateArray[2]; pos.setPos(thisX, thisY, thisZ); Block block1 = world.getBlockState(pos).getBlock(); if (WorldHelper.isFarmable(block1)) { world.setBlockToAir(pos); world.setBlockState(pos, Blocks.FARMLAND.getDefaultState()); } } return true; } }
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);
@SubscribeEvent public void onLeftClickBlock(PlayerInteractEvent.LeftClickBlock event) { EntityPlayer entityPlayer = event.getEntityPlayer(); BlockPos pos = event.getPos(); World worldObj = event.getWorld();
@SubscribeEvent public void interaction( final LeftClickBlock event ) { if ( event.getEntityPlayer() != null && event.getUseItem() != Result.DENY ) { final ItemStack is = event.getItemStack(); final boolean validEvent = event.getPos() != null && event.getWorld() != null; if ( is != null && ( is.getItem() instanceof ItemChisel || is.getItem() instanceof ItemChiseledBit ) && validEvent ) { final IBlockState state = event.getWorld().getBlockState( event.getPos() ); if ( BlockBitInfo.canChisel( state ) || MCMultipartProxy.proxyMCMultiPart.isMultiPartTileEntity( event.getWorld(), event.getPos() ) || LittleTiles.isLittleTilesBlock( event.getWorld().getTileEntity( event.getPos() ) ) ) { if ( event.getWorld().isRemote ) { // this is called when the player is survival - // client side. is.getItem().onBlockStartBreak( is, event.getPos(), event.getEntityPlayer() ); } // cancel interactions vs chiseable blocks, creative is // magic. event.setCanceled( true ); } } } testInteractionSupression( event, event.getUseItem() ); }
@Override public void onPlayerLeftClickBlock(PlayerInteractEvent.LeftClickBlock event, @Nonnull ItemStack armorStack, EntityEquipmentSlot slot) { EnumFacing face = event.getFace(); if (face == null) { return; } EntityPlayer player = event.getEntityPlayer(); if (player.getHeldItemMainhand().isEmpty() && ChargableUtility.hasPower(player, ArmorModule.pistonPushConsumption)) { World world = event.getWorld(); BlockPos curPos = event.getPos(); BlockPos newPos = curPos.offset(face.getOpposite()); IBlockState clickedState = world.getBlockState(curPos); IBlockState stateInPlace = world.getBlockState(newPos); Block clickedBlock = clickedState.getBlock(); Block blockInPlace = stateInPlace.getBlock(); EnumPushReaction reaction = clickedState.getPushReaction(); if ((blockInPlace == Blocks.AIR || blockInPlace instanceof BlockFluidBase) && clickedState.getBlockHardness(world, curPos) >= 0F && reaction != EnumPushReaction.IGNORE && reaction != EnumPushReaction.DESTROY && clickedBlock != Blocks.OBSIDIAN && !clickedBlock.hasTileEntity(clickedState)) { world.setBlockToAir(curPos); world.setBlockState(newPos, clickedState, 3); world.playSound(newPos.getX() + 0.5D, newPos.getY() + 0.5D, newPos.getZ() + 0.5D, SoundEvents.BLOCK_PISTON_EXTEND, SoundCategory.PLAYERS, 0.5F, world.rand.nextFloat() * 0.25F + 0.6F, false); } } } }
@SubscribeEvent public void onPlayerLeftClickBlock(final PlayerInteractEvent.LeftClickBlock event) { if (MainProxy.isServer(event.getEntityPlayer().world)) { final TileEntity tile = event.getEntityPlayer().world.getTileEntity(event.getPos()); if (tile instanceof LogisticsTileGenericPipe) { if (((LogisticsTileGenericPipe) tile).pipe instanceof CoreRoutedPipe) { if (!((CoreRoutedPipe) ((LogisticsTileGenericPipe) tile).pipe).canBeDestroyedByPlayer(event.getEntityPlayer())) { event.setCanceled(true); event.getEntityPlayer().sendMessage(new TextComponentTranslation("lp.chat.permissiondenied")); ((LogisticsTileGenericPipe) tile).scheduleNeighborChange(); World world = event.getEntityPlayer().world; BlockPos pos = tile.getPos(); IBlockState state = world.getBlockState(pos); world.markAndNotifyBlock(tile.getPos(), world.getChunkFromBlockCoords(pos), state, state, 2); ((CoreRoutedPipe) ((LogisticsTileGenericPipe) tile).pipe).delayTo = System.currentTimeMillis() + 200; ((CoreRoutedPipe) ((LogisticsTileGenericPipe) tile).pipe).repeatFor = 10; } else { ((CoreRoutedPipe) ((LogisticsTileGenericPipe) tile).pipe).setDestroyByPlayer(); } } } } }
@SubscribeEvent public void playerInteractEvent(PlayerInteractEvent.LeftClickBlock event) { // only show event if either the test block or the test item is involved if (event.getPos() != null && event.getWorld().getBlockState(event.getPos()) == StartupCommon.blockToolTest) { } else { ItemStack heldItemStack = (event.getEntityPlayer() == null) ? ItemStack.EMPTY : //EMPTY_ITEM event.getEntityPlayer().getItemStackFromSlot(EntityEquipmentSlot.MAINHAND); Item heldItem = heldItemStack.getItem(); if (heldItem != StartupCommon.itemToolsTest) { return; } } StartupCommon.methodCallLogger.enterMethod("Event.PlayerInteractEvent.LeftClickBlock", "pos=" + event.getPos() + ", hitVec=" + event.getHitVec() +", face=" + event.getFace() ); // your code here StartupCommon.methodCallLogger.exitMethod("Event.PlayerInteractEvent.LeftClickBlock", "cancelled=" + event.isCanceled() + "; useItem=" + event.getUseItem() + "; useBlock=" + event.getUseBlock()); }
@SubscribeEvent public void onLeftClickBlock(PlayerInteractEvent.LeftClickBlock event) { BlockPos pos = event.getPos(); 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"); } } }
@SubscribeEvent public void onPlayerLeftLickedBlock(PlayerInteractEvent.LeftClickBlock event) { assert event.getFace() != null; BlockPos pos = event.getPos().offset(event.getFace()); World world = event.getWorld(); IBlockState state = world.getBlockState(pos); if (state.getBlock() == ModBlocks.alchemical_fire) { world.playEvent(null, 1009, pos, 0); world.setBlockToAir(pos); event.setCanceled(true); } else if (ModBlocks.garlic_beacon.equals(state.getBlock()) && Helper.isVampire(event.getEntityPlayer())) { event.getEntityPlayer().addPotionEffect(new PotionEffect(ModPotions.garlic)); } }
@SubscribeEvent(priority = EventPriority.LOWEST) // allow others to cancel this public static void onClick(@Nonnull PlayerInteractEvent.LeftClickBlock event) { final World world = event.getWorld(); if (world != null && !world.isRemote && event.getUseBlock() != Result.DENY) { final EntityPlayer player = event.getEntityPlayer(); if (player != null && !player.isSpectator() && !world.isAirBlock(event.getPos())) { final EnumFacing face = NullHelper.first(event.getFace(), EnumFacing.DOWN); final BlockPos pos = event.getPos().offset(face); if (world.getBlockState(pos).getBlock() instanceof BlockColdFire && player.canPlayerEdit(pos, face, Prep.getEmpty())) { world.playEvent(null, 1009, pos, 0); world.setBlockToAir(pos); } } } }
@SubscribeEvent public void onClick(PlayerInteractEvent.LeftClickBlock event) { EntityPlayer player = event.getEntityPlayer(); if (player.motionY <= -0.1F) { if (player.getHeldItemMainhand() != null && player.getHeldItemMainhand().getItem() == HFTools.HAMMER) { if (CropHelper.getWateringHandler(event.getWorld(), event.getPos(), event.getWorld().getBlockState(event.getPos())) != null) { HFTools.HAMMER.smashBlock(event.getWorld(), player, event.getPos(), player.getHeldItemMainhand(), true); } } } }
@SubscribeEvent public static void onLeftClickBlock(PlayerInteractEvent.LeftClickBlock event) { BlockPos pos = event.getPos(); 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)); } }
@SubscribeEvent(priority = EventPriority.HIGH) public static void onBlockLeftClick(PlayerInteractEvent.LeftClickBlock event) { if (ClaimedChunks.blockBlockEditing(event.getEntityPlayer(), event.getPos(), null)) { event.setCanceled(true); } }
@SubscribeEvent public void leftClick(PlayerInteractEvent.LeftClickBlock event) { if(event.getEntityPlayer().getHeldItemMainhand().isEmpty()) { IBlockState state = event.getWorld().getBlockState(event.getPos()); Block block = state.getBlock(); 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); } }
@SubscribeEvent public void onLeftClick(PlayerInteractEvent.LeftClickBlock event) { ItemStack stack = event.getItemStack(); if(!stack.isEmpty() && stack.getItem() == this && canExchange(stack) && ManaItemHandler.requestManaExactForTool(stack, event.getEntityPlayer(), COST, false)) { if(exchange(event.getWorld(), event.getEntityPlayer(), event.getPos(), stack, getBlock(stack).getStateFromMeta(getBlockMeta(stack)))) ManaItemHandler.requestManaExactForTool(stack, event.getEntityPlayer(), COST, true); } }