Ошибка с метой для блока

В общем, добавил в блок код на субтипы (тупо скопипастил...), подстроил под обстановку, НО то ли я чего то неправильно сделал, либо эклипс пъян (пикча всё сама расскажет)

фвфыв.png

Сам код блока:
Java:
package ru.electrodynamite12.test.blocks;

import java.util.List;
import java.util.Random;

import net.minecraft.block.Block;
import net.minecraft.block.BlockDirt;
import net.minecraft.block.BlockSandStone;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IStringSerializable;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import ru.electrodynamite12.test.init.BlocksRegister;
import ru.electrodynamite12.test.init.ItemsRegister;
import ru.electrodynamite12.test.main.Main;

public class HlomOre extends Block {
    
    public static final PropertyEnum<HlomOreTypes> VARIANT = PropertyEnum.<HlomOreTypes>create("variant", HlomOreTypes.class);
    
    public HlomOre(String name) {
        super(Material.ROCK);
        this.blockHardness = 98;
        this.blockResistance = 5700;
        this.setUnlocalizedName(name);
        this.setRegistryName(name);
        this.lightOpacity = 15;
        this.setHarvestLevel("pickaxe", 3);
        this.setCreativeTab(Main.BLOCKTAB);
        this.setDefaultState(this.blockState.getBaseState().withProperty(VARIANT, HlomOreTypes.HLOMORE));
    }
    
    protected BlockStateContainer createBlockState()
    {
        return new BlockStateContainer(this, new IProperty[] {VARIANT});
    }
    
    public void getSubBlocks(CreativeTabs itemIn, NonNullList<ItemStack> items) {
        items.add(new ItemStack(this, 1, HlomOreTypes.ENDHLOMORE.getMetadata()));
        items.add(new ItemStack(this, 1, HlomOreTypes.HLOMORE.getMetadata()));
    }
    
     public IBlockState getStateFromMeta(int meta)
        {
            return this.getDefaultState().withProperty(VARIANT, HlomOreTypes.byMetadata(meta));
        }
    
     public int getMetaFromState(IBlockState state)
        {
            return ((HlomOreTypes)state.getValue(VARIANT)).getMetadata();
        }
    
     public int damageDropped(IBlockState state)
        {
            return ((HlomOre.HlomOreTypes)state.getValue(VARIANT)).getMetadata();
        }
    
    
    public boolean isOpaqueCube(IBlockState state)
    {
        return false;
    }

    @Override
    public boolean isFullCube(IBlockState state)
    {
        return true;
    }
    
    public Item getItemDropped (IBlockState state, Random rand, int fortune) {       
            return ItemsRegister.HLOMNUGGET;
    }
    
    public int guantityDropped (Random random) {
        return random.nextInt(3) + 2;
        
    }
    
    public int quantityDroppedWithBonus(int fortune, Random random)
    {
        return this.guantityDropped(random) + (fortune * 2);
    }
    
    public void dropBlockAsItemWithChance(World worldIn, BlockPos pos, IBlockState state, float chance, int fortune) {
        super.dropBlockAsItemWithChance(worldIn, pos, state, chance, fortune);
    }
  
    public int getExpDrop(IBlockState state, IBlockAccess world, BlockPos pos, int fortune)
    {
        return 15 * fortune + 15;
    }
 
    
    public static enum HlomOreTypes implements IStringSerializable
    {
        HLOMORE(0, "hlominite_ore", "overworld"),
       ENDHLOMORE(1, "hlominite_ore", "end"),

        private static final HlomOre.HlomOreTypes[] META_LOOKUP = new HlomOre.HlomOreTypes[values().length];
        private final int metadata;
        private final String name;
        private final String unlocalizedName;

        private HlomOreTypes(int meta, String name, String unlocalizedName)
        {
            this.metadata = meta;
            this.name = name;
            this.unlocalizedName = unlocalizedName;
        }

        public int getMetadata()
        {
            return this.metadata;
        }

        public String toString()
        {
            return this.name;
        }

        /**
         * Returns the matching EnumType for the given metadata.
         */
        public static HlomOre.HlomOreTypes byMetadata(int meta)
        {
            if (meta < 0 || meta >= META_LOOKUP.length)
            {
                meta = 0;
            }

            return META_LOOKUP[meta];
        }

        public String getName()
        {
            return this.name;
        }

        public String getUnlocalizedName()
        {
            return this.unlocalizedName;
        }

        static
        {
            for (HlomOre.HlomOreTypes hlomore$hlomoretypes : values())
            {
                META_LOOKUP[hlomore$hlomoretypes.getMetadata()] = hlomore$hlomoretypes;
            }
        }
    
}
 
Сверху