Jump to content

1.10.2 Rendering Mob causes game crash? {Solved myself :)}


Recommended Posts

Posted

okay so here are my files right off the bat--

 

 

OrigamiEntity

package com.chaos576.origamimod.mob;

 

import com.chaos576.origamimod.client.Reference;

import com.chaos576.origamimod.client.VitroStaticsOrigamimod;

import com.chaos576.origamimod.entity.EntityOrigamiCow;

import com.chaos576.origamimod.entity.ModelOrigamiCow;

import com.chaos576.origamimod.entity.RenderOrigamiCow;

 

import net.minecraft.client.Minecraft;

import net.minecraft.entity.EnumCreatureType;

import net.minecraft.init.Biomes;

import net.minecraft.world.storage.loot.LootTableList;

import net.minecraftforge.fml.client.registry.RenderingRegistry;

import net.minecraftforge.fml.common.registry.EntityRegistry;

import net.minecraftforge.fml.relauncher.Side;

import net.minecraftforge.fml.relauncher.SideOnly;

 

public class OrigamiEntity

{

 

    public static void init()

    {

        int id = 1;

        EntityRegistry.registerModEntity(EntityOrigamiCow.class, "origami_cow", id++, Reference.MOD_ID, 64, 3, true, 0x996600, 0x00ff00);

 

    }

 

    @SideOnly(Side.CLIENT)

    public static void initModels()

    {

        RenderingRegistry.registerEntityRenderingHandler(EntityOrigamiCow.class, new RenderOrigamiCow(Minecraft.getMinecraft().getRenderManager(), new ModelOrigamiCow(), 1f));

    }

}

 

 

ModelOrigamiCow (created using Techne)

package com.chaos576.origamimod.entity;

 

import net.minecraft.client.model.ModelBase;

import net.minecraft.client.model.ModelRenderer;

import net.minecraft.entity.Entity;

 

public class ModelOrigamiCow extends ModelBase

{

  //fields

    ModelRenderer BacklegLeft;

    ModelRenderer FrontlegLeft;

    ModelRenderer FrontlegRight;

    ModelRenderer BacklegRight;

    ModelRenderer Torso;

    ModelRenderer Head;

 

  public ModelOrigamiCow()

  {

    textureWidth = 64;

    textureHeight = 32;

   

      BacklegLeft = new ModelRenderer(this, 12, 0);

      BacklegLeft.addBox(0F, 0F, 0F, 1, 2, 1);

      BacklegLeft.setRotationPoint(0F, 22F, 1F);

      BacklegLeft.setTextureSize(64, 32);

      BacklegLeft.mirror = true;

      setRotation(BacklegLeft, 0F, 0F, 0F);

      FrontlegLeft = new ModelRenderer(this, 12, 0);

      FrontlegLeft.addBox(0F, 0F, 0F, 1, 2, 1);

      FrontlegLeft.setRotationPoint(0F, 22F, -1F);

      FrontlegLeft.setTextureSize(64, 32);

      FrontlegLeft.mirror = true;

      setRotation(FrontlegLeft, 0F, 0F, 0F);

      FrontlegRight = new ModelRenderer(this, 12, 0);

      FrontlegRight.addBox(0F, 0F, 0F, 1, 2, 1);

      FrontlegRight.setRotationPoint(-1F, 22F, -1F);

      FrontlegRight.setTextureSize(64, 32);

      FrontlegRight.mirror = true;

      setRotation(FrontlegRight, 0F, 0F, 0F);

      BacklegRight = new ModelRenderer(this, 12, 0);

      BacklegRight.addBox(0F, 0F, 0F, 1, 2, 1);

      BacklegRight.setRotationPoint(-1F, 22F, 1F);

      BacklegRight.setTextureSize(64, 32);

      BacklegRight.mirror = true;

      setRotation(BacklegRight, 0F, 0F, 0F);

      Torso = new ModelRenderer(this, 0, 4);

      Torso.addBox(0F, 0F, 0F, 2, 1, 3);

      Torso.setRotationPoint(-1F, 21F, -1F);

      Torso.setTextureSize(64, 32);

      Torso.mirror = true;

      setRotation(Torso, 0F, 0F, 0F);

      Head = new ModelRenderer(this, 0, 0);

      Head.addBox(0F, 0F, 0F, 2, 2, 2);

      Head.setRotationPoint(-1F, 20F, -3F);

      Head.setTextureSize(64, 32);

      Head.mirror = true;

      setRotation(Head, 0F, 0F, 0F);

  }

 

