package com.pam.bonecraft;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelBakery;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
public class ItemModels {
private static final HashMap<Item, ItemModelList> models = new HashMap<Item, ItemModelList>();
public static void preInit() {
defineItemModels();
prepareModels();
}
public static void init() {
registerModels();
}
private static void defineItemModels() {
}
private static void registerItemModels(Item item, ItemModelList list) {
models.put(item, list);
}
private static void prepareModels() {
for (Map.Entry<Item, ItemModelList> entry : models.entrySet()) {
Item item = entry.getKey();
Collection<String> registrations = entry.getValue().getRegistrations().values();
for (String registration : registrations) {
if (item == null || registration == null) continue;
ModelBakery.registerItemVariants(item, new ResourceLocation(registration));
}
}
}
private static void registerModels() {
for (HashMap.Entry<Item, ItemModelList> entry : models.entrySet()) {
Item item = entry.getKey();
HashMap<Integer, String> registrations = entry.getValue().getRegistrations();
for (Map.Entry<Integer, String> registration : registrations.entrySet()) {
int meta = registration.getKey();
String path = registration.getValue();
ModelResourceLocation resource = new ModelResourceLocation(path, "inventory");
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, meta, resource);
}
}
}
private static Item getItem(Block block) {
return Item.getItemFromBlock(block);
}
}