Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

So, I've dealt with this error before back in 1.12.2 where the projectile would shoot and hit the entity but it'd be invisible. the fix i used in 1.12.2 doesn't seem to be the problem this time.

I'm trying to make a custom projectile that shoots and im  using a custom renderer but the doRender method never actually runs.

 

this is my item class: 

https://github.com/izako666/HunterX/blob/1.14.4/main/java/com/izako/hunterx/items/YoyoItem.java

this is my entity class: 

https://github.com/izako666/HunterX/blob/1.14.4/main/java/com/izako/hunterx/items/entities/YoyoEntity.java

this is my render class: 

https://github.com/izako666/HunterX/blob/1.14.4/main/java/com/izako/hunterx/items/renderers/YoyoRenderer.java

this is where i register my renderer: 

https://github.com/izako666/HunterX/blob/1.14.4/main/java/com/izako/hunterx/registerers/ClientSideRegistry.java

and that method gets called here: 

https://github.com/izako666/HunterX/blob/1.14.4/main/java/com/izako/hunterx/Main.java

here i register my entity: 

https://github.com/izako666/HunterX/blob/1.14.4/main/java/com/izako/hunterx/registerers/ModEventSubscriber.java

 

I used the debugger and all registry code does run, i also checked doRender in the renderer class but doRender didn't work

Howdy

I suggest you could troubleshoot it by putting a breakpoint in WorldRenderer::updateCameraAndRender() at the 

iprofiler.endStartSection("entities");

section, then stepping through the entity loop until it reaches your entity and then tracing in to see where the problem is, eg

1) Is your entity present at all?

2) Is it being clipped (out of view)?

3) Is the correct renderer being called?

4) Is the renderer actually drawing anything?

 

etc

 

Cheers

  TGG

 

  • Author
5 hours ago, TheGreyGhost said:

Howdy

I suggest you could troubleshoot it by putting a breakpoint in WorldRenderer::updateCameraAndRender() at the 


iprofiler.endStartSection("entities");

section, then stepping through the entity loop until it reaches your entity and then tracing in to see where the problem is, eg

1) Is your entity present at all?

2) Is it being clipped (out of view)?

3) Is the correct renderer being called?

4) Is the renderer actually drawing anything?

 

etc

 

Cheers

  TGG

 

if i put a breakpoint there it'll stop the game every tick so I can't really debug that way and I'm not quite sure what to do since I'm not used to the debugger.

Hi Izako

 

Yes you're right, it will stop the game every tick.  But that doesn't matter because once it is stopped (paused) you can easily find the problem and solve it.

 

If you're not used to the debugger I think it would be very helpful for you to spend some time learning how to use breakpoints, variable watches, and tracing in your debugger.  It makes debugging much much easier and it will make your programming experience very frustrating if you don't use it.  There are many many great online tutorials, and it really isn't difficult to learn the basics.

 

Cheers

  TGG

  • Author
12 hours ago, TheGreyGhost said:

Hi Izako

 

Yes you're right, it will stop the game every tick.  But that doesn't matter because once it is stopped (paused) you can easily find the problem and solve it.

 

If you're not used to the debugger I think it would be very helpful for you to spend some time learning how to use breakpoints, variable watches, and tracing in your debugger.  It makes debugging much much easier and it will make your programming experience very frustrating if you don't use it.  There are many many great online tutorials, and it really isn't difficult to learn the basics.

 

Cheers

  TGG

It seems that the entity itself is never present. I checked the loop and the projectile entity never appears. It can't be the registration of the entity since i can summon the entity. 

Hi

What do you mean "I can summon the entity"?

 

Have you tried putting breakpoints into your entity constructor?

 

What happens to your entity after it is constructed?  Can you tell why it is being constructed and then not added to the list of entities-to-be-rendered?

 

-TGG

 

I had the exact same problem in 1.15.

 

My Problem was, that the entity was not synced with the client correctly.

My Solution was to override the

ThrowableEntity#createSpawnPacket

method in the Entity class, and call

return NetworkHooks.getEntitySpawningPacket(this);

inside that method.

 

Maybe that helps.

  • Author
1 hour ago, VirtCraft said:

I had the exact same problem in 1.15.

 

My Problem was, that the entity was not synced with the client correctly.

My Solution was to override the


ThrowableEntity#createSpawnPacket

method in the Entity class, and call


return NetworkHooks.getEntitySpawningPacket(this);

 inside that method.

 

Maybe that helps.

Yeah I tested it and it seems that the entity doesn't spawn on client. Even after doing what you said and I also added a customClientFactory but it's still null on client side

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.