  public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)

  {

    super.render(entity, f, f1, f2, f3, f4, f5);

    setRotationAngles(f, f1, f2, f3, f4, f5);

    BacklegLeft.render(f5);

    FrontlegLeft.render(f5);

    FrontlegRight.render(f5);

    BacklegRight.render(f5);

    Torso.render(f5);

    Head.render(f5);

  }

 

  private void setRotation(ModelRenderer model, float x, float y, float z)

  {

    model.rotateAngleX = x;

    model.rotateAngleY = y;

    model.rotateAngleZ = z;

  }

 

  public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5)

  {

    super.setRotationAngles(f, f1, f2, f3, f4, f5, null);

  }

 

}

 

 

RenderOrigamiCow

package com.chaos576.origamimod.entity;

 

import com.chaos576.origamimod.client.Reference;

 

import net.minecraft.client.model.ModelBase;

import net.minecraft.client.renderer.entity.Render;

import net.minecraft.client.renderer.entity.RenderLiving;

import net.minecraft.client.renderer.entity.RenderManager;

import net.minecraft.entity.Entity;

import net.minecraft.entity.passive.EntityCow;

import net.minecraft.util.ResourceLocation;

import net.minecraftforge.fml.client.registry.IRenderFactory;

import net.minecraftforge.fml.relauncher.Side;

import net.minecraftforge.fml.relauncher.SideOnly;

 

@SideOnly(Side.CLIENT)

public class RenderOrigamiCow extends RenderLiving<EntityOrigamiCow>

{

    private static final ResourceLocation ORIGAMI_COW_TEXTURES = new ResourceLocation(Reference.MOD_ID + ":" + "textures/entity/origami_cow.png");

 

   

    public RenderOrigamiCow(RenderManager renderManagerIn, ModelBase modelBaseIn, float shadowSizeIn)

    {

        super(renderManagerIn, new ModelOrigamiCow(), 1f);

    }

 

    @Override

    protected ResourceLocation getEntityTexture(EntityOrigamiCow entity)

    {

        return ORIGAMI_COW_TEXTURES;

    }

   

}

 

 

Main Mod File

package com.chaos576.origamimod.client;

 

import com.chaos576.origamimod.init.OrigamiBlocks;

import com.chaos576.origamimod.init.OrigamiItems;

import com.chaos576.origamimod.init.OrigamiTab;

import com.chaos576.origamimod.mob.OrigamiEntity;

import com.chaos576.origamimod.proxy.CommonProxy;

import com.chaos576.origamimod.world.OrigamiWorldGenerator;

 

import net.minecraft.client.model.ModelCow;

import net.minecraft.init.Items;

import net.minecraft.item.EnumDyeColor;

import net.minecraft.item.ItemStack;

import net.minecraftforge.fml.client.registry.RenderingRegistry;

import net.minecraftforge.fml.common.Mod;

import net.minecraftforge.fml.common.Mod.EventHandler;

import net.minecraftforge.fml.common.SidedProxy;

import net.minecraftforge.fml.common.event.FMLInitializationEvent;

import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;

import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

import net.minecraftforge.fml.common.event.FMLServerStartingEvent;

import net.minecraftforge.fml.common.registry.GameRegistry;

 

@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION)

 

public class VitroStaticsOrigamimod

{

 

@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)

public static CommonProxy proxy;

 

public static OrigamiTab tabOrigami = new OrigamiTab(12, "tabOrigami");

 

@EventHandler

public void preInit(FMLPreInitializationEvent event)

{

OrigamiItems.init();

OrigamiItems.register();

OrigamiBlocks.inti();

OrigamiBlocks.register();

OrigamiEntity.init();

OrigamiEntity.initModels();

}

 

