Nuparu00

Registration

Apr 29th, 2018
398
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.60 KB | None | 0 0
  1. package com.nuparu.sevendaystomine.events;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import com.nuparu.sevendaystomine.SevenDaysToMine;
  7.  
  8. import net.minecraft.block.Block;
  9. import net.minecraft.client.renderer.block.model.ModelResourceLocation;
  10. import net.minecraft.item.Item;
  11. import net.minecraft.item.ItemBlock;
  12. import net.minecraftforge.client.event.ModelRegistryEvent;
  13. import net.minecraftforge.client.model.ModelLoader;
  14. import net.minecraftforge.event.RegistryEvent;
  15. import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
  16. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  17. import net.minecraftforge.fml.relauncher.Side;
  18. import net.minecraftforge.fml.relauncher.SideOnly;
  19. import net.minecraftforge.registries.IForgeRegistry;
  20.  
  21. @EventBusSubscriber(modid = SevenDaysToMine.MODID)
  22. public class RegistrationHandler {
  23.    
  24.     public static List<ItemBlock> itemBlocks = new ArrayList<ItemBlock>();
  25.    
  26.     @SubscribeEvent
  27.     public static void onEvent(final RegistryEvent.Register<Block> event) {
  28.         final IForgeRegistry<Block> registry = event.getRegistry();
  29.         for(Block block : SevenDaysToMine.BLOCKS) {
  30.             registry.register(block);
  31.         }
  32.  
  33.     }
  34.    
  35.     @SubscribeEvent
  36.     public static void registerItemBlocks(final RegistryEvent.Register<Item> event) {
  37.         final IForgeRegistry<Item> registry = event.getRegistry();
  38.        
  39.         for(Block block : SevenDaysToMine.BLOCKS) {
  40.             ItemBlock itemBlock = (ItemBlock) new ItemBlock(block).setRegistryName(block.getRegistryName());
  41.             itemBlocks.add(itemBlock);
  42.             registry.register(itemBlock);
  43.         }
  44.  
  45.     }
  46.    
  47.     @SubscribeEvent
  48.     public static void registerItems(final RegistryEvent.Register<Item> event) {
  49.         // DEBUG
  50.         System.out.println("Registering Items");
  51.  
  52.         final IForgeRegistry<Item> registry = event.getRegistry();
  53.        
  54.         for(Item item : SevenDaysToMine.ITEMS) {
  55.             registry.register(item);
  56.         }
  57.  
  58.     }
  59.  
  60.     @SubscribeEvent
  61.     @SideOnly(Side.CLIENT)
  62.     public static void onModelEvent(final ModelRegistryEvent event) {
  63.         // DEBUG
  64.         System.out.println("Registering block models");
  65.         for(Block block : SevenDaysToMine.BLOCKS) {
  66.             registerBlockModel(block);
  67.         }
  68.         registerItemBlockModels();
  69.         registerItemModels();
  70.     }
  71.  
  72.     @SideOnly(Side.CLIENT)
  73.     public static void registerBlockModel(Block parBlock) {
  74.         registerBlockModel(parBlock, 0);
  75.     }
  76.  
  77.     @SideOnly(Side.CLIENT)
  78.     public static void registerBlockModel(Block block, int metaData) {
  79.         ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), metaData,
  80.                 new ModelResourceLocation(SevenDaysToMine.MODID + ":" + block.getUnlocalizedName().substring(5),
  81.                         "inventory"));
  82.     }
  83.    
  84.     @SideOnly(Side.CLIENT)
  85.     public static void registerItemBlockModels() {
  86.         for(ItemBlock itemBlock : itemBlocks) {
  87.             registerItemBlockModel(itemBlock);
  88.         }
  89.     }
  90.  
  91.     @SideOnly(Side.CLIENT)
  92.     public static void registerItemBlockModel(ItemBlock block) {
  93.         registerItemBlockModel(block, 0);
  94.     }
  95.     @SideOnly(Side.CLIENT)
  96.     public static void registerItemBlockModel(ItemBlock block, int metaData) {
  97.  
  98.         ModelLoader.setCustomModelResourceLocation(block, metaData,
  99.                 new ModelResourceLocation(block.getRegistryName(), "inventory"));
  100.     }
  101.    
  102.     @SideOnly(Side.CLIENT)
  103.     public static void registerItemModels() {
  104.         for(Item item : SevenDaysToMine.ITEMS) {
  105.             registerItemModel(item);
  106.         }
  107.     }
  108.    
  109.     @SideOnly(Side.CLIENT)
  110.     public static void registerItemModel(Item item) {
  111.         registerItemModel(item, 0);
  112.     }
  113.     @SideOnly(Side.CLIENT)
  114.     public static void registerItemModel(Item item, int metaData) {
  115.  
  116.         ModelLoader.setCustomModelResourceLocation(item, metaData,
  117.                 new ModelResourceLocation(item.getRegistryName(), "inventory"));
  118.     }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment