Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Can't register EntityRenderer (1.18.2)


Tranduil
 Share

Recommended Posts

Hi,

im relatively new to modding and im from Germany, so sorry for the Grammar.

So, i've got the Problem that i cant register my EntityRenderer because eclipse shows me an Error. But i dont know what i did wrong. I tried making Custom Entity with this Turorial. And every step worked perfectly fine until the last step.

Here's my ClientModEventSubscriber:

@Mod.EventBusSubscriber(modid = ElementalCraft.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
public class ClientModEventSubscriber {
	@SubscribeEvent
	public static void layerRegister(EntityRenderersEvent.RegisterLayerDefinitions event) {
		event.registerLayerDefinition(FireElementalModel.LAYER_LOCATION, FireElementalModel::createBodyLayer);
		
	}

	@SubscribeEvent
	public static void rendererRegister(EntityRenderersEvent.RegisterRenderers event) {
		event.registerEntityRenderer(EntityInit.AIR_SWORD_PROJECTILE.get(), AirSwordProjectileRenderer::new);
		event.registerEntityRenderer(EntityInit.FIRE_ELEMENTAL.get(), FireElementalRenderer::new);
	}
}

And this is my FireElementalRenderer:

public class FireElementalRenderer<Type extends FireElemental> extends MobRenderer<Type, FireElementalModel<Type>> {

	private static final ResourceLocation TEXTURE = new ResourceLocation(ElementalCraft.MOD_ID, "textures/entity/fire_elemental.png");
	
	public FireElementalRenderer(Context context, FireElementalModel<Type> fireElementModel, float floatVal) {
		super(context, new FireElementalModel<>(context.bakeLayer(FireElementalModel.LAYER_LOCATION)), 0.5f);
	}

	@Override
	public ResourceLocation getTextureLocation(Type p_114482_) {
		return TEXTURE;
	}

}

 

Eclipse shows me this Error that is shown on  "FireElementalRenderer::new":

"The type FireElementalRenderer does not define FireElementalRenderer(EntityRendererProvider.Context) that is applicable here"

 

I really dont know what the problem is, bc I already created an Entity that works perfectly fine. Maybe because the tutorial I used is for 1.17. but what do I need to type then?

Thanks for the help in advane.

Link to comment
Share on other sites

You are attempting to use your renderer class' constructor as a EntityRendererProvider implementation, but the constructor takes parameters which do not match the SAM signature of EntityRendererProvider#create. The method only provides EntityRendererProvider.Context, your constructor takes additional parameters. I don't know why your constructor does this, as the additional parameters are entirely unused within your constructor.

  • Like 1
Link to comment
Share on other sites

Ok, but how do I fix this? The AirSwordProjectile seems to work because the constructor of the ArrowRenderer (which I use for the AirSwordProjectileRenderer) uses only the "EntityRendererProvider.Context" as paramter. But why does the YouTube tutorial work fine? Is it because I use the 1.18.2 instead the 1.17?

Link to comment
Share on other sites

I do understand java, im coding in Java for almost 3 years now. Im just not used to the Forge Library. I try to work myself more into it. If I find the solution I will comment it under the Post.

Thanks for the help nonetheless!

Link to comment
Share on other sites

Ok. Then im sorry, i never heard of the Term SAM Interface before, but i will read into that to. Im just a bit confused at different steps because im not used to Forge. Im just used to my Libraries at my work, which are pretty old technologies. But I will try to improve.

Thx for the help

Link to comment
Share on other sites

If you don't know about lambdas and SAM interfaces, why are you using them? Using technologies you do not understand is not helpful. It is not required to use a lambda or method reference to implement EntityRendererProvider, you can use an anonymous class or normal class as well.

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

 Share



×
×
  • Create New...

Important Information

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