- package net.minecraft.server;
- import java.util.Set;
- import com.google.common.collect.Sets;
- public class ItemHammer extends ItemTool{
- private static final Set<Block> c = Sets.newHashSet(new Block[] { Blocks.ACTIVATOR_RAIL, Blocks.COAL_ORE, Blocks.COBBLESTONE, Blocks.DETECTOR_RAIL, Blocks.DIAMOND_BLOCK, Blocks.DIAMOND_ORE, Blocks.DOUBLE_STONE_SLAB, Blocks.GOLDEN_RAIL, Blocks.GOLD_BLOCK, Blocks.GOLD_ORE, Blocks.ICE, Blocks.IRON_BLOCK, Blocks.IRON_ORE, Blocks.LAPIS_BLOCK, Blocks.LAPIS_ORE, Blocks.LIT_REDSTONE_ORE, Blocks.MOSSY_COBBLESTONE, Blocks.NETHERRACK, Blocks.PACKED_ICE, Blocks.RAIL, Blocks.REDSTONE_ORE, Blocks.SANDSTONE, Blocks.RED_SANDSTONE, Blocks.STONE, Blocks.STONE_SLAB});
- protected ItemHammer(Item.EnumToolMaterial item_enumtoolmaterial) {
- super(2.0F, item_enumtoolmaterial, ItemHammer.c);
- }
- public boolean canDestroySpecialBlock(Block block) {
- return block == Blocks.OBSIDIAN ? this.b.d() == 3 : (block != Blocks.DIAMOND_BLOCK && block != Blocks.DIAMOND_ORE ? (block != Blocks.EMERALD_ORE && block != Blocks.EMERALD_BLOCK ? (block != Blocks.GOLD_BLOCK && block != Blocks.GOLD_ORE ? (block != Blocks.IRON_BLOCK && block != Blocks.IRON_ORE ? (block != Blocks.LAPIS_BLOCK && block != Blocks.LAPIS_ORE ? (block != Blocks.REDSTONE_ORE && block != Blocks.LIT_REDSTONE_ORE ? (block.getMaterial() == Material.STONE ? true : (block.getMaterial() == Material.ORE ? true : block.getMaterial() == Material.HEAVY)) : this.b.d() >= 2) : this.b.d() >= 1) : this.b.d() >= 1) : this.b.d() >= 2) : this.b.d() >= 2) : this.b.d() >= 2);
- }
- public float getDestroySpeed(ItemStack itemstack, Block block) {
- return block.getMaterial() != Material.ORE && block.getMaterial() != Material.HEAVY && block.getMaterial() != Material.STONE ? super.getDestroySpeed(itemstack, block) : this.a;
- }
- public boolean onBlockDestroyed(ItemStack itemstack, World world, Block block, BlockPosition blockposition, EntityLiving entityliving) {
- BlockPosition posdown = blockposition.down();
- BlockPosition posup = blockposition.up();
- BlockPosition posright = null;
- BlockPosition posleft = null;
- BlockPosition postopleft = null;
- BlockPosition postopright = null;
- BlockPosition posdownleft = null;
- BlockPosition posdownright = null;
- EnumDirection enumfacing = entityliving.getDirection();
- switch(enumfacing)
- {
- case NORTH:
- posright = blockposition.east();
- posleft = blockposition.west();
- postopright = blockposition.up().east();
- posdownright = blockposition.down().east();
- postopleft = blockposition.up().west();
- posdownleft = blockposition.down().west();
- break;
- case SOUTH:
- posright = blockposition.east();
- posleft = blockposition.west();
- postopright = posright.up();
- posdownright = posright.down();
- postopleft = posleft.up();
- posdownleft = posleft.down();
- break;
- case EAST:
- posright = blockposition.north();
- posleft = blockposition.south();
- postopright = posright.up();
- posdownright = posright.down();
- postopleft = posleft.up();
- posdownleft = posleft.down();
- break;
- case WEST:
- posright = blockposition.north();
- posleft = blockposition.south();
- postopright = posright.up();
- posdownright = posright.down();
- postopleft = posleft.up();
- posdownleft = posleft.down();
- break;
- }
- world.setAir(posdown, true);
- world.setAir(posup, true);
- world.setAir(posright, true);
- world.setAir(posleft, true);
- world.setAir(postopleft, true);
- world.setAir(postopright, true);
- world.setAir(posdownleft, true);
- world.setAir(posdownright, true);
- return super.a(itemstack, world, block, blockposition, entityliving);
- }
- }
Parsed in 0.008 seconds