Jump to content

Recommended Posts

Posted

Hello!

 

I am trying to make my custom block (a staff) render in hand. Unfortunately, while it renders perfectly when placed, the game is crashing when I try to add the ItemRender class and I have no idea why. I am currently working on two mods and the one mod I have working with in-hand rendering but the newer one is giving a NullPointer on the "this.bindTexture(texture);" line, which I can't figure out why.

 

Does anyone have any ideas? I'd love hear them. I'll paste my Render class below

 

Renderer class

 

  Reveal hidden contents

 

 

Line 44 (this.bindTexture(stickTexture);) is throwing the null pointer but it uses the same call as my other mod does and the other mod works fine. All the folders are set up the same as well (resources/assets/*modName*/textures/tileentity/*TESR*.png)

Posted
  On 7/30/2014 at 7:32 PM, Nephroid said:

Can you post the bindTexture code? The null pointer is likely caused by something in it.

 

The line calling the bindTexture method is from a method I did not create and is offered from, I believe, Minecraft Vanilla. I would understand it calling a null if neither the in-hand nor the placed version of my block were not working but the odd part is that if I do not use a special, in-hand renderer, the block is placeable and looks as it should in the world but does not render anything in hand (not blank, but the default missing texture purple and black texture). I'll post the code that my object is calling. It is overriding an existing method so I did not create my own bindTexture method. I'll toss a null check around the bindTexture, and although I'm sure that will remove my crash, I don't believe it will do much more.

 

 

  Reveal hidden contents

 

Posted

Ah, I see.

 

Your class extends TileEntitySpecialRenderer which has no constructor specified. This means that in your class, you need to instantiate the fields in TileEntitySpecialRenderer in the constructor of your class. In particular, field_147501_a remains null, and that's being used in the bindTexture method.

 

-Nephroid

Posted

I  guess I'm really just confused at why my other mod works perfectly without having to declare/assign the func_147501_a yet this one does. I mean I see exactly what you are talking about and I now know why it is giving the null pointer (thanks a ton for the feedback by the way), I just don't understand why it works in one case but doesn't in another, and because it does not work in this case while the other does, I do not know quite how to solve the issue. I have never worked with the TileEntityRendererDispatcher (the single argument for the func_147497_a method that assigns the above variable) before.

Posted

Can you post the code of the class that works? I can try to compare the two classes to see what's missing.

 

My intuition tells me that the working class probably extends a different class, or it extends the same class, but the relevant field is instantiated somewhere outside the class using a setter method or something.

 

Try initializing the field in the working code to null (in the constructor) and see if it breaks.

Posted

Well each instance of these blocks that I'm attempting to render in hand has a TileEntity, Render (TESR), Model, ItemRender (rendering in hand class), and Block class associated with them, as well as a Base and ClientProxy class with code to initialize and register them. I'm going to post the Working and Un-Working code classes of Render, ItemRender, TileEntity, and the ClientProxy because I feel those are where something is wonky. I am happy to post any others though.

 

Working Block

TileEntity:

 

  Reveal hidden contents

 

Render:

 

  Reveal hidden contents

 

ItemRenderer:

 

  Reveal hidden contents

 

Client Proxy:

 

  Reveal hidden contents

 

 

Non-Working Block

TileEntity:

 

  Reveal hidden contents

 

Render:

 

  Reveal hidden contents

 

ItemRenderer:

 

  Reveal hidden contents

 

ClientProxy:

 

  Reveal hidden contents

 

 

I may just be a little burnt out and missed something. Another note that may be important is the working one I built from scratch on the 1.7.10 gradle system while the not working one has been updated (over the past couple days) to 1.7.10 from 1.6.4. (Didn't use gradle previously)

 

EDIT: Got it working, in my base class I was initializing my full TileEntity before I initialized the two TileEntities I was using in my Render class; resulting in a null for the Rendering Item in the one field.

 

Bit of a further explanation, my block was not placed, a different block was placed and a second block was right clicked and "put on top" to create the TileEntity I was having issues with. Trying to rendering the productions TileEntity before I had initialized the TileEntity for the other two was causing the problems. Anyways, it all works now, solved! Huge thanks for Nephroid for the help pin pointing where and why the problem was occurring.

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Veuillez lire la FAQ (le lien est en haut de la page) et les journaux de publication tels que décrits ici. Cela aidera à déterminer ce qui se passe. Ce sont des forums anglais, j'ai utilisé un traducteur pour essayer de vous aider, j'espère que ça se retrouve bien.
    • I tried adding the Create (6.0.4) mod to my modpack which causes it to crash before it finishes loading. I tried removing the mod Cold Sweat because the error said it failed to load due to something in Create but when I removed it, it kept crashing; and I also tried downgrading Create, but nothing helped. I assume there's an incompatible mod that's causing Create to not load correctly, but I can't find it. launcher_log.txt: https://mclo.gs/kn5Qkk2 debug.log: https://mclo.gs/zIKoAaB crash report: https://mclo.gs/j86C10Y The part of debug.log that I think is the crash (after Create mod already loaded incorrectly): [02May2025 14:52:36.813] [Worker-ResourceReload-2/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/]: Exception caught during firing event: com/simibubi/create/content/redstone/displayLink/DisplayBehaviour Index: 3 Listeners: 0: NORMAL 1: net.minecraftforge.eventbus.EventBus$$Lambda$1770/0x00000008009bc8a0@70223c71 2: ASM: class com.momosoftworks.coldsweat.core.event.PotionRecipes register(Lnet/minecraftforge/fml/event/lifecycle/FMLCommonSetupEvent;)V 3: ASM: class com.momosoftworks.coldsweat.compat.CompatManager$ModEvents setupModEvents(Lnet/minecraftforge/fml/event/lifecycle/FMLCommonSetupEvent;)V java.lang.NoClassDefFoundError: com/simibubi/create/content/redstone/displayLink/DisplayBehaviour at TRANSFORMER/cold_sweat@2.3.12/com.momosoftworks.coldsweat.compat.CompatManager$ModEvents.setupModEvents(CompatManager.java:501) at TRANSFORMER/cold_sweat@2.3.12/com.momosoftworks.coldsweat.compat.__ModEvents_setupModEvents_FMLCommonSetupEvent.invoke(.dynamic) at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) at LAYER PLUGIN/javafmllanguage@1.20.1-47.4.0/net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:121) at LAYER PLUGIN/fmlcore@1.20.1-47.4.0/net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$5(ModContainer.java:127) at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) Caused by: java.lang.ClassNotFoundException: com.simibubi.create.content.redstone.displayLink.DisplayBehaviour at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:141) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ... 14 more [02May2025 14:52:36.972] [Worker-ResourceReload-2/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/LOADING]: Caught exception during event FMLCommonSetupEvent dispatch for modid cold_sweat java.lang.NoClassDefFoundError: com/simibubi/create/content/redstone/displayLink/DisplayBehaviour at com.momosoftworks.coldsweat.compat.CompatManager$ModEvents.setupModEvents(CompatManager.java:501) ~[ColdSweat-2.3.12.jar%23537!/:2.3.12] at com.momosoftworks.coldsweat.compat.__ModEvents_setupModEvents_FMLCommonSetupEvent.invoke(.dynamic) ~[ColdSweat-2.3.12.jar%23537!/:2.3.12] at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) ~[eventbus-6.0.5.jar%2387!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%2387!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%2387!/:?] at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:121) ~[javafmllanguage-1.20.1-47.4.0.jar%23784!/:?] at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$5(ModContainer.java:127) ~[fmlcore-1.20.1-47.4.0.jar%23783!/:?] at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] Caused by: java.lang.ClassNotFoundException: com.simibubi.create.content.redstone.displayLink.DisplayBehaviour at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:141) ~[securejarhandler-2.1.10.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] ... 14 more
    • You would probably be better served looking for support where NeoForge support is given, I believe their discord server.
    • If you copy and paste the java commandline into the terminal, what happens? as in trying to launch it without using the .bat file.
    • Install Java 17   If java 17 is already installed, reassign Java Open Settings  Select Apps  Select Default Apps (left-hand side)  Select 'Choose default apps by file type'  Scroll down and find .jar  Change the application for the .jar file to Java 
  • Topics

×
×
  • Create New...

Important Information

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