package joshie.harvest.mining.item;
import joshie.harvest.core.HFTab;
import joshie.harvest.core.base.item.ItemHFEnum;
import joshie.harvest.core.lib.CreativeSort;
import joshie.harvest.core.util.interfaces.ISellable;
import joshie.harvest.mining.item.ItemMaterial.Material;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IStringSerializable;
import java.util.Locale;
import static net.minecraft.util.text.TextFormatting.GREEN;
import static net.minecraft.util.text.TextFormatting.WHITE;
public class ItemMaterial extends ItemHFEnum<ItemMaterial, Material> {
public enum Material implements IStringSerializable, ISellable {
JUNK(1L), COPPER(15L), SILVER(20L), GOLD(25L), MYSTRIL(40L), MYTHIC(20000L),
ADAMANTITE(50L), AGATE(62L), ALEXANDRITE(10000L), AMETHYST(60L), FLUORITE(20L),
MOON_STONE(25L), ORICHALC(50L), PERIDOT(35L), PINK_DIAMOND(10000L), RUBY(70L),
SAND_ROSE(30L), TOPAZ(65L), JADE(75L), COIN_GOLD(1000L), COIN_SILVER(100L), COIN_COPPER(10L);
private final long sell;
Material(long sell) {
this.sell = sell;
}
public boolean isOre() {
return ordinal() >= JUNK.ordinal() && ordinal() <= MYTHIC.ordinal();
}
@Override
public long getSellValue() {
return sell;
}
@Override
public String getName() {
return name().toLowerCase(Locale.ENGLISH);
}
}
public ItemMaterial() {
super(HFTab.MINING, Material.class);
}
@Override
public String getItemStackDisplayName(ItemStack stack) {
switch (getEnumFromStack(stack)) {
case MYTHIC:
return GREEN + super.getItemStackDisplayName(stack);
default:
return WHITE + super.getItemStackDisplayName(stack);
}
}
@Override
public int getSortValue(ItemStack stack) {
return CreativeSort.NONE + stack.getItemDamage();
}
}