/* * Copyright (c) CovertJaguar, 2014 http://railcraft.info * * This code is the property of CovertJaguar * and may only be used with explicit written * permission unless otherwise specified on the * license page at http://railcraft.info/wiki/info:license. */ package mods.railcraft.common.blocks.ore; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import mods.railcraft.common.core.RailcraftConfig; import mods.railcraft.common.modules.ModuleManager; import mods.railcraft.common.modules.ModuleManager.Module; /** * * @author CovertJaguar <http://www.railcraft.info> */ public enum EnumOre { SULFUR("sulfur"), SALTPETER("saltpeter"), DARK_DIAMOND("dark.diamond"), DARK_EMERALD("dark.emerald"), DARK_LAPIS("dark.lapis"), FIRESTONE("firestone"), WATERSTONE("waterstone"), POOR_IRON("poor.iron"), POOR_GOLD("poor.gold"), POOR_COPPER("poor.copper"), POOR_TIN("poor.tin"), POOR_LEAD("poor.lead"),; public static final EnumOre[] VALUES = values(); private IIcon texture; private final String tag; private boolean depreciated; static { WATERSTONE.depreciated = true; } private EnumOre(String tag) { this.tag = tag; } public ItemStack getItem() { return getItem(1); } public String getTag() { return "tile.railcraft.ore." + tag; } public ItemStack getItem(int qty) { return new ItemStack(BlockOre.getBlock(), qty, ordinal()); } public void setTexture(IIcon icon) { this.texture = icon; } public IIcon getTexture(int side) { return texture; } public boolean isEnabled() { return ModuleManager.isModuleLoaded(Module.WORLD) && BlockOre.getBlock() != null && RailcraftConfig.isSubBlockEnabled(getTag()); } public boolean isDepecriated() { return depreciated; } public static EnumOre fromMeta(int meta) { if (meta < 0 || meta >= values().length) return SULFUR; return values()[meta]; } }