Posted August 19, 201411 yr When a mob dies, I want this mob to spawn as an exact replica of the mob but with my own AI. This means I want it to copy the rendering function of the mob that died. In EntityDeadMob.java, when the mob is spawned, the entityToDisplay variable is set as well as the position. When I run it with this code, I get an error. EntityDeadMob.java package com.julianscode.mobloot; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.EntityMob; import net.minecraft.world.World; public class EntityDeadMob extends EntityMob { public Entity entityToDisplay; public EntityDeadMob(World p_i1738_1_) { super(p_i1738_1_); // TODO Auto-generated constructor stub } } RenderDeadMob.java package com.julianscode.mobloot; import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; import net.minecraft.client.renderer.entity.RenderManager; public class RenderDeadMob extends Render { Render display; @Override public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { EntityDeadMob deadmob = (EntityDeadMob) p_76986_1_; this.display = RenderManager.instance.getEntityRenderObject(deadmob.entityToDisplay); this.display.doRender(deadmob.entityToDisplay, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); } @Override protected ResourceLocation getEntityTexture(Entity p_110775_1_) { return null; } } Error: net.minecraft.util.ReportedException: Rendering entity in world at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:346) ~[RenderManager.class:?] at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278) ~[RenderManager.class:?] at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251) ~[RenderManager.class:?] at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:533) ~[RenderGlobal.class:?] at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1308) ~[EntityRenderer.class:?] at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1095) ~[EntityRenderer.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1066) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:961) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_51] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_51] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_51] at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_51] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_51] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_51] at GradleStart.bounce(GradleStart.java:107) [start/:?] at GradleStart.startClient(GradleStart.java:100) [start/:?] at GradleStart.main(GradleStart.java:55) [start/:?] Caused by: java.lang.NullPointerException at net.minecraft.client.renderer.entity.RenderManager.getEntityRenderObject(RenderManager.java:207) ~[RenderManager.class:?] at com.julianscode.mobloot.RenderDeadMob.doRender(RenderDeadMob.java:18) ~[RenderDeadMob.class:?] at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300) ~[RenderManager.class:?] ... 21 more Event where entity is spawned: @SubscribeEvent public void onLivingDeathEvent(LivingDeathEvent event) { if(event.entityLiving instanceof EntityMob && event.source.getEntity() instanceof EntityPlayer) { log.info("Killed Hostile Mob "); double x = event.entityLiving.posX; double y = event.entityLiving.posY; double z = event.entityLiving.posZ; World w = event.entityLiving.worldObj; this.spawnDeadZombie(x, y, z, w, (Entity) event.entityLiving); } }
August 20, 201411 yr Bump... Where's Lex when you need him? :l Probably yelling at other people that haven't heard of OOP and trying to reinvent the water in minecraft. Oh and by the way, can this error be any clearer? Try to read your logs, it generally helps. Caused by: java.lang.NullPointerException at net.minecraft.client.renderer.entity.RenderManager.getEntityRenderObject(RenderManager.java:207) ~[RenderManager.class:?] at com.julianscode.mobloot.RenderDeadMob.doRender(RenderDeadMob.java:18) ~[RenderDeadMob.class:?] at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300) ~[RenderManager.class:?] [/Code] Basically your RenderObject or the mob you want to render is empty, most likely a case of the event not capturing the mob. Try to see when you kill it if Event.EntityLiving.GetEntityid(); or something like that returns an id.
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.