List of usage examples for net.minecraftforge.event.world BlockEvent.BreakEvent getState
public BlockState getState()
From source file:hellfirepvp.astralsorcery.common.event.listener.EventHandlerServer.java
License:Open Source License
@SubscribeEvent(priority = EventPriority.LOWEST) public void onBreak(BlockEvent.BreakEvent event) { if (event.getWorld().isRemote) return;// w w w .j a v a2s . c o m BlockPos at = event.getPos(); if (event.getState().getBlock().equals(Blocks.CRAFTING_TABLE)) { WorldNetworkHandler.getNetworkHandler(event.getWorld()).informTableRemoval(at); } }
From source file:vazkii.quark.tweaks.feature.HoeSickle.java
License:Creative Commons License
@SubscribeEvent public void onBlockBroken(BlockEvent.BreakEvent event) { World world = event.getWorld();/*w w w . j ava2s . c o m*/ EntityPlayer player = event.getPlayer(); BlockPos basePos = event.getPos(); ItemStack stack = player.getHeldItemMainhand(); if (!stack.isEmpty() && stack.getItem() instanceof ItemHoe && canHarvest(world, basePos, event.getState())) { int range = 1; if (stack.getItem() == Items.DIAMOND_HOE) range++; for (int i = -range; i < range + 1; i++) for (int k = -range; k < range + 1; k++) { if (i == 0 && k == 0) continue; BlockPos pos = basePos.add(i, 0, k); IBlockState state = world.getBlockState(pos); if (canHarvest(world, pos, state)) { Block block = state.getBlock(); if (block.canHarvestBlock(world, pos, player)) block.harvestBlock(world, player, pos, state, world.getTileEntity(pos), stack); world.setBlockToAir(pos); world.playEvent(2001, pos, Block.getIdFromBlock(block) + (block.getMetaFromState(state) << 12)); } } stack.damageItem(1, player); } }