@EventHandler

public void init(FMLInitializationEvent event)

{

proxy.registerRenders();

GameRegistry.registerWorldGenerator(new OrigamiWorldGenerator(), 0);

GameRegistry.addShapelessRecipe(new ItemStack(OrigamiItems.origami_piece), new Object[] {Items.PAPER});

GameRegistry.addShapelessRecipe(new ItemStack(OrigamiItems.origami_piece_black), new Object[] {OrigamiItems.origami_piece, new ItemStack(Items.DYE, 1, EnumDyeColor.BLACK.getDyeDamage())});

GameRegistry.addShapelessRecipe(new ItemStack(OrigamiItems.origami_piece_black), new Object[] {Items.PAPER, new ItemStack(Items.DYE, 1, EnumDyeColor.BLACK.getDyeDamage())});

 

 

//This is for testing purposes delete right after testing!!!

GameRegistry.addShapelessRecipe(new ItemStack(OrigamiItems.spawner_testing), new Object[] {OrigamiItems.origam_crystal});

}

 

@EventHandler

public void postInit(FMLPostInitializationEvent event)

{

 

}

 

@EventHandler

public void serverLoad(FMLServerStartingEvent event)

{

 

}

 

}

 

 

Assuming this doesn't really matter but adding just incse I actually DID need to add a render to it.. ClientProxy

package com.chaos576.origamimod.proxy;

 

import com.chaos576.origamimod.init.OrigamiBlocks;

import com.chaos576.origamimod.init.OrigamiItems;

import com.chaos576.origamimod.mob.OrigamiEntity;

 

public class ClientProxy extends CommonProxy

{

 

@Override

public void registerRenders()

{

OrigamiItems.registerRenders();

OrigamiBlocks.registerRenders();

}

 

}

 

 

 

 

 

 

 

The game starts up and everything, but when I go to spawn my entity using my custom spawn egg (Tested with vanilla mobs, works fine, so I am assuming that it is a bug with my mob itself) the game crashes with this:

 

A detailed walkthrough of the error, its code path and all known details is as follows:

---------------------------------------------------------------------------------------

 

-- Head --

Thread: Client thread

Stacktrace:

at net.minecraft.client.renderer.entity.RenderLivingBase.canRenderName(RenderLivingBase.java:533)

at net.minecraft.client.renderer.entity.RenderLiving.canRenderName(RenderLiving.java:26)

at net.minecraft.client.renderer.entity.RenderLiving.canRenderName(RenderLiving.java:16)

at net.minecraft.client.renderer.entity.RenderLivingBase.renderName(RenderLivingBase.java:488)

at net.minecraft.client.renderer.entity.RenderLivingBase.renderName(RenderLivingBase.java:25)

at net.minecraft.client.renderer.entity.Render.doRender(Render.java:66)

at net.minecraft.client.renderer.entity.RenderLivingBase.doRender(RenderLivingBase.java:212)

at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:51)

at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:16)

 

-- Entity being rendered --

Details:

Entity Type: vsorigami.origami_cow (com.chaos576.origamimod.entity.EntityOrigamiCow)

Entity ID: 43

Entity Name: entity.vsorigami.origami_cow.name

Entity's Exact location: 173.21, 72.00, 283.05

Entity's Block location: World: (173,72,283), Chunk: (at 13,4,11 in 10,17; contains blocks 160,0,272 to 175,255,287), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)

Entity's Momentum: 0.00, -0.05, 0.00

Entity's Passengers: []

Entity's Vehicle: ~~ERROR~~ NullPointerException: null

 

-- Renderer details --

Details:

Assigned renderer: com.chaos576.origamimod.entity.RenderOrigamiCow@6f2912c5

Location: -1.00,0.00,-0.23 - World: (-2,0,-1), Chunk: (at 14,0,15 in -1,-1; contains blocks -16,0,-16 to -1,255,-1), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)

Rotation: -102.65625

Delta: 0.7551464

Stacktrace:

at net.minecraft.client.renderer.entity.RenderManager.doRenderEntity(RenderManager.java:371)

