package com.watschman.beeriffic.util; import com.watschman.beeriffic.Beeriffic; import com.watschman.beeriffic.bees.EnumBranches; import com.watschman.beeriffic.bees.EnumSpecies; import com.watschman.beeriffic.blocks.hives.BlockHive; import com.watschman.beeriffic.blocks.itemblocks.ItemBlockHive; import com.watschman.beeriffic.items.ItemComb; import com.watschman.beeriffic.util.interfaces.IHasOreDictionary; import forestry.api.apiculture.hives.HiveManager; import forestry.api.genetics.AlleleManager; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.client.renderer.block.statemap.IStateMapper; import net.minecraft.client.renderer.color.IBlockColor; import net.minecraft.client.renderer.color.IItemColor; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.oredict.OreDictionary; public class RegistryHandler { /* Common Stuff */ public static void registerHiveGen() { for (Block block : Beeriffic.MOD_BLOCKS) { if (block instanceof BlockHive) { Beeriffic.LOGGER.info("Registering: " + block.getRegistryName().toString()); HiveManager.hiveRegistry.registerHive(block.getRegistryName().toString(), ((BlockHive) block).getHiveDescription()); HiveManager.hiveRegistry.addDrops(block.getRegistryName().toString(), ((BlockHive) block).getHiveDrops()); } } } public static void registerBeeBranches() { for(EnumBranches beeBranch : EnumBranches.values()) { AlleleManager.alleleRegistry.getClassification("family.apidae").addMemberGroup(beeBranch.getClassification()); } } public static void registerBees() { for (EnumSpecies enumSpecies : EnumSpecies.values()) { enumSpecies.registerGeneTemplate(); } } public static void registerOreDictEntries() { for (Item item : Beeriffic.MOD_ITEMS) { if(item instanceof IHasOreDictionary) { if(((IHasOreDictionary) item).getOreDictionaryEntries() != null) { for(String oreDictEntry : ((IHasOreDictionary) item).getOreDictionaryEntries()) { OreDictionary.registerOre(oreDictEntry, item); } } } if(item instanceof ItemBlock) { Block block = ((ItemBlock) item).getBlock(); if(block instanceof IHasOreDictionary) { if(((IHasOreDictionary) block).getOreDictionaryEntries() != null) { for (String oreDictEntry : ((IHasOreDictionary) block).getOreDictionaryEntries()) { OreDictionary.registerOre(oreDictEntry, item); } } } } } } /* Client Stuff */ @SideOnly(Side.CLIENT) public static void registerBlockModels() { for(Block block : Beeriffic.MOD_BLOCKS) { if(block instanceof IStateMapper) { ModelLoader.setCustomStateMapper(block, (IStateMapper)block); } } } @SideOnly(Side.CLIENT) public static void registerItemModels() { for(Item item : Beeriffic.MOD_ITEMS) { String path; if(item instanceof ItemComb) { path = Beeriffic.MOD_ID + ":bee_comb"; } else if(item instanceof ItemBlockHive) { path = Beeriffic.MOD_ID + ":bee_hive"; } else { path = Beeriffic.MOD_ID + ":" + item.getRegistryName(); } ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(path)); } } @SideOnly(Side.CLIENT) public static void registerColorHandlers() { for(Item item : Beeriffic.MOD_ITEMS) { if(item instanceof IItemColor) { Minecraft.getMinecraft().getItemColors().registerItemColorHandler((IItemColor)item, item); } } for(Block block : Beeriffic.MOD_BLOCKS) { if(block instanceof IBlockColor) { Minecraft.getMinecraft().getBlockColors().registerBlockColorHandler((IBlockColor)block, block); } } } }