package imdutch21.oilcraft.item;
import imdutch21.oilcraft.OilCraftMain;
import imdutch21.oilcraft.lib.ModInfo;
import net.minecraft.item.Item;
import net.minecraft.util.text.translation.I18n;
import net.minecraftforge.fml.common.registry.GameRegistry;
import java.lang.reflect.Field;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
/**
* Created by Bart on 14/02/2016.
*/
public class OCItemRegistry {
public static final List<Item> ITEMS = new LinkedList<Item>();
public static void init() {
registerItems();
}
private static void registerItems() {
try {
for (Field field : OCItemRegistry.class.getDeclaredFields()) {
Object obj = field.get(null);
if (obj instanceof Item) {
Item item = (Item) obj;
String name = field.getName().toLowerCase(Locale.ENGLISH);
registerItem(item, name);
}
}
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
private static void registerItem(Item item, String name) {
String itemName = name.toLowerCase(Locale.ENGLISH);
GameRegistry.register(item.setRegistryName(ModInfo.ID, itemName).setUnlocalizedName(ModInfo.NAME_PREFIX + itemName));
ITEMS.add(item);
if (!I18n.canTranslate(item.getUnlocalizedName() + ".name")) {
OilCraftMain.unlocalizedNames.add(item.getUnlocalizedName() + ".name");
}
}
}