at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:355)

at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:644)

at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1368)

at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1282)

 

-- Affected level --

Details:

Level name: MpServer

All players: 1 total; [EntityPlayerSP['Player765'/161, l='MpServer', x=174.21, y=72.00, z=283.28]]

Chunk stats: MultiplayerChunkCache: 610, 610

Level seed: 0

Level generator: ID 00 - default, ver 1. Features enabled: false

Level generator options:

Level spawn location: World: (96,64,256), Chunk: (at 0,4,0 in 6,16; contains blocks 96,0,256 to 111,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)

Level time: 49189 game time, 29373 day time

Level dimension: 0

Level storage version: 0x00000 - Unknown?

Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)

Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false

Forced entities: 42 total; [EntityChicken['Chicken'/67, l='MpServer', x=211.82, y=67.00, z=287.63], EntitySheep['Sheep'/68, l='MpServer', x=214.41, y=67.00, z=279.81], EntityItem['item.item.egg'/69, l='MpServer', x=211.46, y=67.00, z=286.94], EntityChicken['Chicken'/70, l='MpServer', x=230.41, y=66.00, z=288.83], EntityBat['Bat'/71, l='MpServer', x=224.09, y=14.32, z=337.64], EntityBat['Bat'/72, l='MpServer', x=217.75, y=27.10, z=328.49], EntityBat['Bat'/73, l='MpServer', x=221.30, y=45.99, z=344.45], EntityChicken['Chicken'/89, l='MpServer', x=230.86, y=66.00, z=287.64], EntityBat['Bat'/25, l='MpServer', x=114.56, y=16.00, z=333.39], EntitySheep['Sheep'/90, l='MpServer', x=234.24, y=66.00, z=302.45], EntityChicken['Chicken'/27, l='MpServer', x=117.81, y=63.00, z=251.86], EntityBat['Bat'/91, l='MpServer', x=234.75, y=16.05, z=323.48], EntityPlayerSP['Player765'/161, l='MpServer', x=174.21, y=72.00, z=283.28], EntityItem['item.item.egg'/28, l='MpServer', x=117.53, y=63.00, z=252.38], EntityBat['Bat'/92, l='MpServer', x=224.45, y=46.30, z=342.33], EntityChicken['Chicken'/29, l='MpServer', x=116.57, y=72.00, z=271.84], EntitySheep['Sheep'/93, l='MpServer', x=219.62, y=75.00, z=359.54], EntityChicken['Chicken'/30, l='MpServer', x=128.91, y=71.00, z=301.34], EntityChicken['Chicken'/31, l='MpServer', x=128.88, y=71.00, z=300.54], EntityItem['item.item.egg'/32, l='MpServer', x=131.25, y=71.00, z=302.09], EntityChicken['Chicken'/34, l='MpServer', x=145.43, y=64.00, z=239.87], EntityChicken['Chicken'/35, l='MpServer', x=162.18, y=70.00, z=243.53], EntityItem['item.item.egg'/36, l='MpServer', x=144.50, y=64.00, z=240.82], EntityBat['Bat'/39, l='MpServer', x=161.60, y=35.10, z=263.01], EntityBat['Bat'/103, l='MpServer', x=244.81, y=41.12, z=269.28], EntityItem['item.item.egg'/40, l='MpServer', x=164.21, y=71.00, z=258.50], EntityBat['Bat'/104, l='MpServer', x=246.57, y=42.76, z=280.56], EntitySheep['Sheep'/105, l='MpServer', x=254.18, y=66.00, z=281.30], EntityChicken['Chicken'/42, l='MpServer', x=174.54, y=72.00, z=275.02], EntityOrigamiCow['entity.vsorigami.origami_cow.name'/43, l='MpServer', x=173.21, y=72.00, z=283.05], EntityBat['Bat'/44, l='MpServer', x=169.34, y=18.88, z=333.66], EntityBat['Bat'/45, l='MpServer', x=170.63, y=50.45, z=339.14], EntityBat['Bat'/46, l='MpServer', x=170.53, y=12.06, z=337.75], EntityChicken['Chicken'/50, l='MpServer', x=179.45, y=70.00, z=250.73], EntityChicken['Chicken'/51, l='MpServer', x=179.11, y=70.00, z=250.74], EntityChicken['Chicken'/52, l='MpServer', x=176.67, y=70.00, z=251.03], EntityBat['Bat'/53, l='MpServer', x=194.14, y=40.06, z=319.35], EntityChicken['Chicken'/56, l='MpServer', x=198.41, y=68.00, z=265.09], EntityChicken['Chicken'/57, l='MpServer', x=198.76, y=68.00, z=265.46], EntityChicken['Chicken'/58, l='MpServer', x=200.09, y=67.00, z=302.98], EntityBat['Bat'/59, l='MpServer', x=197.91, y=44.03, z=318.60], EntityChicken['Chicken'/60, l='MpServer', x=206.43, y=71.00, z=353.14]]

