Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ModItems class:
- public class ModItems {
- public static final List<Item> ITEMS = new ArrayList<Item>();
- public static final Item WAND = new ItemBase("wand");
- }
- ItemBase class:
- public class ItemBase extends Item implements IHasModel {
- public ItemBase(String name) {
- setUnlocalizedName(name);
- setRegistryName(name);
- setCreativeTab(CreativeTabs.COMBAT);
- ModItems.ITEMS.add(this);
- }
- @Override
- public void registerModels() {
- Main.proxy.registerItemRenderer(this, 0, "inventory");
- }
- }
- ClientProxy and CommonProxy classes respectively:
- public class ClientProxy extends CommonProxy {
- public void registerItemRenderer(Item item, int meta, String id){
- ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), id));
- }
- }
- public class CommonProxy {
- public void registerItemRenderer(Item item, int meta, String id){}
- }
- RegistryHandler class:
- @Mod.EventBusSubscriber
- public class RegistryHandler {
- @SubscribeEvent
- public static void onItemRegister(RegistryEvent.Register<Item> event) {
- event.getRegistry().registerAll(ModItems.ITEMS.toArray(new Item[0]));
- }
- @SubscribeEvent
- public static void onModelRegister(ModelRegistryEvent event) {
- for(Item item : ModItems.ITEMS){
- if(item instanceof IHasModel){
- ((IHasModel)item).registerModels();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement