Example usage for net.minecraftforge.event.world BlockEvent.BreakEvent getState

List of usage examples for net.minecraftforge.event.world BlockEvent.BreakEvent getState

Introduction

In this page you can find the example usage for net.minecraftforge.event.world BlockEvent.BreakEvent getState.

Prototype

public BlockState getState() 

Source Link

Usage

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);
    }
}