package org.halvors.electrometrics.common.base;
import org.halvors.electrometrics.common.util.LanguageUtils;
import org.halvors.electrometrics.common.util.render.Color;
public class Tier {
public enum Base {
BASIC("Basic", Color.BRIGHT_GREEN),
ADVANCED("Advanced", Color.DARK_RED),
ELITE("Elite", Color.DARK_BLUE),
ULTIMATE("Ultimate", Color.PURPLE);
private final String name;
private final Color color;
Base(String name, Color color) {
this.name = name;
this.color = color;
}
public String getUnlocalizedName() {
return name;
}
public String getLocalizedName() {
return LanguageUtils.localize("tier." + name);
}
public Color getColor() {
return color;
}
}
public enum Electric {
BASIC(5000000, 2000), // 800 J
ADVANCED(20000000, 8000), // 3200 J
ELITE(80000000, 32000), // 12800 J
ULTIMATE(320000000, 128000); // 51200 J
private final int capacity;
private final int maxTransfer;
Electric(int capacity, int maxTransfer) {
this.capacity = capacity;
this.maxTransfer = maxTransfer;
}
public Base getBase() {
return Base.values()[ordinal()];
}
public int getCapacity() {
return capacity;
}
public int getMaxTransfer() {
return maxTransfer;
}
public MachineType getMachineType() {
return MachineType.values()[ordinal()];
}
public static Electric getFromMachineType(MachineType machineType) {
switch (machineType) {
case BASIC_ELECTRICITY_METER:
case ADVANCED_ELECTRICITY_METER:
case ELITE_ELECTRICITY_METER:
case ULTIMATE_ELECTRICITY_METER:
return values()[machineType.getMetadata()];
default:
return null;
}
}
}
}