Jump to content

Recommended Posts

Posted

For about some time now i have started a 1.8 mod project. I have started it mostly like a test project to learn more about the way Forge 1.8 works but depending on the way it turns out this project may be published. So today i found some time and started working. I am getting a little bit confused over the rendering. I saw a simple tutorial and then tried to recreate the thing my own way. After i finished it seemed that i had done the most part of simple rendering for items and block using .json however everytime i start the game it just crashes on PreInit phase if i am not mistaken. Maybe i am derping and this is an obvious error, but this is the first time for me working on 1.8 so excuse the non-efficient coding(if there is any).

 

Here is the crash-report:

 

  Reveal hidden contents

 

 

Here is the code:

 

Main Class:

  Reveal hidden contents

 

 

Proxy Library:

  Reveal hidden contents

 

 

Client Proxy:

  Reveal hidden contents

 

 

ServerProxy:

  Reveal hidden contents

 

 

ItemRenderer Class ( Custom ) :

  Reveal hidden contents

 

 

Posted

I think the issue here is that Minecraft's RenderItem instance is initialised after init and before post-init. So, to make it would you would need to move the item rendering registration to post init.

Posted

Do you get the exact same error? What may help would be to put a new line between each function call (so

    Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Asolin.MODID + ":" + item.getUnlocalizedName().substring(5), "inventory"));

would become:

    Minecraft.getMinecraft()

    .getRenderItem()

    .getItemModelMesher()

    .register(item, 0, new ModelResourceLocation(Asolin.MODID + ":" + item.

    getUnlocalizedName().

    substring(5), "inventory"));

So you can see which function call is throwing an error, rather than just "somewhere in the entire line".

Posted

Your

Init

and

postInit

methods are both handling

FMLPreInitializationEvent

instead of handling

FMLInitializationEvent

and

FMLPostInitializationEvent

.

 

The

RenderItem

instance is created between preInit and init, so it's still

null

when you try to register your item models in the preInit phase.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Posted

All things for rendering (e.g.meshing and renderers) are client-only. The server doesn't do display.

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

Posted

Sorry, I saw the word "renderer" in the main class and commented. My own style is to call proxy.init (or preInit) and not have any mention of client-only features until inside my client proxy. In my own code, calls like ItemRenderer.registerItemRender() and proxy.registerRenderInfo() would be red flags.

 

Incidentally, your ItemRenderer class has "import net.minecraft.client.Minecraft". Isn't that a client-only class (hence "client" in its path)?

 

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

Posted
  On 11/12/2015 at 8:28 AM, Cerandior said:

That is not incidentally imported.

Minecraft.getMinecraft uses it. And minecraft.getMinecraft it's client only

I'm glad you found the error.

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

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.