Retry entities: 0 total; []

Server brand: fml,forge

Server type: Integrated singleplayer server

Stacktrace:

at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:451)

at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2779)

at net.minecraft.client.Minecraft.run(Minecraft.java:427)

at net.minecraft.client.main.Main.main(Main.java:118)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)

at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)

at GradleStart.main(GradleStart.java:26)

 

-- System Details --

Details:

Minecraft Version: 1.10.2

Operating System: Windows 10 (amd64) version 10.0

Java Version: 1.8.0_111, Oracle Corporation

Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation

Memory: 628710976 bytes (599 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)

JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M

IntCache: cache: 1, tcache: 1, allocated: 12, tallocated: 94

FML: MCP 9.32 Powered by Forge 12.18.3.2185 4 mods loaded, 4 mods active

States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

UCHIJAAAA mcp{9.19} [Minecraft Coder Pack] (minecraft.jar)

UCHIJAAAA FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.10.2-12.18.3.2185.jar)

UCHIJAAAA Forge{12.18.3.2185} [Minecraft Forge] (forgeSrc-1.10.2-12.18.3.2185.jar)

UCHIJAAAA vsorigami{A.0.1} [Oragami+] (bin)

Loaded coremods (and transformers):

GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13399 Compatibility Profile Context 15.201.1101.0' Renderer: 'AMD Radeon R6 Graphics'

Launched Version: 1.10.2

LWJGL: 2.9.4

OpenGL: AMD Radeon R6 Graphics GL version 4.5.13399 Compatibility Profile Context 15.201.1101.0, ATI Technologies Inc.

GL Caps: Using GL 1.3 multitexturing.

Using GL 1.3 texture combiners.

Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.

Shaders are available because OpenGL 2.1 is supported.

VBOs are available because OpenGL 1.5 is supported.

 

Using VBOs: Yes

Is Modded: Definitely; Client brand changed to 'fml,forge'

Type: Client (map_client.txt)

Resource Packs:

Current Language: English (US)

Profiler Position: N/A (disabled)

CPU: 4x AMD A10-7300 Radeon R6, 10 Compute Cores 4C+6G

[13:37:18] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:649]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Vitro\Documents\Vitro Modpack\Forge\Forge Stuff\run\.\crash-reports\crash-2017-01-08_13.37.18-client.txt

AL lib: (EE) alc_cleanup: 1 device not closed

Java HotSpot 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release

 

 

Posted

I should note that I was using a tutorial to help walk me through this coding, it was outdated (1.9) and anything that wasn't working and causing a crash I managed to find in a 1.10.2 tutorial, the problem with this tutorial is that a lot of what it supplied was throwing crash reports so I am pretty sure that it was actually an earlier version claiming to "be for 1.10.2"

Posted

Happy you fixed it! So what did you change? Could you please post your code, so other people can see? I have the same problem. :(

 

My OG code is in the spoilers, I have fixed the problem but I do not remember the exact steps.

 

If you feel like watching a video tutorial I know that this helped me find what was wrong...

 

 

If not just post your code in a spoiler and I will take a look to see what I can figure out

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

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

Announcements



×
×
  • Create New...

Important Information

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