Koolade446 Posted September 18, 2021 Posted September 18, 2021 Hi, so I'm trying to add a custom boss who holds a sword. I made a model in blockbench and imported it and coded a renderer. the entity renders fine but as soon as I give it the sword the game crashes Model: Spoiler HiemModel.java package whfo.whfo.Renderers.model; // Made with Blockbench 3.9.3 // Exported for Minecraft version 1.15 - 1.16 with MCP mappings // Paste this class into your mod and generate all required imports import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.vertex.IVertexBuilder; import net.minecraft.client.renderer.entity.model.EntityModel; import net.minecraft.client.renderer.model.ModelRenderer; import net.minecraft.entity.Entity; import whfo.whfo.entities.EntityHiem; public class HiemModel<E extends EntityHiem> extends EntityModel<E> { private final ModelRenderer bb_main; public HiemModel() { textureWidth = 64; textureHeight = 64; bb_main = new ModelRenderer(this); bb_main.setRotationPoint(0.0F, 24.0F, 0.0F); bb_main.setTextureOffset(16, 28).addBox(-4.0F, -9.0F, -2.0F, 4.0F, 9.0F, 4.0F, 0.0F, false); bb_main.setTextureOffset(0, 28).addBox(0.0F, -9.0F, -2.0F, 4.0F, 9.0F, 4.0F, 0.0F, false); bb_main.setTextureOffset(30, 0).addBox(-4.0F, -18.0F, -2.0F, 8.0F, 9.0F, 4.0F, 0.0F, false); bb_main.setTextureOffset(16, 15).addBox(4.0F, -18.0F, -2.0F, 4.0F, 9.0F, 4.0F, 0.0F, false); bb_main.setTextureOffset(0, 15).addBox(-8.0F, -18.0F, -2.0F, 4.0F, 9.0F, 4.0F, 0.0F, false); bb_main.setTextureOffset(0, 0).addBox(-4.0F, -26.0F, -3.0F, 8.0F, 8.0F, 7.0F, 0.0F, false); } @Override public void setRotationAngles(E entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { } @Override public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){ bb_main.render(matrixStack, buffer, packedLight, packedOverlay); } public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { modelRenderer.rotateAngleX = x; modelRenderer.rotateAngleY = y; modelRenderer.rotateAngleZ = z; } } Renderer: Spoiler HiemRenderer.java package whfo.whfo.Renderers; import net.minecraft.client.renderer.entity.EntityRendererManager; import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.client.renderer.entity.layers.HeldItemLayer; import net.minecraft.util.ResourceLocation; import whfo.whfo.Renderers.model.HiemModel; import whfo.whfo.Whfo; import whfo.whfo.entities.EntityHiem; public class HiemRenderer extends MobRenderer<EntityHiem, HiemModel<EntityHiem>> { public static final ResourceLocation TEXTURE = new ResourceLocation(Whfo.MODID, "textures/entity/hiem/hiem.png"); public HiemRenderer(EntityRendererManager renderManagerIn) { super(renderManagerIn, new HiemModel<>(), 0.7f); this.addLayer(new HeldItemLayer(this)); } @Override public ResourceLocation getEntityTexture(EntityHiem entity) { return TEXTURE; } } Crash Log: Spoiler ---- Minecraft Crash Report ---- // Hi. I'm Minecraft, and I'm a crashaholic. Time: 9/17/21, 11:32 PM Description: Rendering entity in world java.lang.ClassCastException: class whfo.whfo.Renderers.model.HiemModel cannot be cast to class net.minecraft.client.renderer.entity.model.IHasArm (whfo.whfo.Renderers.model.HiemModel and net.minecraft.client.renderer.entity.model.IHasArm are in unnamed module of loader cpw.mods.modlauncher.TransformingClassLoader @273a5a8a) at net.minecraft.client.renderer.entity.layers.HeldItemLayer.func_229135_a_(HeldItemLayer.java:44) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.entity.layers.HeldItemLayer.render(HeldItemLayer.java:35) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.entity.layers.HeldItemLayer.render(HeldItemLayer.java:17) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.entity.LivingRenderer.render(LivingRenderer.java:125) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.entity.MobRenderer.render(MobRenderer.java:40) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.entity.MobRenderer.render(MobRenderer.java:20) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.entity.EntityRendererManager.renderEntityStatic(EntityRendererManager.java:252) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.WorldRenderer.renderEntity(WorldRenderer.java:1224) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.WorldRenderer.updateCameraAndRender(WorldRenderer.java:1032) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.GameRenderer.renderWorld(GameRenderer.java:620) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.GameRenderer.updateCameraAndRender(GameRenderer.java:437) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1002) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:612) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] {} at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:52) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {} at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace: at net.minecraft.client.renderer.entity.layers.HeldItemLayer.func_229135_a_(HeldItemLayer.java:44) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.entity.layers.HeldItemLayer.render(HeldItemLayer.java:35) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.entity.layers.HeldItemLayer.render(HeldItemLayer.java:17) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.entity.LivingRenderer.render(LivingRenderer.java:125) ~[forge:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.entity.MobRenderer.render(MobRenderer.java:40) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.entity.MobRenderer.render(MobRenderer.java:20) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} -- Entity being rendered -- Details: Entity Type: whfo:hiem (whfo.whfo.entities.EntityHiem) Entity ID: 416 Entity Name: entity.whfo.hiem Entity's Exact location: -38.02, 76.00, 86.57 Entity's Block location: World: (-39,76,86), Chunk: (at 9,4,6 in -3,5; contains blocks -48,0,80 to -33,255,95), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Entity's Momentum: 0.00, 0.00, 0.00 Entity's Passengers: [] Entity's Vehicle: ~~ERROR~~ NullPointerException: null -- Renderer details -- Details: Assigned renderer: whfo.whfo.Renderers.HiemRenderer@64514009 Location: 0.28,-1.62,-1.39 - World: (0,-2,-2), Chunk: (at 0,-1,14 in 0,-1; contains blocks 0,0,-16 to 15,255,-1), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1) Rotation: 0.0 Delta: 0.3399942 Stacktrace: at net.minecraft.client.renderer.entity.EntityRendererManager.renderEntityStatic(EntityRendererManager.java:252) ~[forge:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.WorldRenderer.renderEntity(WorldRenderer.java:1224) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.WorldRenderer.updateCameraAndRender(WorldRenderer.java:1032) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.GameRenderer.renderWorld(GameRenderer.java:620) ~[forge:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} -- Affected level -- Details: All players: 1 total; [ClientPlayerEntity['Dev'/145, l='ClientLevel', x=-38.30, y=76.00, z=87.96]] Chunk stats: Client Chunk Cache: 841, 529 Level dimension: minecraft:the_nether Level spawn location: World: (208,63,214), Chunk: (at 0,3,6 in 13,13; contains blocks 208,0,208 to 223,255,223), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Level time: 27245 game time, 27245 day time Server brand: forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.world.ClientWorld.fillCrashReport(ClientWorld.java:465) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2091) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:628) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] {} at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:52) ~[forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {} at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {} -- System Details -- Details: Minecraft Version: 1.16.5 Minecraft Version ID: 1.16.5 Operating System: Windows 10 (amd64) version 10.0 Java Version: 11.0.11, JetBrains s.r.o. Java VM Version: Dynamic Code Evolution 64-Bit Server VM (mixed mode), JetBrains s.r.o. Memory: 1644571136 bytes (1568 MB) / 3460300800 bytes (3300 MB) up to 8566865920 bytes (8170 MB) CPUs: 12 JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump ModLauncher: 8.0.9+86+master.3cf110c ModLauncher launch target: fmluserdevclient ModLauncher naming: mcp ModLauncher services: /mixin-0.8.2.jar mixin PLUGINSERVICE /eventbus-4.0.0.jar eventbus PLUGINSERVICE /forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-launcher.jar object_holder_definalize PLUGINSERVICE /forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-launcher.jar runtime_enum_extender PLUGINSERVICE /forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-launcher.jar capability_inject_definalize PLUGINSERVICE /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE /forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-launcher.jar runtimedistcleaner PLUGINSERVICE /mixin-0.8.2.jar mixin TRANSFORMATIONSERVICE /forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.5-launcher.jar fml TRANSFORMATIONSERVICE FML: 36.1 Forge: net.minecraftforge:36.1.1 FML Language Providers: [email protected] minecraft@1 Mod List: client-extra.jar |Minecraft |minecraft |1.16.5 |DONE |a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f forge-1.16.5-36.1.1_mapped_snapshot_20210309-1.16.|Forge |forge |36.1.1 |DONE |NOSIGNATURE main |Whfo |whfo |NONE |DONE |NOSIGNATURE Crash Report UUID: 9a539cbd-c41c-4ea7-b515-c1302a698439 Launched Version: MOD_DEV Backend library: LWJGL version 3.2.2 build 10 Backend API: NVIDIA GeForce GTX 1650/PCIe/SSE2 GL version 4.6.0 NVIDIA 471.68, NVIDIA Corporation GL Caps: Using framebuffer using OpenGL 3.0 Using VBOs: Yes Is Modded: Definitely; Client brand changed to 'forge' Type: Client (map_client.txt) Graphics mode: fancy Resource Packs: vanilla, mod_resources Current Language: English (US) CPU: 12x Intel(R) Core(TM) i5-10400 CPU @ 2.90GHz Quote
Koolade446 Posted September 18, 2021 Author Posted September 18, 2021 Just now, diesieben07 said: Do not use raw types. Specifically HeldItemLayer. Okay I'm new to modding so whats a better way to do this? Quote
Koolade446 Posted September 18, 2021 Author Posted September 18, 2021 1 hour ago, diesieben07 said: Learn about Java generics. I know how to use generics my friend. My question was how I can make my entity able to render the item in hand Quote
Koolade446 Posted September 18, 2021 Author Posted September 18, 2021 2 minutes ago, Koolade446 said: I know how to use generics my friend. My question was how I can make my entity able to render the item in hand Never mind I got it Quote
Recommended Posts
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.