Jump to content

Help with registering item renders


TastyCake

Recommended Posts

Hi. I've been having a lot of trouble with registering item renders in my ModItems class. I get an error in the end of the file at registerRender(Item item). It doesn't give much info about the error. It just crashes. If you need more information I can post more of the classes that get referenced. Please help.

 

ModItems.java -- Pastebin

Edited by TastyCake

My username elsewhere is Fluoride

Link to comment
Share on other sites

1) What is the error?

2) What version of Minecraft are you modding for?

3) Where do you call registerRenders()?

Edited by Draco18s

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Minecraft Version is 1.11.2

The error is

Time: 10/24/17 8:02 AM
Description: There was a severe problem during mod loading that has caused the game to fail

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Le Big Boss (lbb)
Caused by: java.lang.NullPointerException
	at com.tastycake.lebigboss.init.ModItems.registerRender(ModItems.java:44)
	at com.tastycake.lebigboss.init.ModItems.registerRenders(ModItems.java:31)
	at com.tastycake.lebigboss.proxy.ClientProxy.registerRenders(ClientProxy.java:14)
	at com.tastycake.lebigboss.ModMain.preInit(ModMain.java:29)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:649)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
	at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
	at com.google.common.eventbus.EventBus.post(EventBus.java:275)
	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:253)
	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:231)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
	at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
	at com.google.common.eventbus.EventBus.post(EventBus.java:275)
	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:148)
	at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:647)
	at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:276)
	at net.minecraft.client.Minecraft.init(Minecraft.java:478)
	at net.minecraft.client.Minecraft.run(Minecraft.java:387)
	at net.minecraft.client.main.Main.main(Main.java:118)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
	at GradleStart.main(GradleStart.java:26)

 

IntelliJ IDEA doesn't show any errors in my code.

 

More Files

Edited by TastyCake

My username elsewhere is Fluoride

Link to comment
Share on other sites

4 minutes ago, tebreca said:

try 


 this.setRegistryName(new ResourceLocation(Reference.MODID + ":" + registryName));

instead of 


 this.setRegistryName(new ResourceLocation(Reference.MODID, registryName));

 

and in your ModItems try to use

ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(new ResourceLocation(Reference.MODID + ":" + item.getUnlocalizedName().substring(5)), "inventory"));

instead of 

ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(new ResourceLocation(Reference.MODID, item.getUnlocalizedName().substring(5)), "inventory"));

 

I think that would work

Edited by tebreca
Link to comment
Share on other sites

2 hours ago, tebreca said:

Reference.MODID + ":" + item.getUnlocalizedName().substring(5)

Oh jesus fucking christ on a crutch.

Use item.getRegistryName() instead of all of this garbage

 

Also, you have a NullPointerException, which none of the above suggestions will fix.

 

Your problem is here:

 

    @EventHandler
    public void preInit(FMLPreInitializationEvent event)
    {
        Utils.getLogger().info("Pre Initialization");
 
        Utils.getLogger().info("Loading Proxies...");
        proxy.registerRenders();
    }
 
    @EventHandler
    public void Init(FMLInitializationEvent event)
    {
        ModItems.init();
        ModItems.register();
 
        Utils.getLogger().info("Initialization");
    }
 
You're registering your renderers before you ever create your item.
Fuck. How are you people this incompetent? Of course you got a NPE, this wasn't even a hard problem to figure out. All you had to do was look at the order in which you were doing things and realize that they were WRONG.
 
On top of that, you should be using the Registry events anyway!
Edited by Draco18s

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.