Problème compilation craftbukkit 1.5.2

Wade_xGamerzZ

Joueur Lambda
25 Juin 2013
28
1
3
26
Version: 1.5.2
API: Vanilla
Problème: Erreurs lors de la compilation
Code:
Block.java
Code:
package net.minecraft.server;
 
import java.util.List;
import java.util.Random;
 
import net.minecraft.server.Block;
import net.minecraft.server.BlockOre;
 
public class Block {
 
    private CreativeModeTab creativeTab;
    public static final StepSound f = new StepSound("stone", 1.0F, 1.0F);
    public static final StepSound g = new StepSound("wood", 1.0F, 1.0F);
    public static final StepSound h = new StepSound("gravel", 1.0F, 1.0F);
    public static final StepSound i = new StepSound("grass", 1.0F, 1.0F);
    public static final StepSound j = new StepSound("stone", 1.0F, 1.0F);
    public static final StepSound k = new StepSound("stone", 1.0F, 1.5F);
    public static final StepSound l = new StepSoundStone("stone", 1.0F, 1.0F);
    public static final StepSound m = new StepSound("cloth", 1.0F, 1.0F);
    public static final StepSound n = new StepSound("sand", 1.0F, 1.0F);
    public static final StepSound o = new StepSound("snow", 1.0F, 1.0F);
    public static final StepSound p = new StepSoundLadder("ladder", 1.0F, 1.0F);
    public static final StepSound q = new StepSoundAnvil("anvil", 0.3F, 1.0F);
    public static final Block[] byId = new Block[4096];
    public static final boolean[] s = new boolean[4096];
    public static final int[] lightBlock = new int[4096];
    public static final boolean[] u = new boolean[4096];
    public static final int[] lightEmission = new int[4096];
    public static boolean[] w = new boolean[4096];
    public static final Block STONE = (new BlockStone(1)).c(1.5F).b(10.0F).a(j).c("stone");
    public static final BlockGrass GRASS = (BlockGrass) (new BlockGrass(2)).c(0.6F).a(i).c("grass");
    public static final Block DIRT = (new BlockDirt(3)).c(0.5F).a(h).c("dirt");
    public static final Block COBBLESTONE = (new Block(4, Material.STONE)).c(2.0F).b(10.0F).a(j).c("stonebrick").a(CreativeModeTab.b);
    public static final Block WOOD = (new BlockWood(5)).c(2.0F).b(5.0F).a(g).c("wood");
    public static final Block SAPLING = (new BlockSapling(6)).c(0.0F).a(i).c("sapling");
    public static final Block BEDROCK = (new Block(7, Material.STONE)).r().b(6000000.0F).a(j).c("bedrock").D().a(CreativeModeTab.b);
    public static final BlockFluids WATER = (BlockFluids) (new BlockFlowing(8, Material.WATER)).c(100.0F).k(3).c("water").D();
    public static final Block STATIONARY_WATER = (new BlockStationary(9, Material.WATER)).c(100.0F).k(3).c("water").D();
    public static final BlockFluids LAVA = (BlockFluids) (new BlockFlowing(10, Material.LAVA)).c(0.0F).a(1.0F).c("lava").D();
    public static final Block STATIONARY_LAVA = (new BlockStationary(11, Material.LAVA)).c(100.0F).a(1.0F).c("lava").D();
    public static final Block SAND = (new BlockSand(12)).c(0.5F).a(n).c("sand");
    public static final Block GRAVEL = (new BlockGravel(13)).c(0.6F).a(h).c("gravel");
    public static final Block GOLD_ORE = (new BlockOre(14)).c(3.0F).b(5.0F).a(j).c("oreGold");
    public static final Block IRON_ORE = (new BlockOre(15)).c(3.0F).b(5.0F).a(j).c("oreIron");
    public static final Block COAL_ORE = (new BlockOre(16)).c(3.0F).b(5.0F).a(j).c("oreCoal");
    public static final Block LOG = (new BlockLog(17)).c(2.0F).a(g).c("log");
    public static final BlockLeaves LEAVES = (BlockLeaves) (new BlockLeaves(18)).c(0.2F).k(1).a(i).c("leaves");
    public static final Block SPONGE = (new BlockSponge(19)).c(0.6F).a(i).c("sponge");
    public static final Block GLASS = (new BlockGlass(20, Material.SHATTERABLE, false)).c(0.3F).a(l).c("glass");
    public static final Block LAPIS_ORE = (new BlockOre(21)).c(3.0F).b(5.0F).a(j).c("oreLapis");
    public static final Block LAPIS_BLOCK = (new Block(22, Material.STONE)).c(3.0F).b(5.0F).a(j).c("blockLapis").a(CreativeModeTab.b);
    public static final Block DISPENSER = (new BlockDispenser(23)).c(3.5F).a(j).c("dispenser");
    public static final Block SANDSTONE = (new BlockSandStone(24)).a(j).c(0.8F).c("sandStone");
    public static final Block NOTE_BLOCK = (new BlockNote(25)).c(0.8F).c("musicBlock");
    public static final Block BED = (new BlockBed(26)).c(0.2F).c("bed").D();
    public static final Block GOLDEN_RAIL = (new BlockPoweredRail(27)).c(0.7F).a(k).c("goldenRail");
    public static final Block DETECTOR_RAIL = (new BlockMinecartDetector(28)).c(0.7F).a(k).c("detectorRail");
    public static final BlockPiston PISTON_STICKY = (BlockPiston) (new BlockPiston(29, true)).c("pistonStickyBase");
    public static final Block WEB = (new BlockWeb(30)).k(1).c(4.0F).c("web");
    public static final BlockLongGrass LONG_GRASS = (BlockLongGrass) (new BlockLongGrass(31)).c(0.0F).a(i).c("tallgrass");
    public static final BlockDeadBush DEAD_BUSH = (BlockDeadBush) (new BlockDeadBush(32)).c(0.0F).a(i).c("deadbush");
    public static final BlockPiston PISTON = (BlockPiston) (new BlockPiston(33, false)).c("pistonBase");
    public static final BlockPistonExtension PISTON_EXTENSION = new BlockPistonExtension(34);
    public static final Block WOOL = (new BlockCloth()).c(0.8F).a(m).c("cloth");
    public static final BlockPistonMoving PISTON_MOVING = new BlockPistonMoving(36);
    public static final BlockFlower YELLOW_FLOWER = (BlockFlower) (new BlockFlower(37)).c(0.0F).a(i).c("flower");
    public static final BlockFlower RED_ROSE = (BlockFlower) (new BlockFlower(38)).c(0.0F).a(i).c("rose");
    public static final BlockFlower BROWN_MUSHROOM = (BlockFlower) (new BlockMushroom(39, "mushroom_brown")).c(0.0F).a(i).a(0.125F).c("mushroom");
    public static final BlockFlower RED_MUSHROOM = (BlockFlower) (new BlockMushroom(40, "mushroom_red")).c(0.0F).a(i).c("mushroom");
    public static final Block GOLD_BLOCK = (new BlockOreBlock(41)).c(3.0F).b(10.0F).a(k).c("blockGold");
    public static final Block IRON_BLOCK = (new BlockOreBlock(42)).c(5.0F).b(10.0F).a(k).c("blockIron");
    public static final BlockStepAbstract DOUBLE_STEP = (BlockStepAbstract) (new BlockStep(43, true)).c(2.0F).b(10.0F).a(j).c("stoneSlab");
    public static final BlockStepAbstract STEP = (BlockStepAbstract) (new BlockStep(44, false)).c(2.0F).b(10.0F).a(j).c("stoneSlab");
    public static final Block BRICK = (new Block(45, Material.STONE)).c(2.0F).b(10.0F).a(j).c("brick").a(CreativeModeTab.b);
    public static final Block TNT = (new BlockTNT(46)).c(0.0F).a(i).c("tnt");
    public static final Block BOOKSHELF = (new BlockBookshelf(47)).c(1.5F).a(g).c("bookshelf");
    public static final Block MOSSY_COBBLESTONE = (new Block(48, Material.STONE)).c(2.0F).b(10.0F).a(j).c("stoneMoss").a(CreativeModeTab.b);
    public static final Block OBSIDIAN = (new BlockObsidian(49)).c(50.0F).b(24.5F).a(j).c("obsidian");
    public static final Block TORCH = (new BlockTorch(50)).c(0.0F).a(0.9375F).a(g).c("torch");
    public static final BlockFire FIRE = (BlockFire) (new BlockFire(51)).c(0.0F).a(1.0F).a(g).c("fire").D();
    public static final Block MOB_SPAWNER = (new BlockMobSpawner(52)).c(5.0F).a(k).c("mobSpawner").D();
    public static final Block WOOD_STAIRS = (new BlockStairs(53, WOOD, 0)).c("stairsWood");
    public static final BlockChest CHEST = (BlockChest) (new BlockChest(54, 0)).c(2.5F).a(g).c("chest");
    public static final BlockRedstoneWire REDSTONE_WIRE = (BlockRedstoneWire) (new BlockRedstoneWire(55)).c(0.0F).a(f).c("redstoneDust").D();
    public static final Block DIAMOND_ORE = (new BlockOre(56)).c(3.0F).b(5.0F).a(j).c("oreDiamond");
    public static final Block DIAMOND_BLOCK = (new BlockOreBlock(57)).c(5.0F).b(10.0F).a(k).c("blockDiamond");
    public static final Block WORKBENCH = (new BlockWorkbench(58)).c(2.5F).a(g).c("workbench");
    public static final Block CROPS = (new BlockCrops(59)).c("crops");
    public static final Block SOIL = (new BlockSoil(60)).c(0.6F).a(h).c("farmland");
    public static final Block FURNACE = (new BlockFurnace(61, false)).c(3.5F).a(j).c("furnace").a(CreativeModeTab.c);
    public static final Block BURNING_FURNACE = (new BlockFurnace(62, true)).c(3.5F).a(j).a(0.875F).c("furnace");
    public static final Block SIGN_POST = (new BlockSign(63, TileEntitySign.class, true)).c(1.0F).a(g).c("sign").D();
    public static final Block WOODEN_DOOR = (new BlockDoor(64, Material.WOOD)).c(3.0F).a(g).c("doorWood").D();
    public static final Block LADDER = (new BlockLadder(65)).c(0.4F).a(p).c("ladder");
    public static final Block RAILS = (new BlockMinecartTrack(66)).c(0.7F).a(k).c("rail");
    public static final Block COBBLESTONE_STAIRS = (new BlockStairs(67, COBBLESTONE, 0)).c("stairsStone");
    public static final Block WALL_SIGN = (new BlockSign(68, TileEntitySign.class, false)).c(1.0F).a(g).c("sign").D();
    public static final Block LEVER = (new BlockLever(69)).c(0.5F).a(g).c("lever");
    public static final Block STONE_PLATE = (new BlockPressurePlateBinary(70, "stone", Material.STONE, EnumMobType.MOBS)).c(0.5F).a(j).c("pressurePlate");
    public static final Block IRON_DOOR_BLOCK = (new BlockDoor(71, Material.ORE)).c(5.0F).a(k).c("doorIron").D();
    public static final Block WOOD_PLATE = (new BlockPressurePlateBinary(72, "wood", Material.WOOD, EnumMobType.EVERYTHING)).c(0.5F).a(g).c("pressurePlate");
    public static final Block REDSTONE_ORE = (new BlockRedstoneOre(73, false)).c(3.0F).b(5.0F).a(j).c("oreRedstone").a(CreativeModeTab.b);
    public static final Block GLOWING_REDSTONE_ORE = (new BlockRedstoneOre(74, true)).a(0.625F).c(3.0F).b(5.0F).a(j).c("oreRedstone");
    public static final Block REDSTONE_TORCH_OFF = (new BlockRedstoneTorch(75, false)).c(0.0F).a(g).c("notGate");
    public static final Block REDSTONE_TORCH_ON = (new BlockRedstoneTorch(76, true)).c(0.0F).a(0.5F).a(g).c("notGate").a(CreativeModeTab.d);
    public static final Block STONE_BUTTON = (new BlockStoneButton(77)).c(0.5F).a(j).c("button");
    public static final Block SNOW = (new BlockSnow(78)).c(0.1F).a(o).c("snow").k(0);
    public static final Block ICE = (new BlockIce(79)).c(0.5F).k(3).a(l).c("ice");
    public static final Block SNOW_BLOCK = (new BlockSnowBlock(80)).c(0.2F).a(o).c("snow");
    public static final Block CACTUS = (new BlockCactus(81)).c(0.4F).a(m).c("cactus");
    public static final Block CLAY = (new BlockClay(82)).c(0.6F).a(h).c("clay");
    public static final Block SUGAR_CANE_BLOCK = (new BlockReed(83)).c(0.0F).a(i).c("reeds").D();
    public static final Block JUKEBOX = (new BlockJukeBox(84)).c(2.0F).b(10.0F).a(j).c("jukebox");
    public static final Block FENCE = (new BlockFence(85, "wood", Material.WOOD)).c(2.0F).b(5.0F).a(g).c("fence");
    public static final Block PUMPKIN = (new BlockPumpkin(86, false)).c(1.0F).a(g).c("pumpkin");
    public static final Block NETHERRACK = (new BlockBloodStone(87)).c(0.4F).a(j).c("hellrock");
    public static final Block SOUL_SAND = (new BlockSlowSand(88)).c(0.5F).a(n).c("hellsand");
    public static final Block GLOWSTONE = (new BlockLightStone(89, Material.SHATTERABLE)).c(0.3F).a(l).a(1.0F).c("lightgem");
    public static final BlockPortal PORTAL = (BlockPortal) (new BlockPortal(90)).c(-1.0F).a(l).a(0.75F).c("portal");
    public static final Block JACK_O_LANTERN = (new BlockPumpkin(91, true)).c(1.0F).a(g).a(1.0F).c("litpumpkin");
    public static final Block CAKE_BLOCK = (new BlockCake(92)).c(0.5F).a(m).c("cake").D();
    public static final BlockRepeater DIODE_OFF = (BlockRepeater) (new BlockRepeater(93, false)).c(0.0F).a(g).c("diode").D();
    public static final BlockRepeater DIODE_ON = (BlockRepeater) (new BlockRepeater(94, true)).c(0.0F).a(0.625F).a(g).c("diode").D();
    public static final Block LOCKED_CHEST = (new BlockLockedChest(95)).c(0.0F).a(1.0F).a(g).c("lockedchest").b(true);
    public static final Block TRAP_DOOR = (new BlockTrapdoor(96, Material.WOOD)).c(3.0F).a(g).c("trapdoor").D();
    public static final Block MONSTER_EGGS = (new BlockMonsterEggs(97)).c(0.75F).c("monsterStoneEgg");
    public static final Block SMOOTH_BRICK = (new BlockSmoothBrick(98)).c(1.5F).b(10.0F).a(j).c("stonebricksmooth");
    public static final Block BIG_MUSHROOM_1 = (new BlockHugeMushroom(99, Material.WOOD, 0)).c(0.2F).a(g).c("mushroom");
    public static final Block BIG_MUSHROOM_2 = (new BlockHugeMushroom(100, Material.WOOD, 1)).c(0.2F).a(g).c("mushroom");
    public static final Block IRON_FENCE = (new BlockThinFence(101, "fenceIron", "fenceIron", Material.ORE, true)).c(5.0F).b(10.0F).a(k).c("fenceIron");
    public static final Block THIN_GLASS = (new BlockThinFence(102, "glass", "thinglass_top", Material.SHATTERABLE, false)).c(0.3F).a(l).c("thinGlass");
    public static final Block MELON = (new BlockMelon(103)).c(1.0F).a(g).c("melon");
    public static final Block PUMPKIN_STEM = (new BlockStem(104, PUMPKIN)).c(0.0F).a(g).c("pumpkinStem");
    public static final Block MELON_STEM = (new BlockStem(105, MELON)).c(0.0F).a(g).c("pumpkinStem");
    public static final Block VINE = (new BlockVine(106)).c(0.2F).a(i).c("vine");
    public static final Block FENCE_GATE = (new BlockFenceGate(107)).c(2.0F).b(5.0F).a(g).c("fenceGate");
    public static final Block BRICK_STAIRS = (new BlockStairs(108, BRICK, 0)).c("stairsBrick");
    public static final Block STONE_STAIRS = (new BlockStairs(109, SMOOTH_BRICK, 0)).c("stairsStoneBrickSmooth");
    public static final BlockMycel MYCEL = (BlockMycel) (new BlockMycel(110)).c(0.6F).a(i).c("mycel");
    public static final Block WATER_LILY = (new BlockWaterLily(111)).c(0.0F).a(i).c("waterlily");
    public static final Block NETHER_BRICK = (new Block(112, Material.STONE)).c(2.0F).b(10.0F).a(j).c("netherBrick").a(CreativeModeTab.b);
    public static final Block NETHER_FENCE = (new BlockFence(113, "netherBrick", Material.STONE)).c(2.0F).b(10.0F).a(j).c("netherFence");
    public static final Block NETHER_BRICK_STAIRS = (new BlockStairs(114, NETHER_BRICK, 0)).c("stairsNetherBrick");
    public static final Block NETHER_WART = (new BlockNetherWart(115)).c("netherStalk");
    public static final Block ENCHANTMENT_TABLE = (new BlockEnchantmentTable(116)).c(5.0F).b(2000.0F).c("enchantmentTable");
    public static final Block BREWING_STAND = (new BlockBrewingStand(117)).c(0.5F).a(0.125F).c("brewingStand");
    public static final BlockCauldron CAULDRON = (BlockCauldron) (new BlockCauldron(118)).c(2.0F).c("cauldron");
    public static final Block ENDER_PORTAL = (new BlockEnderPortal(119, Material.PORTAL)).c(-1.0F).b(6000000.0F);
    public static final Block ENDER_PORTAL_FRAME = (new BlockEnderPortalFrame(120)).a(l).a(0.125F).c(-1.0F).c("endPortalFrame").b(6000000.0F).a(CreativeModeTab.c);
    public static final Block WHITESTONE = (new Block(121, Material.STONE)).c(3.0F).b(15.0F).a(j).c("whiteStone").a(CreativeModeTab.b);
    public static final Block DRAGON_EGG = (new BlockDragonEgg(122)).c(3.0F).b(15.0F).a(j).a(0.125F).c("dragonEgg");
    public static final Block REDSTONE_LAMP_OFF = (new BlockRedstoneLamp(123, false)).c(0.3F).a(l).c("redstoneLight").a(CreativeModeTab.d);
    public static final Block REDSTONE_LAMP_ON = (new BlockRedstoneLamp(124, true)).c(0.3F).a(l).c("redstoneLight");
    public static final BlockStepAbstract WOOD_DOUBLE_STEP = (BlockStepAbstract) (new BlockWoodStep(125, true)).c(2.0F).b(5.0F).a(g).c("woodSlab");
    public static final BlockStepAbstract WOOD_STEP = (BlockStepAbstract) (new BlockWoodStep(126, false)).c(2.0F).b(5.0F).a(g).c("woodSlab");
    public static final Block COCOA = (new BlockCocoa(127)).c(0.2F).b(5.0F).a(g).c("cocoa");
    public static final Block SANDSTONE_STAIRS = (new BlockStairs(128, SANDSTONE, 0)).c("stairsSandStone");
    public static final Block EMERALD_ORE = (new BlockOre(129)).c(3.0F).b(5.0F).a(j).c("oreEmerald");
    public static final Block ENDER_CHEST = (new BlockEnderChest(130)).c(22.5F).b(1000.0F).a(j).c("enderChest").a(0.5F);
    public static final BlockTripwireHook TRIPWIRE_SOURCE = (BlockTripwireHook) (new BlockTripwireHook(131)).c("tripWireSource");
    public static final Block TRIPWIRE = (new BlockTripwire(132)).c("tripWire");
    public static final Block EMERALD_BLOCK = (new BlockOreBlock(133)).c(5.0F).b(10.0F).a(k).c("blockEmerald");
    public static final Block SPRUCE_WOOD_STAIRS = (new BlockStairs(134, WOOD, 1)).c("stairsWoodSpruce");
    public static final Block BIRCH_WOOD_STAIRS = (new BlockStairs(135, WOOD, 2)).c("stairsWoodBirch");
    public static final Block JUNGLE_WOOD_STAIRS = (new BlockStairs(136, WOOD, 3)).c("stairsWoodJungle");
    public static final Block COMMAND = (new BlockCommand(137)).c("commandBlock");
    public static final BlockBeacon BEACON = (BlockBeacon) (new BlockBeacon(138)).c("beacon").a(1.0F);
    public static final Block COBBLE_WALL = (new BlockCobbleWall(139, COBBLESTONE)).c("cobbleWall");
    public static final Block FLOWER_POT = (new BlockFlowerPot(140)).c(0.0F).a(f).c("flowerPot");
    public static final Block CARROTS = (new BlockCarrots(141)).c("carrots");
    public static final Block POTATOES = (new BlockPotatoes(142)).c("potatoes");
    public static final Block WOOD_BUTTON = (new BlockWoodButton(143)).c(0.5F).a(g).c("button");
    public static final Block SKULL = (new BlockSkull(144)).c(1.0F).a(j).c("skull");
    public static final Block ANVIL = (new BlockAnvil(145)).c(5.0F).a(q).b(2000.0F).c("anvil");
    public static final Block TRAPPED_CHEST = (new BlockChest(146, 1)).c(2.5F).a(g).c("chestTrap");
    public static final Block GOLD_PLATE = (new BlockPressurePlateWeighted(147, "blockGold", Material.ORE, 64)).c(0.5F).a(g).c("weightedPlate_light");
    public static final Block IRON_PLATE = (new BlockPressurePlateWeighted(148, "blockIron", Material.ORE, 640)).c(0.5F).a(g).c("weightedPlate_heavy");
    public static final BlockRedstoneComparator REDSTONE_COMPARATOR_OFF = (BlockRedstoneComparator) (new BlockRedstoneComparator(149, false)).c(0.0F).a(g).c("comparator").D();
    public static final BlockRedstoneComparator REDSTONE_COMPARATOR_ON = (BlockRedstoneComparator) (new BlockRedstoneComparator(150, true)).c(0.0F).a(0.625F).a(g).c("comparator").D();
    public static final BlockDaylightDetector DAYLIGHT_DETECTOR = (BlockDaylightDetector) (new BlockDaylightDetector(151)).c(0.2F).a(g).c("daylightDetector");
    public static final Block REDSTONE_BLOCK = (new BlockRedstone(152)).c(5.0F).b(10.0F).a(k).c("blockRedstone");
    public static final Block QUARTZ_ORE = (new BlockOre(153)).c(3.0F).b(5.0F).a(j).c("netherquartz");
    public static final BlockHopper HOPPER = (BlockHopper) (new BlockHopper(154)).c(3.0F).b(8.0F).a(g).c("hopper");
    public static final Block QUARTZ_BLOCK = (new BlockQuartz(155)).a(j).c(0.8F).c("quartzBlock");
    public static final Block QUARTZ_STAIRS = (new BlockStairs(156, QUARTZ_BLOCK, 0)).c("stairsQuartz");
    public static final Block ACTIVATOR_RAIL = (new BlockPoweredRail(157)).c(0.7F).a(k).c("activatorRail");
    public static final Block DROPPER = (new BlockDropper(158)).c(3.5F).a(j).c("dropper");
    public static final Block COPPER_ORE = (new BlockOre(244)).c(3.0F).b(5.0F).a(j).c("oreCopper");
    public static final Block TOPAZ_ORE = (new BlockOre(245)).c(3.0F).b(5.0F).a(j).c("oreTopaz");
    public static final Block RUBIS_ORE = (new BlockOre(246)).c(3.0F).b(5.0F).a(j).c("oreRubis");
    public static final Block AMETHISTE_ORE = (new BlockOre(247)).c(3.0F).b(5.0F).a(j).c("oreAmethiste");
    public static final Block MITHRILLE_ORE = (new BlockOre(248)).c(3.0F).b(5.0F).a(j).c("oreMithrille");
    public static final Block COPPER_BLOCK = (new BlockOreBlock(249)).c(3.0F).b(10.0F).a(k).c("blockCopper");
    public static final Block TOPAZ_BLOCK = (new BlockOreBlock(250)).c(3.0F).b(10.0F).a(k).c("blockTopaz");
    public static final Block RUBIS_BLOCK = (new BlockOreBlock(251)).c(3.0F).b(10.0F).a(k).c("blockRubis");
    public static final Block AMETHISTE_BLOCK = (new BlockOreBlock(252)).c(3.0F).b(10.0F).a(k).c("blockAmethiste");
    public static final Block MITHRILLE_BLOCK = (new BlockOreBlock(253)).c(3.0F).b(10.0F).a(k).c("blockMithrille");
    public static final Block RENFORCEDOBSIDIAN = (new BlockRenforcedObsidian(254)).c(50.0F).b(6000.0F).a(j).c("renforcedObsidian");
    public static final Block INVISIBLE = (new BlockInvisible(255)).c(1000000.0F).b(1000000.0F).a(j).c("invisible");
    
    public final int id;
    protected float strength;
    protected float durability;
    protected boolean cC = true;
    protected boolean cD = true;
    protected boolean cE;
    protected boolean isTileEntity;
    protected double minX;
    protected double minY;
    protected double minZ;
    protected double maxX;
    protected double maxY;
    protected double maxZ;
    public StepSound stepSound;
    public float cN;
    public final Material material;
    public float frictionFactor;
    private String name;
 
    protected Block(int i, Material material) {
        this.stepSound = f;
        this.cN = 1.0F;
        this.frictionFactor = 0.6F;
        if (byId[i] != null) {
            throw new IllegalArgumentException("Slot " + i + " is already occupied by " + byId[i] + " when adding " + this);
        } else {
            this.material = material;
            byId[i] = this;
            this.id = i;
            this.a(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
            s[i] = this.c();
            lightBlock[i] = this.c() ? 255 : 0;
            u[i] = !material.blocksLight();
        }
    }
 
    protected void s_() {}
 
    protected Block a(StepSound stepsound) {
        this.stepSound = stepsound;
        return this;
    }
 
    protected Block k(int i) {
        lightBlock[this.id] = i;
        return this;
    }
 
    protected Block a(float f) {
        lightEmission[this.id] = (int) (15.0F * f);
        return this;
    }
 
    protected Block b(float f) {
        this.durability = f * 3.0F;
        return this;
    }
 
    public static boolean l(int i) {
        Block block = byId[i];
 
        return block == null ? false : block.material.k() && block.b() && !block.isPowerSource();
    }
 
    public boolean b() {
        return true;
    }
 
    public boolean b(IBlockAccess iblockaccess, int i, int j, int k) {
        return !this.material.isSolid();
    }
 
    public int d() {
        return 0;
    }
 
    protected Block c(float f) {
        this.strength = f;
        if (this.durability < f * 5.0F) {
            this.durability = f * 5.0F;
        }
 
        return this;
    }
 
    protected Block r() {
        this.c(-1.0F);
        return this;
    }
 
    public float l(World world, int i, int j, int k) {
        return this.strength;
    }
 
    protected Block b(boolean flag) {
        this.cE = flag;
        return this;
    }
 
    public boolean isTicking() {
        return this.cE;
    }
 
    public boolean t() {
        return this.isTileEntity;
    }
 
    protected final void a(float f, float f1, float f2, float f3, float f4, float f5) {
        this.minX = (double) f;
        this.minY = (double) f1;
        this.minZ = (double) f2;
        this.maxX = (double) f3;
        this.maxY = (double) f4;
        this.maxZ = (double) f5;
    }
 
    public boolean a_(IBlockAccess iblockaccess, int i, int j, int k, int l) {
        return iblockaccess.getMaterial(i, j, k).isBuildable();
    }
 
    public void a(World world, int i, int j, int k, AxisAlignedBB axisalignedbb, List list, Entity entity) {
        AxisAlignedBB axisalignedbb1 = this.b(world, i, j, k);
 
        if (axisalignedbb1 != null && axisalignedbb.a(axisalignedbb1)) {
            list.add(axisalignedbb1);
        }
    }
 
    public AxisAlignedBB b(World world, int i, int j, int k) {
        return AxisAlignedBB.a().a((double) i + this.minX, (double) j + this.minY, (double) k + this.minZ, (double) i + this.maxX, (double) j + this.maxY, (double) k + this.maxZ);
    }
 
    public boolean c() {
        return true;
    }
 
    public boolean a(int i, boolean flag) {
        return this.m();
    }
 
    public boolean m() {
        return true;
    }
 
    public void a(World world, int i, int j, int k, Random random) {}
 
    public void postBreak(World world, int i, int j, int k, int l) {}
 
    public void doPhysics(World world, int i, int j, int k, int l) {}
 
    public int a(World world) {
        return 10;
    }
 
    public void onPlace(World world, int i, int j, int k) {}
 
    public void remove(World world, int i, int j, int k, int l, int i1) {}
 
    public int a(Random random) {
        return 1;
    }
 
    public int getDropType(int i, Random random, int j) {
        return this.id;
    }
 
    public float getDamage(EntityHuman entityhuman, World world, int i, int j, int k) {
        float f = this.l(world, i, j, k);
 
        return f < 0.0F ? 0.0F : (!entityhuman.a(this) ? entityhuman.a(this, false) / f / 100.0F : entityhuman.a(this, true) / f / 30.0F);
    }
 
    public final void c(World world, int i, int j, int k, int l, int i1) {
        this.dropNaturally(world, i, j, k, l, 1.0F, i1);
    }
 
    public void dropNaturally(World world, int i, int j, int k, int l, float f, int i1) {
        if (!world.isStatic) {
            int j1 = this.getDropCount(i1, world.random);
 
            for (int k1 = 0; k1 < j1; ++k1) {
                // CraftBukkit - <= to < to allow for plugins to completely disable block drops from explosions
                if (world.random.nextFloat() < f) {
                    int l1 = this.getDropType(l, world.random, i1);
 
                    if (l1 > 0) {
                        this.b(world, i, j, k, new ItemStack(l1, 1, this.getDropData(l)));
                    }
                }
            }
        }
    }
 
    protected void b(World world, int i, int j, int k, ItemStack itemstack) {
        if (!world.isStatic && world.getGameRules().getBoolean("doTileDrops")) {
            float f = 0.7F;
            double d0 = (double) (world.random.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
            double d1 = (double) (world.random.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
            double d2 = (double) (world.random.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
            EntityItem entityitem = new EntityItem(world, (double) i + d0, (double) j + d1, (double) k + d2, itemstack);
 
            entityitem.pickupDelay = 10;
            world.addEntity(entityitem);
        }
    }
 
    protected void j(World world, int i, int j, int k, int l) {
        if (!world.isStatic) {
            while (l > 0) {
                int i1 = EntityExperienceOrb.getOrbValue(l);
 
                l -= i1;
                world.addEntity(new EntityExperienceOrb(world, (double) i + 0.5D, (double) j + 0.5D, (double) k + 0.5D, i1));
            }
        }
    }
 
    public int getDropData(int i) {
        return 0;
    }
 
    public float a(Entity entity) {
        return this.durability / 5.0F;
    }
 
    public MovingObjectPosition a(World world, int i, int j, int k, Vec3D vec3d, Vec3D vec3d1) {
        this.updateShape(world, i, j, k);
        vec3d = vec3d.add((double) (-i), (double) (-j), (double) (-k));
        vec3d1 = vec3d1.add((double) (-i), (double) (-j), (double) (-k));
        Vec3D vec3d2 = vec3d.b(vec3d1, this.minX);
        Vec3D vec3d3 = vec3d.b(vec3d1, this.maxX);
        Vec3D vec3d4 = vec3d.c(vec3d1, this.minY);
        Vec3D vec3d5 = vec3d.c(vec3d1, this.maxY);
        Vec3D vec3d6 = vec3d.d(vec3d1, this.minZ);
        Vec3D vec3d7 = vec3d.d(vec3d1, this.maxZ);
 
        if (!this.a(vec3d2)) {
            vec3d2 = null;
        }
 
        if (!this.a(vec3d3)) {
            vec3d3 = null;
        }
 
        if (!this.b(vec3d4)) {
            vec3d4 = null;
        }
 
        if (!this.b(vec3d5)) {
            vec3d5 = null;
        }
 
        if (!this.c(vec3d6)) {
            vec3d6 = null;
        }
 
        if (!this.c(vec3d7)) {
            vec3d7 = null;
        }
 
        Vec3D vec3d8 = null;
 
        if (vec3d2 != null && (vec3d8 == null || vec3d.distanceSquared(vec3d2) < vec3d.distanceSquared(vec3d8))) {
            vec3d8 = vec3d2;
        }
 
        if (vec3d3 != null && (vec3d8 == null || vec3d.distanceSquared(vec3d3) < vec3d.distanceSquared(vec3d8))) {
            vec3d8 = vec3d3;
        }
 
        if (vec3d4 != null && (vec3d8 == null || vec3d.distanceSquared(vec3d4) < vec3d.distanceSquared(vec3d8))) {
            vec3d8 = vec3d4;
        }
 
        if (vec3d5 != null && (vec3d8 == null || vec3d.distanceSquared(vec3d5) < vec3d.distanceSquared(vec3d8))) {
            vec3d8 = vec3d5;
        }
 
        if (vec3d6 != null && (vec3d8 == null || vec3d.distanceSquared(vec3d6) < vec3d.distanceSquared(vec3d8))) {
            vec3d8 = vec3d6;
        }
 
        if (vec3d7 != null && (vec3d8 == null || vec3d.distanceSquared(vec3d7) < vec3d.distanceSquared(vec3d8))) {
            vec3d8 = vec3d7;
        }
 
        if (vec3d8 == null) {
            return null;
        } else {
            byte b0 = -1;
 
            if (vec3d8 == vec3d2) {
                b0 = 4;
            }
 
            if (vec3d8 == vec3d3) {
                b0 = 5;
            }
 
            if (vec3d8 == vec3d4) {
                b0 = 0;
            }
 
            if (vec3d8 == vec3d5) {
                b0 = 1;
            }
 
            if (vec3d8 == vec3d6) {
                b0 = 2;
            }
 
            if (vec3d8 == vec3d7) {
                b0 = 3;
            }
 
            return new MovingObjectPosition(i, j, k, b0, vec3d8.add((double) i, (double) j, (double) k));
        }
    }
 
    private boolean a(Vec3D vec3d) {
        return vec3d == null ? false : vec3d.d >= this.minY && vec3d.d <= this.maxY && vec3d.e >= this.minZ && vec3d.e <= this.maxZ;
    }
 
    private boolean b(Vec3D vec3d) {
        return vec3d == null ? false : vec3d.c >= this.minX && vec3d.c <= this.maxX && vec3d.e >= this.minZ && vec3d.e <= this.maxZ;
    }
 
    private boolean c(Vec3D vec3d) {
        return vec3d == null ? false : vec3d.c >= this.minX && vec3d.c <= this.maxX && vec3d.d >= this.minY && vec3d.d <= this.maxY;
    }
 
    public void wasExploded(World world, int i, int j, int k, Explosion explosion) {}
 
    public boolean canPlace(World world, int i, int j, int k, int l, ItemStack itemstack) {
        return this.canPlace(world, i, j, k, l);
    }
 
    public boolean canPlace(World world, int i, int j, int k, int l) {
        return this.canPlace(world, i, j, k);
    }
 
    public boolean canPlace(World world, int i, int j, int k) {
        int l = world.getTypeId(i, j, k);
 
        return l == 0 || byId[l].material.isReplaceable();
    }
 
    public boolean interact(World world, int i, int j, int k, EntityHuman entityhuman, int l, float f, float f1, float f2) {
        return false;
    }
 
    public void b(World world, int i, int j, int k, Entity entity) {}
 
    public int getPlacedData(World world, int i, int j, int k, int l, float f, float f1, float f2, int i1) {
        return i1;
    }
 
    public void attack(World world, int i, int j, int k, EntityHuman entityhuman) {}
 
    public void a(World world, int i, int j, int k, Entity entity, Vec3D vec3d) {}
 
    public void updateShape(IBlockAccess iblockaccess, int i, int j, int k) {}
 
    public final double u() {
        return this.minX;
    }
 
    public final double v() {
        return this.maxX;
    }
 
    public final double w() {
        return this.minY;
    }
 
    public final double x() {
        return this.maxY;
    }
 
    public final double y() {
        return this.minZ;
    }
 
    public final double z() {
        return this.maxZ;
    }
 
    public int b(IBlockAccess iblockaccess, int i, int j, int k, int l) {
        return 0;
    }
 
    public boolean isPowerSource() {
        return false;
    }
 
    public void a(World world, int i, int j, int k, Entity entity) {}
 
    public int c(IBlockAccess iblockaccess, int i, int j, int k, int l) {
        return 0;
    }
 
    public void g() {}
 
    public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) {
        entityhuman.a(StatisticList.C[this.id], 1);
        entityhuman.j(0.025F);
        if (this.r_() && EnchantmentManager.hasSilkTouchEnchantment(entityhuman)) {
            ItemStack itemstack = this.c_(l);
 
            if (itemstack != null) {
                this.b(world, i, j, k, itemstack);
            }
        } else {
            int i1 = EnchantmentManager.getBonusBlockLootEnchantmentLevel(entityhuman);
 
            this.c(world, i, j, k, l, i1);
        }
    }
 
    protected boolean r_() {
        return this.b() && !this.isTileEntity;
    }
 
    protected ItemStack c_(int i) {
        int j = 0;
 
        if (this.id >= 0 && this.id < Item.byId.length && Item.byId[this.id].m()) {
            j = i;
        }
 
        return new ItemStack(this.id, 1, j);
    }
 
    public int getDropCount(int i, Random random) {
        return this.a(random);
    }
 
    public boolean f(World world, int i, int j, int k) {
        return true;
    }
 
    public void postPlace(World world, int i, int j, int k, EntityLiving entityliving, ItemStack itemstack) {}
 
    public void postPlace(World world, int i, int j, int k, int l) {}
 
    public Block c(String s) {
        this.name = s;
        return this;
    }
 
    public String getName() {
        return LocaleI18n.get(this.a() + ".name");
    }
 
    public String a() {
        return "tile." + this.name;
    }
 
    public boolean b(World world, int i, int j, int k, int l, int i1) {
        return false;
    }
 
    public boolean C() {
        return this.cD;
    }
 
    protected Block D() {
        this.cD = false;
        return this;
    }
 
    public int h() {
        return this.material.getPushReaction();
    }
 
    public void a(World world, int i, int j, int k, Entity entity, float f) {}
 
    public int getDropData(World world, int i, int j, int k) {
        return this.getDropData(world.getData(i, j, k));
    }
 
    public Block a(CreativeModeTab creativemodetab) {
        this.creativeTab = creativemodetab;
        return this;
    }
 
    public void a(World world, int i, int j, int k, int l, EntityHuman entityhuman) {}
 
    public void l(World world, int i, int j, int k, int l) {}
 
    public void g(World world, int i, int j, int k) {}
 
    public boolean l() {
        return true;
    }
 
    public boolean a(Explosion explosion) {
        return true;
    }
 
    public boolean i(int i) {
        return this.id == i;
    }
 
    public static boolean b(int i, int j) {
        return i == j ? true : (i != 0 && j != 0 && byId[i] != null && byId[j] != null ? byId[i].i(j) : false);
    }
 
    public boolean q_() {
        return false;
    }
 
    public int b_(World world, int i, int j, int k, int l) {
        return 0;
    }
 
    static {
        Item.byId[WOOL.id] = (new ItemCloth(WOOL.id - 256)).b("cloth");
        Item.byId[LOG.id] = (new ItemMultiTexture(LOG.id - 256, LOG, BlockLog.a)).b("log");
        Item.byId[WOOD.id] = (new ItemMultiTexture(WOOD.id - 256, WOOD, BlockWood.a)).b("wood");
        Item.byId[MONSTER_EGGS.id] = (new ItemMultiTexture(MONSTER_EGGS.id - 256, MONSTER_EGGS, BlockMonsterEggs.a)).b("monsterStoneEgg");
        Item.byId[SMOOTH_BRICK.id] = (new ItemMultiTexture(SMOOTH_BRICK.id - 256, SMOOTH_BRICK, BlockSmoothBrick.a)).b("stonebricksmooth");
        Item.byId[SANDSTONE.id] = (new ItemMultiTexture(SANDSTONE.id - 256, SANDSTONE, BlockSandStone.a)).b("sandStone");
        Item.byId[QUARTZ_BLOCK.id] = (new ItemMultiTexture(QUARTZ_BLOCK.id - 256, QUARTZ_BLOCK, BlockQuartz.a)).b("quartzBlock");
        Item.byId[STEP.id] = (new ItemStep(STEP.id - 256, STEP, DOUBLE_STEP, false)).b("stoneSlab");
        Item.byId[DOUBLE_STEP.id] = (new ItemStep(DOUBLE_STEP.id - 256, STEP, DOUBLE_STEP, true)).b("stoneSlab");
        Item.byId[WOOD_STEP.id] = (new ItemStep(WOOD_STEP.id - 256, WOOD_STEP, WOOD_DOUBLE_STEP, false)).b("woodSlab");
        Item.byId[WOOD_DOUBLE_STEP.id] = (new ItemStep(WOOD_DOUBLE_STEP.id - 256, WOOD_STEP, WOOD_DOUBLE_STEP, true)).b("woodSlab");
        Item.byId[SAPLING.id] = (new ItemMultiTexture(SAPLING.id - 256, SAPLING, BlockSapling.a)).b("sapling");
        Item.byId[LEAVES.id] = (new ItemLeaves(LEAVES.id - 256)).b("leaves");
        Item.byId[VINE.id] = new ItemWithAuxData(VINE.id - 256, false);
        Item.byId[LONG_GRASS.id] = (new ItemWithAuxData(LONG_GRASS.id - 256, true)).a(new String[] { "shrub", "grass", "fern"});
        Item.byId[SNOW.id] = new ItemSnow(SNOW.id - 256, SNOW);
        Item.byId[WATER_LILY.id] = new ItemWaterLily(WATER_LILY.id - 256);
        Item.byId[PISTON.id] = new ItemPiston(PISTON.id - 256);
        Item.byId[PISTON_STICKY.id] = new ItemPiston(PISTON_STICKY.id - 256);
        Item.byId[COBBLE_WALL.id] = (new ItemMultiTexture(COBBLE_WALL.id - 256, COBBLE_WALL, BlockCobbleWall.a)).b("cobbleWall");
        Item.byId[ANVIL.id] = (new ItemAnvil(ANVIL)).b("anvil");
        // CraftBukkit start
        Item.byId[BIG_MUSHROOM_1.id] = new ItemWithAuxData(BIG_MUSHROOM_1.id - 256, true);
        Item.byId[BIG_MUSHROOM_2.id] = new ItemWithAuxData(BIG_MUSHROOM_2.id - 256, true);
        Item.byId[MOB_SPAWNER.id] = new ItemWithAuxData(MOB_SPAWNER.id - 256, true);
        // CraftBukkit end
 
        for (int i = 0; i < 256; ++i) {
            if (byId[i] != null) {
                if (Item.byId[i] == null) {
                    Item.byId[i] = new ItemBlock(i - 256);
                    byId[i].s_();
                }
 
                boolean flag = false;
 
                if (i > 0 && byId[i].d() == 10) {
                    flag = true;
                }
 
                if (i > 0 && byId[i] instanceof BlockStepAbstract) {
                    flag = true;
                }
 
                if (i == SOIL.id) {
                    flag = true;
                }
 
                if (u[i]) {
                    flag = true;
                }
 
                if (lightBlock[i] == 0) {
                    flag = true;
                }
 
                w[i] = flag;
            }
        }
 
        u[0] = true;
        StatisticList.b();
    }
 
    // CraftBukkit start
    public int getExpDrop(World world, int data, int enchantmentLevel) {
        return 0;
    }
    // CraftBukkit end
}
Material.java
Code:
package org.bukkit;
 
import java.lang.reflect.Constructor;
import java.util.Map;
 
import org.apache.commons.lang.Validate;
import org.bukkit.map.MapView;
import org.bukkit.material.Bed;
import org.bukkit.material.Button;
import org.bukkit.material.Cake;
import org.bukkit.material.Cauldron;
import org.bukkit.material.Chest;
import org.bukkit.material.Coal;
import org.bukkit.material.CocoaPlant;
import org.bukkit.material.Command;
import org.bukkit.material.Crops;
import org.bukkit.material.DetectorRail;
import org.bukkit.material.Diode;
import org.bukkit.material.DirectionalContainer;
import org.bukkit.material.Dispenser;
import org.bukkit.material.Door;
import org.bukkit.material.Dye;
import org.bukkit.material.EnderChest;
import org.bukkit.material.FlowerPot;
import org.bukkit.material.Furnace;
import org.bukkit.material.Gate;
import org.bukkit.material.Ladder;
import org.bukkit.material.Lever;
import org.bukkit.material.LongGrass;
import org.bukkit.material.MaterialData;
import org.bukkit.material.MonsterEggs;
import org.bukkit.material.Mushroom;
import org.bukkit.material.NetherWarts;
import org.bukkit.material.PistonBaseMaterial;
import org.bukkit.material.PistonExtensionMaterial;
import org.bukkit.material.PoweredRail;
import org.bukkit.material.PressurePlate;
import org.bukkit.material.Pumpkin;
import org.bukkit.material.Rails;
import org.bukkit.material.RedstoneTorch;
import org.bukkit.material.RedstoneWire;
import org.bukkit.material.Sandstone;
import org.bukkit.material.Sign;
import org.bukkit.material.Skull;
import org.bukkit.material.SmoothBrick;
import org.bukkit.material.SpawnEgg;
import org.bukkit.material.Stairs;
import org.bukkit.material.Step;
import org.bukkit.material.Torch;
import org.bukkit.material.TrapDoor;
import org.bukkit.material.Tree;
import org.bukkit.material.Tripwire;
import org.bukkit.material.TripwireHook;
import org.bukkit.material.Vine;
import org.bukkit.material.WoodenStep;
import org.bukkit.material.Wool;
import org.bukkit.potion.Potion;
import org.bukkit.util.Java15Compat;
 
import com.google.common.collect.Maps;
 
/**
 * An enum of all material ids accepted by the official server + client
 */
public enum Material {
    AIR(0, 0),
    STONE(1),
    GRASS(2),
    DIRT(3),
    COBBLESTONE(4),
    WOOD(5, Tree.class),
    SAPLING(6, Tree.class),
    BEDROCK(7),
    WATER(8, MaterialData.class),
    STATIONARY_WATER(9, MaterialData.class),
    LAVA(10, MaterialData.class),
    STATIONARY_LAVA(11, MaterialData.class),
    SAND(12),
    GRAVEL(13),
    GOLD_ORE(14),
    IRON_ORE(15),
    COAL_ORE(16),
    LOG(17, Tree.class),
    LEAVES(18, Tree.class),
    SPONGE(19),
    GLASS(20),
    LAPIS_ORE(21),
    LAPIS_BLOCK(22),
    DISPENSER(23, Dispenser.class),
    SANDSTONE(24, Sandstone.class),
    NOTE_BLOCK(25),
    BED_BLOCK(26, Bed.class),
    POWERED_RAIL(27, PoweredRail.class),
    DETECTOR_RAIL(28, DetectorRail.class),
    PISTON_STICKY_BASE(29, PistonBaseMaterial.class),
    WEB(30),
    LONG_GRASS(31, LongGrass.class),
    DEAD_BUSH(32),
    PISTON_BASE(33, PistonBaseMaterial.class),
    PISTON_EXTENSION(34, PistonExtensionMaterial.class),
    WOOL(35, Wool.class),
    PISTON_MOVING_PIECE(36),
    YELLOW_FLOWER(37),
    RED_ROSE(38),
    BROWN_MUSHROOM(39),
    RED_MUSHROOM(40),
    GOLD_BLOCK(41),
    IRON_BLOCK(42),
    DOUBLE_STEP(43, Step.class),
    STEP(44, Step.class),
    BRICK(45),
    TNT(46),
    BOOKSHELF(47),
    MOSSY_COBBLESTONE(48),
    OBSIDIAN(49),
    TORCH(50, Torch.class),
    FIRE(51),
    MOB_SPAWNER(52),
    WOOD_STAIRS(53, Stairs.class),
    CHEST(54, Chest.class),
    REDSTONE_WIRE(55, RedstoneWire.class),
    DIAMOND_ORE(56),
    DIAMOND_BLOCK(57),
    WORKBENCH(58),
    CROPS(59, Crops.class),
    SOIL(60, MaterialData.class),
    FURNACE(61, Furnace.class),
    BURNING_FURNACE(62, Furnace.class),
    SIGN_POST(63, 64, Sign.class),
    WOODEN_DOOR(64, Door.class),
    LADDER(65, Ladder.class),
    RAILS(66, Rails.class),
    COBBLESTONE_STAIRS(67, Stairs.class),
    WALL_SIGN(68, 64, Sign.class),
    LEVER(69, Lever.class),
    STONE_PLATE(70, PressurePlate.class),
    IRON_DOOR_BLOCK(71, Door.class),
    WOOD_PLATE(72, PressurePlate.class),
    REDSTONE_ORE(73),
    GLOWING_REDSTONE_ORE(74),
    REDSTONE_TORCH_OFF(75, RedstoneTorch.class),
    REDSTONE_TORCH_ON(76, RedstoneTorch.class),
    STONE_BUTTON(77, Button.class),
    SNOW(78),
    ICE(79),
    SNOW_BLOCK(80),
    CACTUS(81, MaterialData.class),
    CLAY(82),
    SUGAR_CANE_BLOCK(83, MaterialData.class),
    JUKEBOX(84),
    FENCE(85),
    PUMPKIN(86, Pumpkin.class),
    NETHERRACK(87),
    SOUL_SAND(88),
    GLOWSTONE(89),
    PORTAL(90),
    JACK_O_LANTERN(91, Pumpkin.class),
    CAKE_BLOCK(92, 64, Cake.class),
    DIODE_BLOCK_OFF(93, Diode.class),
    DIODE_BLOCK_ON(94, Diode.class),
    LOCKED_CHEST(95),
    TRAP_DOOR(96, TrapDoor.class),
    MONSTER_EGGS(97, MonsterEggs.class),
    SMOOTH_BRICK(98, SmoothBrick.class),
    HUGE_MUSHROOM_1(99, Mushroom.class),
    HUGE_MUSHROOM_2(100, Mushroom.class),
    IRON_FENCE(101),
    THIN_GLASS(102),
    MELON_BLOCK(103),
    PUMPKIN_STEM(104, MaterialData.class),
    MELON_STEM(105, MaterialData.class),
    VINE(106, Vine.class),
    FENCE_GATE(107, Gate.class),
    BRICK_STAIRS(108, Stairs.class),
    SMOOTH_STAIRS(109, Stairs.class),
    MYCEL(110),
    WATER_LILY(111),
    NETHER_BRICK(112),
    NETHER_FENCE(113),
    NETHER_BRICK_STAIRS(114, Stairs.class),
    NETHER_WARTS(115, NetherWarts.class),
    ENCHANTMENT_TABLE(116),
    BREWING_STAND(117, MaterialData.class),
    CAULDRON(118, Cauldron.class),
    ENDER_PORTAL(119),
    ENDER_PORTAL_FRAME(120),
    ENDER_STONE(121),
    DRAGON_EGG(122),
    REDSTONE_LAMP_OFF(123),
    REDSTONE_LAMP_ON(124),
    WOOD_DOUBLE_STEP(125, WoodenStep.class),
    WOOD_STEP(126, WoodenStep.class),
    COCOA(127, CocoaPlant.class),
    SANDSTONE_STAIRS(128, Stairs.class),
    EMERALD_ORE(129),
    ENDER_CHEST(130, EnderChest.class),
    TRIPWIRE_HOOK(131, TripwireHook.class),
    TRIPWIRE(132, Tripwire.class),
    EMERALD_BLOCK(133),
    SPRUCE_WOOD_STAIRS(134, Stairs.class),
    BIRCH_WOOD_STAIRS(135, Stairs.class),
    JUNGLE_WOOD_STAIRS(136, Stairs.class),
    COMMAND(137, Command.class),
    BEACON(138),
    COBBLE_WALL(139),
    FLOWER_POT(140, FlowerPot.class),
    CARROT(141),
    POTATO(142),
    WOOD_BUTTON(143, Button.class),
    SKULL(144, Skull.class),
    ANVIL(145),
    TRAPPED_CHEST(146),
    GOLD_PLATE(147),
    IRON_PLATE(148),
    REDSTONE_COMPARATOR_OFF(149),
    REDSTONE_COMPARATOR_ON(150),
    DAYLIGHT_DETECTOR(151),
    REDSTONE_BLOCK(152),
    QUARTZ_ORE(153),
    HOPPER(154),
    QUARTZ_BLOCK(155),
    QUARTZ_STAIRS(156, Stairs.class),
    ACTIVATOR_RAIL(157, PoweredRail.class),
    DROPPER(158, Dispenser.class),
    // ----- Item Separator -----
    IRON_SPADE(256, 1, 250),
    IRON_PICKAXE(257, 1, 250),
    IRON_AXE(258, 1, 250),
    FLINT_AND_STEEL(259, 1, 64),
    APPLE(260),
    BOW(261, 1, 384),
    ARROW(262),
    COAL(263, Coal.class),
    DIAMOND(264),
    IRON_INGOT(265),
    GOLD_INGOT(266),
    IRON_SWORD(267, 1, 250),
    WOOD_SWORD(268, 1, 59),
    WOOD_SPADE(269, 1, 59),
    WOOD_PICKAXE(270, 1, 59),
    WOOD_AXE(271, 1, 59),
    STONE_SWORD(272, 1, 131),
    STONE_SPADE(273, 1, 131),
    STONE_PICKAXE(274, 1, 131),
    STONE_AXE(275, 1, 131),
    DIAMOND_SWORD(276, 1, 1561),
    DIAMOND_SPADE(277, 1, 1561),
    DIAMOND_PICKAXE(278, 1, 1561),
    DIAMOND_AXE(279, 1, 1561),
    STICK(280),
    BOWL(281),
    MUSHROOM_SOUP(282, 1),
    GOLD_SWORD(283, 1, 32),
    GOLD_SPADE(284, 1, 32),
    GOLD_PICKAXE(285, 1, 32),
    GOLD_AXE(286, 1, 32),
    STRING(287),
    FEATHER(288),
    SULPHUR(289),
    WOOD_HOE(290, 1, 59),
    STONE_HOE(291, 1, 131),
    IRON_HOE(292, 1, 250),
    DIAMOND_HOE(293, 1, 1561),
    GOLD_HOE(294, 1, 32),
    SEEDS(295),
    WHEAT(296),
    BREAD(297),
    LEATHER_HELMET(298, 1, 55),
    LEATHER_CHESTPLATE(299, 1, 80),
    LEATHER_LEGGINGS(300, 1, 75),
    LEATHER_BOOTS(301, 1, 65),
    CHAINMAIL_HELMET(302, 1, 165),
    CHAINMAIL_CHESTPLATE(303, 1, 240),
    CHAINMAIL_LEGGINGS(304, 1, 225),
    CHAINMAIL_BOOTS(305, 1, 195),
    IRON_HELMET(306, 1, 165),
    IRON_CHESTPLATE(307, 1, 240),
    IRON_LEGGINGS(308, 1, 225),
    IRON_BOOTS(309, 1, 195),
    DIAMOND_HELMET(310, 1, 363),
    DIAMOND_CHESTPLATE(311, 1, 528),
    DIAMOND_LEGGINGS(312, 1, 495),
    DIAMOND_BOOTS(313, 1, 429),
    GOLD_HELMET(314, 1, 77),
    GOLD_CHESTPLATE(315, 1, 112),
    GOLD_LEGGINGS(316, 1, 105),
    GOLD_BOOTS(317, 1, 91),
    FLINT(318),
    PORK(319),
    GRILLED_PORK(320),
    PAINTING(321),
    GOLDEN_APPLE(322),
    SIGN(323, 16),
    WOOD_DOOR(324, 1),
    BUCKET(325, 16),
    WATER_BUCKET(326, 1),
    LAVA_BUCKET(327, 1),
    MINECART(328, 1),
    SADDLE(329, 1),
    IRON_DOOR(330, 1),
    REDSTONE(331),
    SNOW_BALL(332, 16),
    BOAT(333, 1),
    LEATHER(334),
    MILK_BUCKET(335, 1),
    CLAY_BRICK(336),
    CLAY_BALL(337),
    SUGAR_CANE(338),
    PAPER(339),
    BOOK(340),
    SLIME_BALL(341),
    STORAGE_MINECART(342, 1),
    POWERED_MINECART(343, 1),
    EGG(344, 16),
    COMPASS(345),
    FISHING_ROD(346, 1, 64),
    WATCH(347),
    GLOWSTONE_DUST(348),
    RAW_FISH(349),
    COOKED_FISH(350),
    INK_SACK(351, Dye.class),
    BONE(352),
    SUGAR(353),
    CAKE(354, 1),
    BED(355, 1),
    DIODE(356),
    COOKIE(357),
    /**
     * @see MapView
     */
    MAP(358, MaterialData.class),
    SHEARS(359, 1, 238),
    MELON(360),
    PUMPKIN_SEEDS(361),
    MELON_SEEDS(362),
    RAW_BEEF(363),
    COOKED_BEEF(364),
    RAW_CHICKEN(365),
    COOKED_CHICKEN(366),
    ROTTEN_FLESH(367),
    ENDER_PEARL(368, 16),
    BLAZE_ROD(369),
    GHAST_TEAR(370),
    GOLD_NUGGET(371),
    NETHER_STALK(372),
    /**
     * @see Potion
     */
    POTION(373, 1, MaterialData.class),
    GLASS_BOTTLE(374),
    SPIDER_EYE(375),
    FERMENTED_SPIDER_EYE(376),
    BLAZE_POWDER(377),
    MAGMA_CREAM(378),
    BREWING_STAND_ITEM(379),
    CAULDRON_ITEM(380),
    EYE_OF_ENDER(381),
    SPECKLED_MELON(382),
    MONSTER_EGG(383, 64, SpawnEgg.class),
    EXP_BOTTLE(384, 64),
    FIREBALL(385, 64),
    BOOK_AND_QUILL(386, 1),
    WRITTEN_BOOK(387, 1),
    EMERALD(388, 64),
    ITEM_FRAME(389),
    FLOWER_POT_ITEM(390),
    CARROT_ITEM(391),
    POTATO_ITEM(392),
    BAKED_POTATO(393),
    POISONOUS_POTATO(394),
    EMPTY_MAP(395),
    GOLDEN_CARROT(396),
    SKULL_ITEM(397),
    CARROT_STICK(398, 1, 25),
    NETHER_STAR(399),
    PUMPKIN_PIE(400),
    FIREWORK(401),
    FIREWORK_CHARGE(402),
    ENCHANTED_BOOK(403, 1),
    REDSTONE_COMPARATOR(404),
    NETHER_BRICK_ITEM(405),
    QUARTZ(406),
    EXPLOSIVE_MINECART(407, 1),
    HOPPER_MINECART(408, 1),
    GOLD_RECORD(2256, 1),
    GREEN_RECORD(2257, 1),
    RECORD_3(2258, 1),
    RECORD_4(2259, 1),
    RECORD_5(2260, 1),
    RECORD_6(2261, 1),
    RECORD_7(2262, 1),
    RECORD_8(2263, 1),
    RECORD_9(2264, 1),
    RECORD_10(2265, 1),
    RECORD_11(2266, 1),
    RECORD_12(2267, 1),
    COPPER(2012+256),
    OBSIDIANINGOT(2013+256),
    RUBIS(2014+256),
    AMETHISTE(2015+256),
    MITRHILLE(2016+256),
    TOPAZ(2017+256),
    SWORDCOPPER(2018+256, 1, 400),
    SWORDOBSIDIAN(2019+256, 1, 1700),
    SWORDEMERALD(2020+256, 1, 1600),
    SWORDTOPAZ(2021+256, 1, 1900),
    SWORDRUBIS(2022+256, 1, 2000),
    SWORDAMETHISTE(2023+256, 1, 2500),
    SWORDMITHRILLE(2024+256, 1, 3000),
    COOKIEGOLD(2025+256, 64),
    REDBULL(2026+256, 64),
    GOLDFISH(2093+256, 64),
    PICKAXECOPPER(2027+256, 1, 400),
    PICKXEOBSIDIAN(2028+256, 1, 1700),
    PICKAXEEMERALD(2029+256, 1, 1600),
    PICKAXETOPAZ(2030+256, 1, 1900),
    PICKAXERUBIS(2040+256, 1, 2000),
    PICKAXEAMETHISTE(2041+256, 1, 2500),
    PICKAXEMITHRILLE(2042+256, 1, 3000),
    SHOVELCOPPER(2043+256, 1, 400),
    SHOVELOBSIDIAN(2044+256, 1, 1700),
    SHOVELEMERALD(2045+256, 1, 1600),
    SHOVELTOPAZ(2046+256, 1, 1900),
    SHOVELRUBIS(2047+256, 1, 2000),
    SHOVELAMETHISTE(2048+256, 1, 2500),
    SHOVELMITHRILLE(2049+256, 1, 3000),
    AXECOPPER(2050+256, 1, 400),
    AXEOBSIDIAN(2051+256, 1, 1700),
    AXEEMERALD(2052+256, 1, 1600),
    AXETOPAZ(2053+256, 1, 1900),
    AXERUBIS(2054+256, 1, 2000),
    AXEAMETHISTE(2055+256, 1, 2500),
    AXEMITHRILLE(2056+256, 1, 3000),
    HOECOPPER(2086+256, 1, 400),
    HOEOBSIDIAN(2087+256, 1, 1700),
    HOEEMERALD(2088+256, 1, 1600),
    HOETOPAZ(2089+256, 1, 1900),
    HOERUBIS(2090+256, 1, 2000),
    HOEAMETHISTE(2091+256, 1, 2500),
    HOEMITHRILLE(2092+256, 1, 3000),
    HELMETCOPPER(2057+256, 1, 143),
    HELMETOBSIDIAN(2061+256, 1, 330),
    HELMETEMERALD(2065+256, 1, 396),
    HELMETTOPAZ(2070+256, 1, 451),
    HELMETRUBIS(2074+256, 1, 484),
    HELMETAMETHISTE(2078+256, 1, 528),
    HELMETMITHRILLE(2082+256, 1, 583),
    PLATECOPPER(2058+256, 1, 208),
    PLATEOBSIDIAN(2062+256, 1, 480),
    PLATEEMERALD(2066+256, 1, 576),
    PLATETOPAZ(2071+256, 1, 656),
    PLATERUBIS(2075+256, 1, 704),
    PLATEAMETHISTE(2079+256, 1, 768),
    PLATEMITHRILLE(2083+256, 1, 848),
    LEGSCOPPER(2059+256, 1, 195),
    LEGSOBSIDIAN(2063+256, 1, 450),
    LEGSEMERALD(2067+256, 1, 540),
    LEGSTOPAZ(2072+256, 1, 615),
    LEGSRUBIS(2076+256, 1, 660),
    LEGSAMETHISTE(2080+256, 1, 720),
    LEGSMITHRILLE(2084+256, 1, 795),
    BOOTSCOPPER(2060+256, 1, 169),
    BOOTSOBSIDIAN(2064+256, 1, 390),
    BOOTSEMERALD(2069+256, 1, 468),
    BOOTSTOPAZ(2073+256, 1, 533),
    BOOTSRUBIS(2077+256, 1, 572),
    BOOTSAMETHISTE(2081+256, 1, 624),
    BOOTSMITHRILLE(2085+256, 1, 689),
    COPPER_ORE(500),
    TOPAZ_ORE(501),
    RUBIS_ORE(502),
    AMETHISTE_ORE(503),
    MITHRILLE_ORE(504),
    COPPER_BLOCK(505),
    TOPAZ_BLOCK(506),
    RUBIS_BLOCK(507),
    AMETHISTE_BLOCK(508),
    MITHRILLE_BLOCK(509),
    RENFORCEDOBSIDIAN(510),
    INVISIBLE(511),
    ;
 
    private final int id;
    private final Constructor<? extends MaterialData> ctor;
    private static Material[] byId = new Material[383];
    private final static Map<String, Material> BY_NAME = Maps.newHashMap();
    private final int maxStack;
    private final short durability;
 
    private Material(final int id) {
        this(id, 64);
    }
 
    private Material(final int id, final int stack) {
        this(id, stack, MaterialData.class);
    }
 
    private Material(final int id, final int stack, final int durability) {
        this(id, stack, durability, MaterialData.class);
    }
 
    private Material(final int id, final Class<? extends MaterialData> data) {
        this(id, 64, data);
    }
 
    private Material(final int id, final int stack, final Class<? extends MaterialData> data) {
        this(id, stack, 0, data);
    }
 
    private Material(final int id, final int stack, final int durability, final Class<? extends MaterialData> data) {
        this.id = id;
        this.durability = (short) durability;
        this.maxStack = stack;
        // try to cache the constructor for this material
        try {
            this.ctor = data.getConstructor(int.class, byte.class);
        } catch (NoSuchMethodException ex) {
            throw new AssertionError(ex);
        } catch (SecurityException ex) {
            throw new AssertionError(ex);
        }
    }
 
    /**
     * Gets the item ID or block ID of this Material
     *
     * @return ID of this material
     */
    public int getId() {
        return id;
    }
 
    /**
     * Gets the maximum amount of this material that can be held in a stack
     *
     * @return Maximum stack size for this material
     */
    public int getMaxStackSize() {
        return maxStack;
    }
 
    /**
     * Gets the maximum durability of this material
     *
     * @return Maximum durability for this material
     */
    public short getMaxDurability() {
        return durability;
    }
 
    /**
     * Gets the MaterialData class associated with this Material
     *
     * @return MaterialData associated with this Material
     */
    public Class<? extends MaterialData> getData() {
        return ctor.getDeclaringClass();
    }
 
    /**
     * Constructs a new MaterialData relevant for this Material, with the given
     * initial data
     *
     * @param raw Initial data to construct the MaterialData with
     * @return New MaterialData with the given data
     */
    public MaterialData getNewData(final byte raw) {
        try {
            return ctor.newInstance(id, raw);
        } catch (InstantiationException ex) {
            final Throwable t = ex.getCause();
            if (t instanceof RuntimeException) {
                throw (RuntimeException) t;
            }
            if (t instanceof Error) {
                throw (Error) t;
            }
            throw new AssertionError(t);
        } catch (Throwable t) {
            throw new AssertionError(t);
        }
    }
 
    /**
     * Checks if this Material is a placable block
     *
     * @return true if this material is a block
     */
    public boolean isBlock() {
        return id < 256;
    }
 
    /**
     * Checks if this Material is edible.
     *
     * @return true if this Material is edible.
     */
    public boolean isEdible() {
        switch (this) {
            case BREAD:
            case CARROT_ITEM:
            case BAKED_POTATO:
            case POTATO_ITEM:
            case POISONOUS_POTATO:
            case GOLDEN_CARROT:
            case PUMPKIN_PIE:
            case COOKIE:
            case MELON:
            case MUSHROOM_SOUP:
            case RAW_CHICKEN:
            case COOKED_CHICKEN:
            case RAW_BEEF:
            case COOKED_BEEF:
            case RAW_FISH:
            case COOKED_FISH:
            case PORK:
            case GRILLED_PORK:
            case APPLE:
            case GOLDEN_APPLE:
            case ROTTEN_FLESH:
            case SPIDER_EYE:
            case REDBULL:
            case COOKIEGOLD:
            case GOLDFISH:
                return true;
            default:
                return false;
        }
    }
 
    /**
     * Attempts to get the Material with the given ID
     *
     * @param id ID of the material to get
     * @return Material if found, or null
     */
    public static Material getMaterial(final int id) {
        if (byId.length > id && id >= 0) {
            return byId[id];
        } else {
            return null;
        }
    }
 
    /**
     * Attempts to get the Material with the given name.
     * This is a normal lookup, names must be the precise name they are given
     * in the enum.
     *
     * @param name Name of the material to get
     * @return Material if found, or null
     */
    public static Material getMaterial(final String name) {
        return BY_NAME.get(name);
    }
 
    /**
     * Attempts to match the Material with the given name.
     * This is a match lookup; names will be converted to uppercase, then stripped
     * of special characters in an attempt to format it like the enum
     *
     * @param name Name of the material to get
     * @return Material if found, or null
     */
    public static Material matchMaterial(final String name) {
        Validate.notNull(name, "Name cannot be null");
 
        Material result = null;
 
        try {
            result = getMaterial(Integer.parseInt(name));
        } catch (NumberFormatException ex) {}
 
        if (result == null) {
            String filtered = name.toUpperCase();
 
            filtered = filtered.replaceAll("\\s+", "_").replaceAll("\\W", "");
            result = BY_NAME.get(filtered);
        }
 
        return result;
    }
 
    static {
        for (Material material : values()) {
            if (byId.length > material.id) {
                byId[material.id] = material;
            } else {
                byId = Java15Compat.Arrays_copyOfRange(byId, 0, material.id + 2);
                byId[material.id] = material;
            }
            BY_NAME.put(material.name(), material);
        }
    }
 
    /**
     * @return True if this material represents a playable music disk.
     */
    public boolean isRecord() {
        return id >= GOLD_RECORD.id && id <= RECORD_12.id;
    }
 
    /**
     * Check if the material is a block and solid (cannot be passed through by a player)
     *
     * @return True if this material is a block and solid
     */
    public boolean isSolid() {
        if (!isBlock() || id == 0) {
            return false;
        }
        switch (this) {
            case STONE:
            case GRASS:
            case DIRT:
            case COBBLESTONE:
            case WOOD:
            case BEDROCK:
            case SAND:
            case GRAVEL:
            case GOLD_ORE:
            case IRON_ORE:
            case COAL_ORE:
            case LOG:
            case LEAVES:
            case SPONGE:
            case GLASS:
            case LAPIS_ORE:
            case LAPIS_BLOCK:
            case DISPENSER:
            case SANDSTONE:
            case NOTE_BLOCK:
            case BED_BLOCK:
            case PISTON_STICKY_BASE:
            case PISTON_BASE:
            case PISTON_EXTENSION:
            case WOOL:
            case PISTON_MOVING_PIECE:
            case GOLD_BLOCK:
            case IRON_BLOCK:
            case DOUBLE_STEP:
            case STEP:
            case BRICK:
            case TNT:
            case BOOKSHELF:
            case MOSSY_COBBLESTONE:
            case OBSIDIAN:
            case MOB_SPAWNER:
            case WOOD_STAIRS:
            case CHEST:
            case DIAMOND_ORE:
            case DIAMOND_BLOCK:
            case WORKBENCH:
            case SOIL:
            case FURNACE:
            case BURNING_FURNACE:
            case SIGN_POST:
            case WOODEN_DOOR:
            case COBBLESTONE_STAIRS:
            case WALL_SIGN:
            case STONE_PLATE:
            case IRON_DOOR_BLOCK:
            case WOOD_PLATE:
            case REDSTONE_ORE:
            case GLOWING_REDSTONE_ORE:
            case ICE:
            case SNOW_BLOCK:
            case CACTUS:
            case CLAY:
            case JUKEBOX:
            case FENCE:
            case PUMPKIN:
            case NETHERRACK:
            case SOUL_SAND:
            case GLOWSTONE:
            case JACK_O_LANTERN:
            case CAKE_BLOCK:
            case LOCKED_CHEST:
            case TRAP_DOOR:
            case MONSTER_EGGS:
            case SMOOTH_BRICK:
            case HUGE_MUSHROOM_1:
            case HUGE_MUSHROOM_2:
            case IRON_FENCE:
            case THIN_GLASS:
            case MELON_BLOCK:
            case FENCE_GATE:
            case BRICK_STAIRS:
            case SMOOTH_STAIRS:
            case MYCEL:
            case NETHER_BRICK:
            case NETHER_FENCE:
            case NETHER_BRICK_STAIRS:
            case ENCHANTMENT_TABLE:
            case BREWING_STAND:
            case CAULDRON:
            case ENDER_PORTAL_FRAME:
            case ENDER_STONE:
            case DRAGON_EGG:
            case REDSTONE_LAMP_OFF:
            case REDSTONE_LAMP_ON:
            case WOOD_DOUBLE_STEP:
            case WOOD_STEP:
            case SANDSTONE_STAIRS:
            case EMERALD_ORE:
            case ENDER_CHEST:
            case EMERALD_BLOCK:
            case SPRUCE_WOOD_STAIRS:
            case BIRCH_WOOD_STAIRS:
            case JUNGLE_WOOD_STAIRS:
            case COMMAND:
            case BEACON:
            case COBBLE_WALL:
            case ANVIL:
            case TRAPPED_CHEST:
            case GOLD_PLATE:
            case IRON_PLATE:
            case DAYLIGHT_DETECTOR:
            case REDSTONE_BLOCK:
            case QUARTZ_ORE:
            case HOPPER:
            case QUARTZ_BLOCK:
            case QUARTZ_STAIRS:
            case DROPPER:
            case COPPER_ORE:
            case TOPAZ_ORE:
            case RUBIS_ORE:
            case AMETHISTE_ORE:
            case MITHRILLE_ORE:
            case COPPER_BLOCK:
            case TOPAZ_BLOCK:
            case RUBIS_BLOCK:
            case AMETHISTE_BLOCK:
            case MITHRILLE_BLOCK:
            case RENFORCEDOBSIDIAN:
            case INVISIBLE:
                return true;
            default:
                return false;
        }
    }
 
    /**
     * Check if the material is a block and does not block any light
     *
     * @return True if this material is a block and does not block any light
     */
    public boolean isTransparent() {
        if (!isBlock()) {
            return false;
        }
        switch (this) {
            case AIR:
            case SAPLING:
            case POWERED_RAIL:
            case DETECTOR_RAIL:
            case LONG_GRASS:
            case DEAD_BUSH:
            case YELLOW_FLOWER:
            case RED_ROSE:
            case BROWN_MUSHROOM:
            case RED_MUSHROOM:
            case TORCH:
            case FIRE:
            case REDSTONE_WIRE:
            case CROPS:
            case LADDER:
            case RAILS:
            case LEVER:
            case REDSTONE_TORCH_OFF:
            case REDSTONE_TORCH_ON:
            case STONE_BUTTON:
            case SNOW:
            case SUGAR_CANE_BLOCK:
            case PORTAL:
            case DIODE_BLOCK_OFF:
            case DIODE_BLOCK_ON:
            case PUMPKIN_STEM:
            case MELON_STEM:
            case VINE:
            case WATER_LILY:
            case NETHER_WARTS:
            case ENDER_PORTAL:
            case COCOA:
            case TRIPWIRE_HOOK:
            case TRIPWIRE:
            case FLOWER_POT:
            case CARROT:
            case POTATO:
            case WOOD_BUTTON:
            case SKULL:
            case REDSTONE_COMPARATOR_OFF:
            case REDSTONE_COMPARATOR_ON:
            case ACTIVATOR_RAIL:
                return true;
            default:
                return false;
        }
    }
 
    /**
     * Check if the material is a block and can catch fire
     *
     * @return True if this material is a block and can catch fire
     */
    public boolean isFlammable() {
        if (!isBlock()) {
            return false;
        }
        switch (this) {
            case WOOD:
            case LOG:
            case LEAVES:
            case NOTE_BLOCK:
            case BED_BLOCK:
            case LONG_GRASS:
            case DEAD_BUSH:
            case WOOL:
            case TNT:
            case BOOKSHELF:
            case WOOD_STAIRS:
            case CHEST:
            case WORKBENCH:
            case SIGN_POST:
            case WOODEN_DOOR:
            case WALL_SIGN:
            case WOOD_PLATE:
            case JUKEBOX:
            case FENCE:
            case LOCKED_CHEST:
            case TRAP_DOOR:
            case HUGE_MUSHROOM_1:
            case HUGE_MUSHROOM_2:
            case VINE:
            case FENCE_GATE:
            case WOOD_DOUBLE_STEP:
            case WOOD_STEP:
            case SPRUCE_WOOD_STAIRS:
            case BIRCH_WOOD_STAIRS:
            case JUNGLE_WOOD_STAIRS:
            case TRAPPED_CHEST:
            case DAYLIGHT_DETECTOR:
                return true;
            default:
                return false;
        }
    }
 
    /**
     * Check if the material is a block and can burn away
     *
     * @return True if this material is a block and can burn away
     */
    public boolean isBurnable() {
        if (!isBlock()) {
            return false;
        }
        switch (this) {
            case WOOD:
            case LOG:
            case LEAVES:
            case LONG_GRASS:
            case WOOL:
            case TNT:
            case BOOKSHELF:
            case WOOD_STAIRS:
            case FENCE:
            case VINE:
            case WOOD_DOUBLE_STEP:
            case WOOD_STEP:
            case SPRUCE_WOOD_STAIRS:
            case BIRCH_WOOD_STAIRS:
            case JUNGLE_WOOD_STAIRS:
                return true;
            default:
                return false;
        }
    }
 
    /**
     * Check if the material is a block and completely blocks vision
     *
     * @return True if this material is a block and completely blocks vision
     */
    public boolean isOccluding() {
        if (!isBlock()) {
            return false;
        }
        switch (this) {
            case STONE:
            case GRASS:
            case DIRT:
            case COBBLESTONE:
            case WOOD:
            case BEDROCK:
            case SAND:
            case GRAVEL:
            case GOLD_ORE:
            case IRON_ORE:
            case COAL_ORE:
            case LOG:
            case SPONGE:
            case LAPIS_ORE:
            case LAPIS_BLOCK:
            case DISPENSER:
            case SANDSTONE:
            case NOTE_BLOCK:
            case WOOL:
            case GOLD_BLOCK:
            case IRON_BLOCK:
            case DOUBLE_STEP:
            case BRICK:
            case BOOKSHELF:
            case MOSSY_COBBLESTONE:
            case OBSIDIAN:
            case MOB_SPAWNER:
            case DIAMOND_ORE:
            case DIAMOND_BLOCK:
            case WORKBENCH:
            case FURNACE:
            case BURNING_FURNACE:
            case REDSTONE_ORE:
            case GLOWING_REDSTONE_ORE:
            case SNOW_BLOCK:
            case CLAY:
            case JUKEBOX:
            case PUMPKIN:
            case NETHERRACK:
            case SOUL_SAND:
            case JACK_O_LANTERN:
            case LOCKED_CHEST:
            case MONSTER_EGGS:
            case SMOOTH_BRICK:
            case HUGE_MUSHROOM_1:
            case HUGE_MUSHROOM_2:
            case MELON_BLOCK:
            case MYCEL:
            case NETHER_BRICK:
            case ENDER_PORTAL_FRAME:
            case ENDER_STONE:
            case REDSTONE_LAMP_OFF:
            case REDSTONE_LAMP_ON:
            case WOOD_DOUBLE_STEP:
            case EMERALD_ORE:
            case EMERALD_BLOCK:
            case COMMAND:
            case QUARTZ_ORE:
            case QUARTZ_BLOCK:
            case DROPPER:
            case COPPER_ORE:
            case TOPAZ_ORE:
            case RUBIS_ORE:
            case AMETHISTE_ORE:
            case MITHRILLE_ORE:
            case COPPER_BLOCK:
            case TOPAZ_BLOCK:
            case RUBIS_BLOCK:
            case AMETHISTE_BLOCK:
            case MITHRILLE_BLOCK:
            case RENFORCEDOBSIDIAN:
            case INVISIBLE:
                return true;
            default:
                return false;
        }
    }
 
    /**
     * @return True if this material is affected by gravity.
     */
    public boolean hasGravity() {
        if (!isBlock()) {
            return false;
        }
        switch (this) {
            case SAND:
            case GRAVEL:
            case ANVIL:
                return true;
            default:
                return false;
        }
    }
}
Logs console
Code:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building CraftBukkit 1.5.2-R1.0
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ craftbukkit ---
[INFO] Deleting C:\Users\Benjamin\git\craftbukkit\target
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ craftbukkit ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.0.2:compile (default-compile) @ craftbukkit ---
[INFO] Compiling 490 source files to C:\Users\Benjamin\git\craftbukkit\target\classes
[INFO] 
[INFO] --- gitdescribe-maven-plugin:1.3:gitdescribe (default) @ craftbukkit ---
[INFO] Setting Git Describe: git-Bukkit-unknown
[INFO] 
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ craftbukkit ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\Benjamin\git\craftbukkit\src\test\resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.0.2:testCompile (default-testCompile) @ craftbukkit ---
[INFO] Compiling 30 source files to C:\Users\Benjamin\git\craftbukkit\target\test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.11:test (default-test) @ craftbukkit ---
[INFO] Surefire report directory: C:\Users\Benjamin\git\craftbukkit\target\surefire-reports
 
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.bukkit.AchievementTest
298 recipes
27 achievements
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.998 sec
Running org.bukkit.ArtTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec
Running org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest
janv. 11, 2014 10:56:40 PM org.bukkit.Bukkit setServer
Infos: This server is running org.bukkit.support.DummyServer version null (Implementing API version 1.5.2-R1.0)
Tests run: 1632, Failures: 0, Errors: 419, Skipped: 0, Time elapsed: 6.652 sec <<< FAILURE!
Running org.bukkit.craftbukkit.inventory.ItemMetaImplementationOverrideTest
Tests run: 72, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec
Running org.bukkit.craftbukkit.inventory.ItemMetaTest
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
Running org.bukkit.craftbukkit.inventory.NMSCraftItemStackTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
Running org.bukkit.DyeColorsTest
Tests run: 32, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec
Running org.bukkit.MaterialTest
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec <<< FAILURE!
Running org.bukkit.PerMaterialTest
Tests run: 4080, Failures: 0, Errors: 24, Skipped: 0, Time elapsed: 4.341 sec <<< FAILURE!
Running org.bukkit.potion.PotionTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
Running org.bukkit.SoundTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
Running org.bukkit.WorldTypeTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
 
Results :
 
Failed tests:   verifyMapping(org.bukkit.MaterialTest): Missing tile.oreCopper(244)(..)
 
Tests in error: 
  asMetaFor[Material[1]:STONE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[2]:GRASS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[3]:DIRT](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[4]:COBBLESTONE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[5]:WOOD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[6]:SAPLING](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[7]:BEDROCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[8]:WATER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[9]:STATIONARY_WATER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[10]:LAVA](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[11]:STATIONARY_LAVA](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[12]:SAND](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[13]:GRAVEL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[14]:GOLD_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[15]:IRON_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[16]:COAL_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[17]:LOG](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[18]:LEAVES](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[19]:SPONGE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[20]:GLASS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[21]:LAPIS_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[22]:LAPIS_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[23]:DISPENSER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[24]:SANDSTONE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[25]:NOTE_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[26]:BED_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[27]:POWERED_RAIL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[28]:DETECTOR_RAIL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[29]:PISTON_STICKY_BASE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[30]:WEB](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[31]:LONG_GRASS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[32]:DEAD_BUSH](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[33]:PISTON_BASE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[34]:PISTON_EXTENSION](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[35]:WOOL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[36]:PISTON_MOVING_PIECE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[37]:YELLOW_FLOWER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[38]:RED_ROSE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[39]:BROWN_MUSHROOM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[40]:RED_MUSHROOM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[41]:GOLD_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[42]:IRON_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[43]:DOUBLE_STEP](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[44]:STEP](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[45]:BRICK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[46]:TNT](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[47]:BOOKSHELF](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[48]:MOSSY_COBBLESTONE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[49]:OBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[50]:TORCH](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[51]:FIRE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[52]:MOB_SPAWNER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[53]:WOOD_STAIRS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[54]:CHEST](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[55]:REDSTONE_WIRE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[56]:DIAMOND_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[57]:DIAMOND_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[58]:WORKBENCH](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[59]:CROPS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[60]:SOIL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[61]:FURNACE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[62]:BURNING_FURNACE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[63]:SIGN_POST](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[64]:WOODEN_DOOR](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[65]:LADDER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[66]:RAILS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[67]:COBBLESTONE_STAIRS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[68]:WALL_SIGN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[69]:LEVER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[70]:STONE_PLATE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[71]:IRON_DOOR_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[72]:WOOD_PLATE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[73]:REDSTONE_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[74]:GLOWING_REDSTONE_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[75]:REDSTONE_TORCH_OFF](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[76]:REDSTONE_TORCH_ON](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[77]:STONE_BUTTON](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[78]:SNOW](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[79]:ICE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[80]:SNOW_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[81]:CACTUS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[82]:CLAY](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[83]:SUGAR_CANE_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[84]:JUKEBOX](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[85]:FENCE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[86]:PUMPKIN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[87]:NETHERRACK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[88]:SOUL_SAND](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[89]:GLOWSTONE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[90]:PORTAL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[91]:JACK_O_LANTERN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[92]:CAKE_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[93]:DIODE_BLOCK_OFF](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[94]:DIODE_BLOCK_ON](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[95]:LOCKED_CHEST](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[96]:TRAP_DOOR](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[97]:MONSTER_EGGS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[98]:SMOOTH_BRICK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[99]:HUGE_MUSHROOM_1](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[100]:HUGE_MUSHROOM_2](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[101]:IRON_FENCE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[102]:THIN_GLASS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[103]:MELON_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[104]:PUMPKIN_STEM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[105]:MELON_STEM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[106]:VINE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[107]:FENCE_GATE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[108]:BRICK_STAIRS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[109]:SMOOTH_STAIRS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[110]:MYCEL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[111]:WATER_LILY](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[112]:NETHER_BRICK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[113]:NETHER_FENCE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[114]:NETHER_BRICK_STAIRS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[115]:NETHER_WARTS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[116]:ENCHANTMENT_TABLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[117]:BREWING_STAND](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[118]:CAULDRON](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[119]:ENDER_PORTAL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[120]:ENDER_PORTAL_FRAME](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[121]:ENDER_STONE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[122]:DRAGON_EGG](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[123]:REDSTONE_LAMP_OFF](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[124]:REDSTONE_LAMP_ON](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[125]:WOOD_DOUBLE_STEP](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[126]:WOOD_STEP](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[127]:COCOA](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[128]:SANDSTONE_STAIRS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[129]:EMERALD_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[130]:ENDER_CHEST](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[131]:TRIPWIRE_HOOK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[132]:TRIPWIRE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[133]:EMERALD_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[134]:SPRUCE_WOOD_STAIRS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[135]:BIRCH_WOOD_STAIRS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[136]:JUNGLE_WOOD_STAIRS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[137]:COMMAND](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[138]:BEACON](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[139]:COBBLE_WALL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[140]:FLOWER_POT](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[141]:CARROT](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[142]:POTATO](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[143]:WOOD_BUTTON](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[144]:SKULL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[145]:ANVIL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[146]:TRAPPED_CHEST](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[147]:GOLD_PLATE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[148]:IRON_PLATE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[149]:REDSTONE_COMPARATOR_OFF](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[150]:REDSTONE_COMPARATOR_ON](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[151]:DAYLIGHT_DETECTOR](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[152]:REDSTONE_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[153]:QUARTZ_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[154]:HOPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[155]:QUARTZ_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[156]:QUARTZ_STAIRS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[157]:ACTIVATOR_RAIL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[158]:DROPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[159]:IRON_SPADE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[160]:IRON_PICKAXE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[161]:IRON_AXE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[162]:FLINT_AND_STEEL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[163]:APPLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[164]:BOW](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[165]:ARROW](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[166]:COAL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[167]:DIAMOND](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[168]:IRON_INGOT](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[169]:GOLD_INGOT](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[170]:IRON_SWORD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[171]:WOOD_SWORD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[172]:WOOD_SPADE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[173]:WOOD_PICKAXE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[174]:WOOD_AXE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[175]:STONE_SWORD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[176]:STONE_SPADE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[177]:STONE_PICKAXE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[178]:STONE_AXE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[179]:DIAMOND_SWORD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[180]:DIAMOND_SPADE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[181]:DIAMOND_PICKAXE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[182]:DIAMOND_AXE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[183]:STICK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[184]:BOWL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[185]:MUSHROOM_SOUP](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[186]:GOLD_SWORD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[187]:GOLD_SPADE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[188]:GOLD_PICKAXE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[189]:GOLD_AXE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[190]:STRING](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[191]:FEATHER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[192]:SULPHUR](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[193]:WOOD_HOE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[194]:STONE_HOE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[195]:IRON_HOE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[196]:DIAMOND_HOE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[197]:GOLD_HOE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[198]:SEEDS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[199]:WHEAT](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[200]:BREAD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[201]:LEATHER_HELMET](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[202]:LEATHER_CHESTPLATE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[203]:LEATHER_LEGGINGS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[204]:LEATHER_BOOTS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[205]:CHAINMAIL_HELMET](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[206]:CHAINMAIL_CHESTPLATE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[207]:CHAINMAIL_LEGGINGS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[208]:CHAINMAIL_BOOTS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[209]:IRON_HELMET](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[210]:IRON_CHESTPLATE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[211]:IRON_LEGGINGS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[212]:IRON_BOOTS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[213]:DIAMOND_HELMET](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[214]:DIAMOND_CHESTPLATE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[215]:DIAMOND_LEGGINGS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[216]:DIAMOND_BOOTS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[217]:GOLD_HELMET](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[218]:GOLD_CHESTPLATE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[219]:GOLD_LEGGINGS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[220]:GOLD_BOOTS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[221]:FLINT](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[222]:PORK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[223]:GRILLED_PORK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[224]:PAINTING](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[225]:GOLDEN_APPLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[226]:SIGN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[227]:WOOD_DOOR](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[228]:BUCKET](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[229]:WATER_BUCKET](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[230]:LAVA_BUCKET](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[231]:MINECART](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[232]:SADDLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[233]:IRON_DOOR](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[234]:REDSTONE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[235]:SNOW_BALL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[236]:BOAT](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[237]:LEATHER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[238]:MILK_BUCKET](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[239]:CLAY_BRICK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[240]:CLAY_BALL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[241]:SUGAR_CANE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[242]:PAPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[243]:BOOK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[244]:SLIME_BALL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[245]:STORAGE_MINECART](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[246]:POWERED_MINECART](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[247]:EGG](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[248]:COMPASS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[249]:FISHING_ROD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[250]:WATCH](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[251]:GLOWSTONE_DUST](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[252]:RAW_FISH](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[253]:COOKED_FISH](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[254]:INK_SACK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[255]:BONE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[256]:SUGAR](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[257]:CAKE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[258]:BED](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[259]:DIODE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[260]:COOKIE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[261]:MAP](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[262]:SHEARS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[263]:MELON](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[264]:PUMPKIN_SEEDS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[265]:MELON_SEEDS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[266]:RAW_BEEF](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[267]:COOKED_BEEF](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[268]:RAW_CHICKEN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[269]:COOKED_CHICKEN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[270]:ROTTEN_FLESH](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[271]:ENDER_PEARL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[272]:BLAZE_ROD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[273]:GHAST_TEAR](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[274]:GOLD_NUGGET](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[275]:NETHER_STALK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[276]:POTION](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[277]:GLASS_BOTTLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[278]:SPIDER_EYE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[279]:FERMENTED_SPIDER_EYE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[280]:BLAZE_POWDER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[281]:MAGMA_CREAM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[282]:BREWING_STAND_ITEM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[283]:CAULDRON_ITEM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[284]:EYE_OF_ENDER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[285]:SPECKLED_MELON](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[286]:MONSTER_EGG](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[287]:EXP_BOTTLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[288]:FIREBALL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[289]:BOOK_AND_QUILL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[290]:WRITTEN_BOOK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[291]:EMERALD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[292]:ITEM_FRAME](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[293]:FLOWER_POT_ITEM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[294]:CARROT_ITEM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[295]:POTATO_ITEM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[296]:BAKED_POTATO](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[297]:POISONOUS_POTATO](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[298]:EMPTY_MAP](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[299]:GOLDEN_CARROT](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[300]:SKULL_ITEM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[301]:CARROT_STICK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[302]:NETHER_STAR](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[303]:PUMPKIN_PIE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[304]:FIREWORK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[305]:FIREWORK_CHARGE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[306]:ENCHANTED_BOOK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[307]:REDSTONE_COMPARATOR](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[308]:NETHER_BRICK_ITEM](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[309]:QUARTZ](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[310]:EXPLOSIVE_MINECART](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[311]:HOPPER_MINECART](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[312]:GOLD_RECORD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[313]:GREEN_RECORD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[314]:RECORD_3](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[315]:RECORD_4](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[316]:RECORD_5](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[317]:RECORD_6](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[318]:RECORD_7](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[319]:RECORD_8](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[320]:RECORD_9](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[321]:RECORD_10](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[322]:RECORD_11](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[323]:RECORD_12](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[324]:COPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[325]:OBSIDIANINGOT](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[326]:RUBIS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[327]:AMETHISTE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[328]:MITRHILLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[329]:TOPAZ](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[330]:SWORDCOPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[331]:SWORDOBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[332]:SWORDEMERALD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[333]:SWORDTOPAZ](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[334]:SWORDRUBIS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[335]:SWORDAMETHISTE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[336]:SWORDMITHRILLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[337]:COOKIEGOLD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[338]:REDBULL](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[339]:GOLDFISH](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[340]:PICKAXECOPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[341]:PICKXEOBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[342]:PICKAXEEMERALD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[343]:PICKAXETOPAZ](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[344]:PICKAXERUBIS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[345]:PICKAXEAMETHISTE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[346]:PICKAXEMITHRILLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[347]:SHOVELCOPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[348]:SHOVELOBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[349]:SHOVELEMERALD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[350]:SHOVELTOPAZ](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[351]:SHOVELRUBIS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[352]:SHOVELAMETHISTE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[353]:SHOVELMITHRILLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[354]:AXECOPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[355]:AXEOBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[356]:AXEEMERALD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[357]:AXETOPAZ](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[358]:AXERUBIS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[359]:AXEAMETHISTE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[360]:AXEMITHRILLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[361]:HOECOPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[362]:HOEOBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[363]:HOEEMERALD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[364]:HOETOPAZ](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[365]:HOERUBIS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[366]:HOEAMETHISTE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[367]:HOEMITHRILLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[368]:HELMETCOPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[369]:HELMETOBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[370]:HELMETEMERALD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[371]:HELMETTOPAZ](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[372]:HELMETRUBIS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[373]:HELMETAMETHISTE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[374]:HELMETMITHRILLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[375]:PLATECOPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[376]:PLATEOBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[377]:PLATEEMERALD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[378]:PLATETOPAZ](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[379]:PLATERUBIS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[380]:PLATEAMETHISTE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[381]:PLATEMITHRILLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[382]:LEGSCOPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[383]:LEGSOBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[384]:LEGSEMERALD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[385]:LEGSTOPAZ](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[386]:LEGSRUBIS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[387]:LEGSAMETHISTE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[388]:LEGSMITHRILLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[389]:BOOTSCOPPER](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[390]:BOOTSOBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[391]:BOOTSEMERALD](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[392]:BOOTSTOPAZ](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[393]:BOOTSRUBIS](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[394]:BOOTSAMETHISTE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[395]:BOOTSMITHRILLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[396]:COPPER_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[396]:COPPER_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[397]:TOPAZ_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[397]:TOPAZ_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[398]:RUBIS_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[398]:RUBIS_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[399]:AMETHISTE_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[399]:AMETHISTE_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[400]:MITHRILLE_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[400]:MITHRILLE_ORE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[401]:COPPER_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[401]:COPPER_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[402]:TOPAZ_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[402]:TOPAZ_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[403]:RUBIS_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[403]:RUBIS_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[404]:AMETHISTE_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[404]:AMETHISTE_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[405]:MITHRILLE_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[405]:MITHRILLE_BLOCK](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[406]:RENFORCEDOBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[406]:RENFORCEDOBSIDIAN](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  asMetaFor[Material[407]:INVISIBLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  itemStack[Material[407]:INVISIBLE](org.bukkit.craftbukkit.inventory.FactoryItemMaterialTest)
  maxDurability[396: COPPER_ORE](org.bukkit.PerMaterialTest)
  maxStackSize[396: COPPER_ORE](org.bukkit.PerMaterialTest)
  maxDurability[397: TOPAZ_ORE](org.bukkit.PerMaterialTest)
  maxStackSize[397: TOPAZ_ORE](org.bukkit.PerMaterialTest)
  maxDurability[398: RUBIS_ORE](org.bukkit.PerMaterialTest)
  maxStackSize[398: RUBIS_ORE](org.bukkit.PerMaterialTest)
  maxDurability[399: AMETHISTE_ORE](org.bukkit.PerMaterialTest)
  maxStackSize[399: AMETHISTE_ORE](org.bukkit.PerMaterialTest)
  maxDurability[400: MITHRILLE_ORE](org.bukkit.PerMaterialTest)
  maxStackSize[400: MITHRILLE_ORE](org.bukkit.PerMaterialTest)
  maxDurability[401: COPPER_BLOCK](org.bukkit.PerMaterialTest)
  maxStackSize[401: COPPER_BLOCK](org.bukkit.PerMaterialTest)
  maxDurability[402: TOPAZ_BLOCK](org.bukkit.PerMaterialTest)
  maxStackSize[402: TOPAZ_BLOCK](org.bukkit.PerMaterialTest)
  maxDurability[403: RUBIS_BLOCK](org.bukkit.PerMaterialTest)
  maxStackSize[403: RUBIS_BLOCK](org.bukkit.PerMaterialTest)
  maxDurability[404: AMETHISTE_BLOCK](org.bukkit.PerMaterialTest)
  maxStackSize[404: AMETHISTE_BLOCK](org.bukkit.PerMaterialTest)
  maxDurability[405: MITHRILLE_BLOCK](org.bukkit.PerMaterialTest)
  maxStackSize[405: MITHRILLE_BLOCK](org.bukkit.PerMaterialTest)
  maxDurability[406: RENFORCEDOBSIDIAN](org.bukkit.PerMaterialTest)
  maxStackSize[406: RENFORCEDOBSIDIAN](org.bukkit.PerMaterialTest)
  maxDurability[407: INVISIBLE](org.bukkit.PerMaterialTest)
  maxStackSize[407: INVISIBLE](org.bukkit.PerMaterialTest)
 
Tests run: 5838, Failures: 1, Errors: 443, Skipped: 0
 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:23.659s
[INFO] Finished at: Sat Jan 11 22:56:50 CET 2014
[INFO] Final Memory: 25M/260M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.11:test (default-test) on project craftbukkit: There are test failures.
[ERROR] 
[ERROR] Please refer to C:\Users\Benjamin\git\craftbukkit\target\surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException