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

Hi All,

I'm converting a mod from RML to FML and something isn't working right for me, and I can't think why.

 

I have a male and female version of a living entity: EntityFolkF and EntityFolkM that subclass my EntityFolk, each one has a different model and so in my ClientProxy I have:

 

RenderingRegistry.registerEntityRenderingHandler(EntityFolkM.class, new RenderFolk(new ModelBiped())); 
RenderingRegistry.registerEntityRenderingHandler(EntityFolkF.class, new RenderFolk(new ModelFolkFemale()));

 

This sort of works, I see the ModelBiPed, but if I put a break-point in my RenderFolk's doRender() override, it never hits it / never gets called and I need it. The RenderFolk's constructor is definitely getting called.

 

if I remove the female one from the two lines above and alter the male one to:

 

RenderingRegistry.registerEntityRenderingHandler(EntityFolk.class, new RenderFolk(new ModelBiped())); 

Eg. use the superclass instead.

It works fine, the doRender() gets called and I can do my extra stuff, but of course I can only use one or the other model.

 

This worked using RML, so is there a Forge way of doing this, or better way. I just need to have two different models for  the genders and the gender isn't decided until the point that I need to spawn one in, they're not just random spawns, I spawn specific ones in at specific locations.

 

Thanks in advance for any suggestions.

 

 

couldn't you just do

RenderingRegistry.registerEntityRenderingHandler(EntityFolk.class, new RenderFolk(new ModelBiped()));

 

and then in your doRender do this?

 

if(par1Entity instanceof EntityFolkM){

//doMaleModel rendering

}else if(par1Entity instanceof EntityFolkF){

//doFemaleModel rendering

}

  • Author

 

Thanks Rich!

It wasn't exactly the solution I used, as I still need it to use the ModelFolkFemale model as well as the extra rendering, but it got me thinking on the right lines... so I got the FolkRender to find out the gender and render or not render the extra 'lady parts' :-)

 

Cheers,

 

Thanks Rich!

It wasn't exactly the solution I used, as I still need it to use the ModelFolkFemale model as well as the extra rendering, but it got me thinking on the right lines... so I got the FolkRender to find out the gender and render or not render the extra 'lady parts' :-)

 

Cheers,

Yeah I couldn't narrow down exactly what you were trying to do given just the snippets, but glad it helped.

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.