Jump to content

Recommended Posts

Posted

So I was rendering a mob, and it all came along well with a new spawn egg and  all, but when I use it. I crash from the rendering. Can you please look at the code and tell me whats wrong? I'm relatively new to modding.

 

Stack Trace

---- Minecraft Crash Report ----
2014-02-08 11:51:38 [iNFO] [sTDOUT] // You're mean.
2014-02-08 11:51:38 [iNFO] [sTDOUT] 
2014-02-08 11:51:38 [iNFO] [sTDOUT] Time: 2/8/14 11:51 AM
2014-02-08 11:51:38 [iNFO] [sTDOUT] Description: Rendering entity in world
2014-02-08 11:51:38 [iNFO] [sTDOUT] 
2014-02-08 11:51:38 [iNFO] [sTDOUT] java.lang.NullPointerException
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.entity.RendererLivingEntity.func_130000_a(RendererLivingEntity.java:79)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.entity.RenderLiving.doRenderLiving(RenderLiving.java:28)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at bettermc.test.phoenixmob.PhoenixRender.renderPhoenix(PhoenixRender.java:22)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at bettermc.test.phoenixmob.PhoenixRender.doRender(PhoenixRender.java:38)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:312)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.entity.RenderManager.renderEntity(RenderManager.java:281)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:524)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1160)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1006)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:934)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:826)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.main.Main.main(Main.java:93)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at java.lang.reflect.Method.invoke(Unknown Source)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 
2014-02-08 11:51:38 [iNFO] [sTDOUT] 
2014-02-08 11:51:38 [iNFO] [sTDOUT] A detailed walkthrough of the error, its code path and all known details is as follows:
2014-02-08 11:51:38 [iNFO] [sTDOUT] ---------------------------------------------------------------------------------------
2014-02-08 11:51:38 [iNFO] [sTDOUT] 
2014-02-08 11:51:38 [iNFO] [sTDOUT] -- Head --
2014-02-08 11:51:38 [iNFO] [sTDOUT] Stacktrace:
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.entity.RendererLivingEntity.func_130000_a(RendererLivingEntity.java:79)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.entity.RenderLiving.doRenderLiving(RenderLiving.java:28)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at bettermc.test.phoenixmob.PhoenixRender.renderPhoenix(PhoenixRender.java:22)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at bettermc.test.phoenixmob.PhoenixRender.doRender(PhoenixRender.java:38)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 
2014-02-08 11:51:38 [iNFO] [sTDOUT] -- Entity being rendered --
2014-02-08 11:51:38 [iNFO] [sTDOUT] Details:
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Entity Type: Phoenix (bettermc.test.phoenixmob.PhoenixEntityClass)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Entity ID: 2595
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Entity Name: entity.Phoenix.name
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Entity's Exact location: -782.50, 4.00, -1135.50
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Entity's Block location: World: (-783,4,-1136), Chunk: (at 1,0,0 in -49,-71; contains blocks -784,0,-1136 to -769,255,-1121), Region: (-2,-3; contains chunks -64,-96 to -33,-65, blocks -1024,0,-1536 to -513,255,-1025)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Entity's Momentum: 0.00, 0.00, 0.00
2014-02-08 11:51:38 [iNFO] [sTDOUT] 
2014-02-08 11:51:38 [iNFO] [sTDOUT] -- Renderer details --
2014-02-08 11:51:38 [iNFO] [sTDOUT] Details:
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Assigned renderer: bettermc.test.phoenixmob.PhoenixRender@1b03d90
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Location: 0.18,-1.62,1.71 - World: (0,-2,1), Chunk: (at 0,-1,1 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Rotation: 4.21875
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Delta: 0.20637262
2014-02-08 11:51:38 [iNFO] [sTDOUT] Stacktrace:
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:312)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.entity.RenderManager.renderEntity(RenderManager.java:281)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:524)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1160)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 
2014-02-08 11:51:38 [iNFO] [sTDOUT] -- Affected level --
2014-02-08 11:51:38 [iNFO] [sTDOUT] Details:
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Level name: MpServer
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	All players: 1 total; [EntityClientPlayerMP['Player825'/138, l='MpServer', x=-782.68, y=5.62, z=-1137.21]]
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Chunk stats: MultiplayerChunkCache: 441
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Level seed: 0
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Level generator: ID 01 - flat, ver 0. Features enabled: false
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Level generator options: 
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Level spawn location: World: (-607,4,-1163), Chunk: (at 1,0,5 in -38,-73; contains blocks -608,0,-1168 to -593,255,-1153), Region: (-2,-3; contains chunks -64,-96 to -33,-65, blocks -1024,0,-1536 to -513,255,-1025)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Level time: 148949 game time, 400 day time
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Level dimension: 0
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Level storage version: 0x00000 - Unknown?
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Forced entities: 115 total; [EntityVillager['Villager'/0, l='MpServer', x=-791.91, y=9.00, z=-1179.50], EntityVillager['Villager'/1, l='MpServer', x=-792.69, y=9.00, z=-1179.50], EntityVillager['Villager'/2, l='MpServer', x=-793.53, y=3.00, z=-1174.44], EntityVillager['Villager'/3, l='MpServer', x=-794.31, y=4.00, z=-1178.78], EntityVillager['Villager'/4, l='MpServer', x=-797.50, y=5.00, z=-1173.88], EntityVillager['Villager'/5, l='MpServer', x=-787.84, y=4.00, z=-1176.34], EntityVillager['Villager'/6, l='MpServer', x=-792.69, y=5.00, z=-1180.06], EntityVillager['Villager'/7, l='MpServer', x=-792.69, y=5.00, z=-1180.91], EntityVillager['Villager'/8, l='MpServer', x=-786.00, y=4.00, z=-1173.63], EntityVillager['Villager'/9, l='MpServer', x=-785.13, y=5.00, z=-1167.69], EntityVillager['Villager'/10, l='MpServer', x=-787.69, y=5.00, z=-1169.69], EntityVillager['Villager'/11, l='MpServer', x=-790.88, y=4.00, z=-1169.47], EntityVillager['Villager'/12, l='MpServer', x=-786.31, y=5.00, z=-1169.69], EntityVillager['Villager'/13, l='MpServer', x=-786.09, y=5.00, z=-1168.34], EntityVillager['Villager'/14, l='MpServer', x=-793.31, y=4.00, z=-1178.69], EntityVillager['Villager'/15, l='MpServer', x=-786.69, y=4.00, z=-1175.44], EntityVillager['Villager'/17, l='MpServer', x=-795.58, y=2.92, z=-1162.31], EntityVillager['Villager'/16, l='MpServer', x=-789.00, y=4.00, z=-1174.13], EntityVillager['Villager'/19, l='MpServer', x=-794.72, y=4.45, z=-1162.50], EntityVillager['Villager'/18, l='MpServer', x=-794.76, y=4.34, z=-1163.69], EntityVillager['Villager'/21, l='MpServer', x=-800.31, y=4.00, z=-1168.25], EntityVillager['Villager'/20, l='MpServer', x=-795.69, y=3.48, z=-1163.37], EntityVillager['Villager'/23, l='MpServer', x=-785.16, y=5.00, z=-1166.75], EntityVillager['Villager'/22, l='MpServer', x=-787.20, y=5.00, z=-1168.83], EntityVillager['Villager'/25, l='MpServer', x=-787.75, y=4.00, z=-1171.50], EntityVillager['Villager'/24, l='MpServer', x=-787.44, y=4.00, z=-1163.31], EntityVillager['Villager'/27, l='MpServer', x=-787.69, y=5.00, z=-1168.09], EntityVillager['Villager'/26, l='MpServer', x=-787.69, y=5.00, z=-1167.17], EntityVillager['Villager'/29, l='MpServer', x=-791.91, y=5.00, z=-1143.44], EntityVillager['Villager'/28, l='MpServer', x=-789.97, y=5.00, z=-1144.91], EntityVillager['Villager'/31, l='MpServer', x=-792.13, y=5.00, z=-1146.38], EntityVillager['Villager'/30, l='MpServer', x=-792.53, y=5.00, z=-1140.31], EntityVillager['Villager'/32, l='MpServer', x=-797.56, y=4.00, z=-1143.84], EntityItem['item.tile.dirt'/38, l='MpServer', x=-786.25, y=3.13, z=-1089.84], EntityItem['item.tile.dirt'/39, l='MpServer', x=-785.59, y=3.13, z=-1092.88], EntityItem['item.tile.dirt'/36, l='MpServer', x=-787.56, y=3.13, z=-1091.63], EntityItem['item.tile.dirt'/37, l='MpServer', x=-784.69, y=3.13, z=-1091.56], EntityItem['item.tile.dirt'/42, l='MpServer', x=-784.25, y=3.13, z=-1092.44], EntityItem['item.tile.dirt'/43, l='MpServer', x=-785.72, y=3.13, z=-1088.09], EntityItem['item.tile.dirt'/40, l='MpServer', x=-785.16, y=2.13, z=-1090.78], EntityItem['item.tile.dirt'/41, l='MpServer', x=-784.75, y=3.13, z=-1088.75], EntityItem['item.tile.dirt'/46, l='MpServer', x=-786.88, y=1.13, z=-1080.13], EntityItem['item.tile.dirt'/47, l='MpServer', x=-789.63, y=3.13, z=-1079.81], EntityItem['item.tile.dirt'/44, l='MpServer', x=-787.31, y=2.13, z=-1080.03], EntityItem['item.tile.dirt'/45, l='MpServer', x=-786.97, y=3.13, z=-1077.13], EntityItem['item.tile.dirt'/51, l='MpServer', x=-787.03, y=2.13, z=-1082.19], EntityItem['item.tile.dirt'/50, l='MpServer', x=-787.88, y=2.13, z=-1082.59], EntityItem['item.tile.dirt'/49, l='MpServer', x=-789.28, y=3.13, z=-1081.09], EntityItem['item.tile.dirt'/48, l='MpServer', x=-788.75, y=2.13, z=-1079.38], EntityVillager['Villager'/54, l='MpServer', x=-783.31, y=4.00, z=-1152.56], EntityVillager['Villager'/53, l='MpServer', x=-781.78, y=4.00, z=-1150.59], EntityItem['item.tile.dirt'/52, l='MpServer', x=-785.75, y=2.13, z=-1079.25], EntityItem['item.tile.dirt'/68, l='MpServer', x=-775.72, y=2.13, z=-1110.13], EntityItem['item.tile.dirt'/69, l='MpServer', x=-776.09, y=3.13, z=-1112.88], EntityItem['item.tile.dirt'/70, l='MpServer', x=-776.44, y=3.13, z=-1109.25], EntityItem['item.tile.dirt'/71, l='MpServer', x=-774.31, y=3.13, z=-1112.28], EntityItem['item.tile.dirt'/67, l='MpServer', x=-777.47, y=3.13, z=-1110.28], EntityItem['item.tile.dirt'/76, l='MpServer', x=-783.97, y=3.13, z=-1090.59], EntityItem['item.tile.dirt'/77, l='MpServer', x=-783.72, y=3.13, z=-1091.47], EntitySheep['Sheep'/78, l='MpServer', x=-752.91, y=4.00, z=-1205.09], EntitySheep['Sheep'/79, l='MpServer', x=-750.88, y=4.00, z=-1192.91], EntityItem['item.tile.dirt'/72, l='MpServer', x=-774.66, y=3.13, z=-1110.06], EntityItem['item.tile.dirt'/73, l='MpServer', x=-783.44, y=3.13, z=-1092.25], EntityItem['item.tile.dirt'/74, l='MpServer', x=-783.19, y=3.13, z=-1088.88], EntityItem['item.tile.dirt'/75, l='MpServer', x=-782.38, y=3.13, z=-1089.03], EntitySheep['Sheep'/81, l='MpServer', x=-724.19, y=4.00, z=-1172.81], EntitySheep['Sheep'/80, l='MpServer', x=-723.88, y=4.00, z=-1208.06], EntityVillager['Villager'/93, l='MpServer', x=-808.28, y=5.00, z=-1168.31], EntityVillager['Villager'/95, l='MpServer', x=-812.87, y=5.00, z=-1167.25], EntityVillager['Villager'/94, l='MpServer', x=-807.31, y=5.00, z=-1169.69], EntityVillager['Villager'/102, l='MpServer', x=-807.31, y=5.00, z=-1168.72], EntityVillager['Villager'/103, l='MpServer', x=-809.34, y=5.00, z=-1167.78], EntityVillager['Villager'/100, l='MpServer', x=-813.69, y=6.00, z=-1168.16], EntityVillager['Villager'/101, l='MpServer', x=-812.91, y=6.50, z=-1168.56], EntityVillager['Villager'/98, l='MpServer', x=-812.69, y=6.00, z=-1169.69], EntityVillager['Villager'/99, l='MpServer', x=-811.13, y=5.00, z=-1169.69], EntityVillager['Villager'/96, l='MpServer', x=-813.69, y=6.00, z=-1169.09], EntityVillager['Villager'/97, l='MpServer', x=-810.31, y=5.00, z=-1169.69], EntityVillager['Villager'/110, l='MpServer', x=-813.09, y=5.00, z=-1158.38], EntityVillager['Villager'/111, l='MpServer', x=-812.33, y=5.00, z=-1158.12], EntityVillager['Villager'/108, l='MpServer', x=-813.31, y=9.00, z=-1158.31], EntityVillager['Villager'/109, l='MpServer', x=-811.31, y=12.00, z=-1158.69], EntityVillager['Villager'/106, l='MpServer', x=-812.00, y=5.00, z=-1166.31], EntityVillager['Villager'/107, l='MpServer', x=-810.75, y=5.00, z=-1168.09], EntityVillager['Villager'/104, l='MpServer', x=-812.00, y=5.50, z=-1168.88], EntityVillager['Villager'/105, l='MpServer', x=-808.13, y=5.00, z=-1169.66], EntityVillager['Villager'/119, l='MpServer', x=-812.90, y=5.00, z=-1166.30], EntityVillager['Villager'/118, l='MpServer', x=-810.25, y=5.00, z=-1166.31], EntityVillager['Villager'/117, l='MpServer', x=-814.66, y=3.00, z=-1167.50], EntityVillager['Villager'/116, l='MpServer', x=-803.09, y=4.00, z=-1167.50], EntityVillager['Villager'/115, l='MpServer', x=-811.31, y=5.00, z=-1159.47], EntityVillager['Villager'/114, l='MpServer', x=-813.69, y=5.00, z=-1159.56], EntityVillager['Villager'/113, l='MpServer', x=-813.70, y=5.00, z=-1166.30], EntityVillager['Villager'/112, l='MpServer', x=-812.03, y=5.00, z=-1157.43], EntityVillager['Villager'/127, l='MpServer', x=-806.53, y=4.00, z=-1148.63], EntityVillager['Villager'/126, l='MpServer', x=-810.69, y=4.00, z=-1153.69], EntityVillager['Villager'/125, l='MpServer', x=-814.31, y=2.00, z=-1151.22], EntityVillager['Villager'/124, l='MpServer', x=-815.31, y=4.00, z=-1157.56], EntityVillager['Villager'/123, l='MpServer', x=-813.56, y=2.00, z=-1152.69], EntityVillager['Villager'/122, l='MpServer', x=-813.84, y=4.00, z=-1167.50], EntityVillager['Villager'/121, l='MpServer', x=-811.16, y=5.00, z=-1166.31], EntityVillager['Villager'/120, l='MpServer', x=-810.00, y=4.00, z=-1163.25], EntityVillager['Villager'/137, l='MpServer', x=-812.10, y=5.00, z=-1159.00], EntityVillager['Villager'/136, l='MpServer', x=-805.69, y=3.00, z=-1160.34], EntityVillager['Villager'/139, l='MpServer', x=-813.41, y=4.00, z=-1162.59], EntityClientPlayerMP['Player825'/138, l='MpServer', x=-782.68, y=5.62, z=-1137.21], EntityVillager['Villager'/129, l='MpServer', x=-806.75, y=4.00, z=-1149.59], EntityVillager['Villager'/128, l='MpServer', x=-807.53, y=3.00, z=-1151.16], EntityVillager['Villager'/131, l='MpServer', x=-797.50, y=5.00, z=-1150.59], EntityVillager['Villager'/130, l='MpServer', x=-810.38, y=4.00, z=-1147.53], EntityVillager['Villager'/133, l='MpServer', x=-805.72, y=3.00, z=-1143.22], EntityVillager['Villager'/132, l='MpServer', x=-806.78, y=2.00, z=-1144.09], EntityVillager['Villager'/135, l='MpServer', x=-789.78, y=5.00, z=-1143.53], EntityVillager['Villager'/134, l='MpServer', x=-813.34, y=2.00, z=-1150.28], PhoenixEntityClass['entity.Phoenix.name'/2595, l='MpServer', x=-782.50, y=4.00, z=-1135.50]]
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Retry entities: 0 total; []
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Server brand: fml,forge
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Server type: Integrated singleplayer server
2014-02-08 11:51:38 [iNFO] [sTDOUT] Stacktrace:
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:440)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2298)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:844)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.client.main.Main.main(Main.java:93)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at java.lang.reflect.Method.invoke(Unknown Source)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 
2014-02-08 11:51:38 [iNFO] [sTDOUT] -- System Details --
2014-02-08 11:51:38 [iNFO] [sTDOUT] Details:
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Minecraft Version: 1.6.2
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Operating System: Windows 7 (x86) version 6.1
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Java Version: 1.7.0_45, Oracle Corporation
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Memory: 824191664 bytes (786 MB) / 1060372480 bytes (1011 MB) up to 1060372480 bytes (1011 MB)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	AABB Pool Size: 21635 (1211560 bytes; 1 MB) allocated, 1510 (84560 bytes; 0 MB) used
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Suspicious classes: FML and Forge are installed
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	FML: MCP v8.04 FML v6.2.35.804 Minecraft Forge 9.10.0.804 4 mods loaded, 4 mods active
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	FML{6.2.35.804} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Forge{9.10.0.804} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	BMC{1.0.0} [betterMC] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Launched Version: 1.6
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	LWJGL: 2.9.0
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	OpenGL: Intel 945GM GL version 1.4.0 - Build 8.14.10.1930, Intel
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Is Modded: Definitely; Client brand changed to 'fml,forge'
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Type: Client (map_client.txt)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Resource Pack: Default
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Current Language: English (US)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Profiler Position: N/A (disabled)
2014-02-08 11:51:38 [iNFO] [sTDOUT] 	Vec3 Pool Size: 1724 (96544 bytes; 0 MB) allocated, 283 (15848 bytes; 0 MB) used
2014-02-08 11:51:38 [iNFO] [sTDOUT] #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Dom\Desktop\FMods - Copy\forge\mcp\jars\.\crash-reports\crash-2014-02-08_11.51.38-client.txt
AL lib: (EE) alc_cleanup: 1 device not closed

 

Main Class:

package bettermc.test;

import net.minecraft.block.Block;
import net.minecraft.block.BlockBreakable;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.entity.RenderSnowball;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.src.ModLoader;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;

@Mod(modid="BMC", name="BetterMC", version="1.0.0")
@NetworkMod(clientSideRequired=true, serverSideRequired=false)
public class Main {
public static CreativeTabs tabBlasters = new CreativeTabs("tabBlasters") {
        public ItemStack getIconItemStack() {
                return new ItemStack(blasterRifle, 1, 0);
                
        }
};
public EnumToolMaterial mat;

        // The instance of your mod that Forge uses.
        @Instance("Test")
        public static Main instance;
        //public final static Item MagicEx1  = new MagicExtracter(5004).func_111206_d("bettermc:MagicDrag").setCreativeTab(tabBlasters).setUnlocalizedName("MagicE1");;;
        public final static Item Oore  = new GraxOre(3092).func_111206_d("bettermc:GraxOre").setCreativeTab(tabBlasters).setUnlocalizedName("GraxOre");;;
        public final static Block Magic  = new MagicBlock(3095, Material.portal).setHardness(0.5F)
                .setStepSound(Block.soundGravelFootstep)
                .setUnlocalizedName("Magic")
                .setCreativeTab(CreativeTabs.tabBlock)
                .func_111022_d("bettermc:Furnace");
        public final static Item PhoenixBlade  = new BlazeBlade(3094).func_111206_d("bettermc:BlazeBlade").setCreativeTab(tabBlasters).setUnlocalizedName("PhoenixBlade");;;
        public final static Item blasterRifle = new Blaster(3093).setCreativeTab(tabBlasters).setUnlocalizedName("Blaster").func_111206_d("bettermc:Blaster");
        // Says where the client and server 'proxy' code is loaded.
        @SidedProxy(clientSide="bettermc.test.client.ClientProxy", serverSide="bettermc.test.CommonProxy")
        public static CommonProxy proxy;
        

        
        @EventHandler
        public void preInit(FMLPreInitializationEvent event) {
            proxy.registerRenderers();
        	//MinecraftForge.setToolClass(MagicEx1, "MagicTool", 5);
        	Configuration config = new Configuration(event.getSuggestedConfigurationFile());
        	config.load();
            //example
            int randomBlockID = config.getItem("GraxOre", 20001).getInt();

            int randomItemID = config.getItem("Phoenix Blaster", 20000).getInt();
            
            int PhoenixBladeID = config.getItem("PhoenixBlade", 20002).getInt();
        	config.save();
        	
        }
        
        @EventHandler
        public void Init(FMLInitializationEvent event) {

        	int redColor = (255 << 16);
            int orangeColor = (255 << 16)+ (200 << ;

            //Register mob
            EntityRegistry.registerGlobalEntityID(bettermc.test.phoenixmob.PhoenixEntityClass.class,"Phoenix",EntityRegistry.findGlobalUniqueEntityId(), redColor,orangeColor);

            //Localize mob name
            LanguageRegistry.instance().addStringLocalization("entity.RedDragon.name", "en_US", "Red Dragon");

            //Add mob spawn
            EntityRegistry.addSpawn(bettermc.test.phoenixmob.PhoenixEntityClass.class, 2, 1, 2, EnumCreatureType.monster, BiomeGenBase.plains);
            EntityRegistry.addSpawn(bettermc.test.phoenixmob.PhoenixEntityClass.class, 5, 1, 2, EnumCreatureType.monster, BiomeGenBase.extremeHills);


        	    //Localize mob name        	
        	LanguageRegistry.addName(Oore, "Nether Essence");
        	//LanguageRegistry.addName(MagicEx1, "Magic Extracter");
        	LanguageRegistry.addName(Magic, "Magic Block");
        	LanguageRegistry.addName(PhoenixBlade, "Phoenix Blade");
        	GameRegistry.registerItem(Oore, "Nether Essence");
        	//GameRegistry.registerItem(MagicEx1, "Magic Extracter");
        	GameRegistry.registerItem(PhoenixBlade, "Phoenix Blade");
        	GameRegistry.registerItem(blasterRifle, "Phoenix Blaster");
        	GameRegistry.registerBlock(Magic, "Magic");
            LanguageRegistry.addName(blasterRifle, "Phoenix Blaster");
            RenderingRegistry.registerEntityRenderingHandler(EntityBlasterBolt.class, new RenderSnowball(Oore));
            LanguageRegistry.instance().addStringLocalization("itemGroup.tabBlasters", "en_US", "Blaze Phoenix Mod");
            ItemStack dirtStack = new ItemStack(Item.ingotIron);
            ItemStack cobblestack = new ItemStack(blasterRifle);
            ItemStack gravelStack = new ItemStack(Oore);
            GameRegistry.addRecipe(cobblestack, "x  ", " x ", " yx",
                    'x', dirtStack, 'y', gravelStack);
            ItemStack quartzstack = new ItemStack(Item.netherQuartz);
            ItemStack blazestack = new ItemStack(Item.blazePowder);
            GameRegistry.addShapelessRecipe(gravelStack, quartzstack, blazestack);
         
                }
        
            
        
            
        
        
        @EventHandler
        public void postInit(FMLPostInitializationEvent event) {
                // Stub Method
        }
}
            

 

Client Proxy:

package bettermc.test.client;

import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.registry.EntityRegistry;
import net.minecraft.client.renderer.entity.Render;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.MinecraftForgeClient;
import bettermc.test.CommonProxy;
import bettermc.test.ItemRender;

public class ClientProxy extends CommonProxy {
        
        @Override
        public void registerRenderers() {
        	MinecraftForgeClient.registerItemRenderer(bettermc.test.Main.blasterRifle.itemID, (IItemRenderer)new ItemRender());
            RenderingRegistry.registerEntityRenderingHandler(bettermc.test.phoenixmob.PhoenixEntityClass.class, new bettermc.test.phoenixmob.PhoenixRender(new bettermc.test.phoenixmob.PhoenixMob(), 0.5F));
        }
}

 

Entity Class:

package bettermc.test.phoenixmob;

import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.ai.EntityAIFollowParent;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMate;
import net.minecraft.entity.ai.EntityAIPanic;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAITempt;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.passive.EntityAnimal;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.world.World;


//Your declaration. If your mob swims, change EntityAnimal to EntityWaterMob.
public class PhoenixEntityClass extends EntityAnimal {
        
        public PhoenixEntityClass(World par1World) {
                super(par1World);
                //The below means if possible, it wont walk into water
                this.getNavigator().setAvoidsWater(true);
                //This is the hitbox size. I believe it starts in the center and grows outwards
                this.setSize(1.5F, 0.9F);
                //Pretty self-explanatory. 
                this.isImmuneToFire = true;
                float var2 = 0.25F;

                //Now, we have the AI. Each number in the addTask is a priority. 0 is the highest, the largest is lowest.
                //They should be set in the order which the mob should focus, because it can only do one thing at a time. I'll explain my choice for order below.
                //There are tonnes of tasks you can add. Look in the JavaDocs or other mob classes to find some more!

                //Swimming should ALWAYS be first. Otherwise if your mob falls in water, but it's running away from you or something it'll drown.

                //This makes the mob run away when you punch it
                this.tasks.addTask(0, new EntityAIPanic(this, 0.38F));

                //If you have mating code, this allows it to mate.
                this.tasks.addTask(1, new EntityAIMate(this, var2));

                //This code is used to get the mob to follow you (like cows with wheat). Here it's set to a custom fruit
                this.tasks.addTask(2, new EntityAITempt(this, 0.3F, bettermc.test.Main.Oore.itemID, false));

                //If the mob is a child, it will follow it's parent.
                this.tasks.addTask(3, new EntityAIFollowParent(this, 0.28F));

                //This makes the mob walk around. Without it, it'd just stand still.
                this.tasks.addTask(4, new EntityAIWander(this, var2));

                //This makes the mob watch the nearest player, within a range set by the float.
                this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));

                //Finally, this makes it look around when it's not looking at a player or wandering.
                this.tasks.addTask(6, new EntityAILookIdle(this));
        }

        //This is required. If it's false, none of the above takes effect.
        public boolean isAIEnabled() {
                return true;
        }
        
        //Pretty obvious, set it's health!
        public int getMaxHealth() {
                return 10;
        }
        
        //A basic example of what a mob should drop on death. For more advanced examples, look at code for chicken or squid.
        protected int getDropItemId() {
                return Item.blazePowder.itemID;
        }
        
        //This is required regardless of if your animal can breed or not. Set to null if it can't breed - I wont cover breeding here.
        public EntityAgeable createChild(EntityAgeable var1) {
                return null;
        }
}

 

Render Class: (This is where all the errors are)

package bettermc.test.phoenixmob;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.passive.EntityCow;
import net.minecraft.util.ResourceLocation;

@SideOnly(Side.CLIENT)
public class PhoenixRender extends RenderLiving
{
    public PhoenixRender(ModelBase par1ModelBase, float par2)
    {
        super(null, par2);
    }

    public void renderPhoenix(PhoenixEntityClass par1EntityPhoenix, double par2, double par4, double par6, float par8, float par9)
    {
        super.doRenderLiving(par1EntityPhoenix, par2, par4, par6, par8, par9);
    }

    public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9)
    {
        this.renderPhoenix((PhoenixEntityClass)par1EntityLiving, par2, par4, par6, par8, par9);
    }

    /**
     * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
     * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
     * (Render<T extends Entity) and this method has signature public void doRender(T entity, double d, double d1,
     * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
     */
    public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9)
    {
        this.renderPhoenix((PhoenixEntityClass)par1Entity, par2, par4, par6, par8, par9);
    }

@Override
protected ResourceLocation func_110775_a(Entity entity) {
	ResourceLocation loc = new ResourceLocation("bettermc", "textures/mob/PhoenixMobTex.png");
	return loc;
}
}

 

Model Class: [bonus Points: Can you tell me how to animate walking and looking?]

 

// Date: 2/8/2014 11:12:03 AM
// Template version 1.1
// Java generated by Techne
// Keep in mind that you still need to fill in some blanks
// - ZeuX






package bettermc.test.phoenixmob;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;

public class PhoenixMob extends ModelBase
{
  //fields
    ModelRenderer Body;
    ModelRenderer LWingBase;
    ModelRenderer LFeather1;
    ModelRenderer LFeather2;
    ModelRenderer LFeather3;
    ModelRenderer RWingBase;
    ModelRenderer RFeather1;
    ModelRenderer RFeather2;
    ModelRenderer RFeather3;
    ModelRenderer LLegBase;
    ModelRenderer LLegClaw1;
    ModelRenderer LLegClaw2;
    ModelRenderer LLegClaw3;
    ModelRenderer RLegBase;
    ModelRenderer RLegClaw1;
    ModelRenderer RLegClaw2;
    ModelRenderer RLegClaw3;
    ModelRenderer TailFeather1;
    ModelRenderer TailFeather2;
    ModelRenderer TailFeather3;
    ModelRenderer Head;
    ModelRenderer HFeather1;
    ModelRenderer HFeather2;
    ModelRenderer Neck;
    ModelRenderer Beak;
  
  public PhoenixMob()
  {
    textureWidth = 64;
    textureHeight = 32;
    
      Body = new ModelRenderer(this, 0, 0);
      Body.addBox(-3F, 0F, -4F, 6, 3, 10);
      Body.setRotationPoint(0F, 15F, -1F);
      Body.setTextureSize(64, 32);
      Body.mirror = true;
      setRotation(Body, -0.4833219F, 0F, 0F);
      LWingBase = new ModelRenderer(this, 0, 13);
      LWingBase.addBox(0F, 0F, 0F, 1, 3, 3);
      LWingBase.setRotationPoint(2F, 15F, -3F);
      LWingBase.setTextureSize(64, 32);
      LWingBase.mirror = true;
      setRotation(LWingBase, 0F, 0.2602503F, -0.260246F);
      LFeather1 = new ModelRenderer(this, 0, 19);
      LFeather1.addBox(0F, 0F, 3F, 1, 1, 4);
      LFeather1.setRotationPoint(2F, 15F, -3F);
      LFeather1.setTextureSize(64, 32);
      LFeather1.mirror = true;
      setRotation(LFeather1, -0.122173F, 0.260246F, -0.260246F);
      LFeather2 = new ModelRenderer(this, 10, 19);
      LFeather2.addBox(0F, 0F, 3F, 1, 1, 4);
      LFeather2.setRotationPoint(2F, 16F, -3F);
      LFeather2.setTextureSize(64, 32);
      LFeather2.mirror = true;
      setRotation(LFeather2, -0.122173F, 0.260246F, -0.260246F);
      LFeather3 = new ModelRenderer(this, 20, 19);
      LFeather3.mirror = true;
      LFeather3.addBox(0F, -0.5F, 2.666667F, 1, 1, 4);
      LFeather3.setRotationPoint(2F, 17F, -3F);
      LFeather3.setTextureSize(64, 32);
      LFeather3.mirror = true;
      setRotation(LFeather3, -0.1965303F, 0.260246F, -0.260246F);
      LFeather3.mirror = false;
      RWingBase = new ModelRenderer(this, 0, 13);
      RWingBase.mirror = true;
      RWingBase.addBox(0F, 0F, 0F, 1, 3, 3);
      RWingBase.setRotationPoint(-3F, 14F, -3F);
      RWingBase.setTextureSize(64, 32);
      RWingBase.mirror = true;
      setRotation(RWingBase, 0F, -0.260246F, 0.260246F);
      RWingBase.mirror = false;
      RFeather1 = new ModelRenderer(this, 20, 19);
      RFeather1.addBox(0F, 0F, 2F, 1, 1, 4);
      RFeather1.setRotationPoint(-3F, 14F, -3F);
      RFeather1.setTextureSize(64, 32);
      RFeather1.mirror = true;
      setRotation(RFeather1, 0.010631F, -0.260246F, 0.260246F);
      RFeather2 = new ModelRenderer(this, 10, 19);
      RFeather2.addBox(0.2F, 1F, 2F, 1, 1, 4);
      RFeather2.setRotationPoint(-3F, 14F, -3F);
      RFeather2.setTextureSize(64, 32);
      RFeather2.mirror = true;
      setRotation(RFeather2, 0.0106291F, -0.260246F, 0.260246F);
      RFeather3 = new ModelRenderer(this, 0, 19);
      RFeather3.addBox(-0.3F, 2F, 2F, 1, 1, 4);
      RFeather3.setRotationPoint(-2F, 14F, -3F);
      RFeather3.setTextureSize(64, 32);
      RFeather3.mirror = true;
      setRotation(RFeather3, 0.0106291F, -0.260246F, 0.260246F);
      LLegBase = new ModelRenderer(this, 8, 13);
      LLegBase.addBox(0F, 0F, 0F, 1, 5, 1);
      LLegBase.setRotationPoint(1F, 19F, 0F);
      LLegBase.setTextureSize(64, 32);
      LLegBase.mirror = true;
      setRotation(LLegBase, 0F, 0F, 0F);
      LLegClaw1 = new ModelRenderer(this, 12, 16);
      LLegClaw1.addBox(0F, 4F, -3F, 1, 1, 2);
      LLegClaw1.setRotationPoint(1F, 19F, 0F);
      LLegClaw1.setTextureSize(64, 32);
      LLegClaw1.mirror = true;
      setRotation(LLegClaw1, 0F, -0.8551081F, 0F);
      LLegClaw2 = new ModelRenderer(this, 12, 16);
      LLegClaw2.addBox(0F, 4F, -2F, 1, 1, 2);
      LLegClaw2.setRotationPoint(1F, 19F, 0F);
      LLegClaw2.setTextureSize(64, 32);
      LLegClaw2.mirror = true;
      setRotation(LLegClaw2, 0F, 0F, 0F);
      LLegClaw3 = new ModelRenderer(this, 12, 16);
      LLegClaw3.addBox(0F, 4F, -2F, 1, 1, 2);
      LLegClaw3.setRotationPoint(1F, 19F, 0F);
      LLegClaw3.setTextureSize(64, 32);
      LLegClaw3.mirror = true;
      setRotation(LLegClaw3, 0F, 0.8518239F, 0F);
      RLegBase = new ModelRenderer(this, 8, 13);
      RLegBase.addBox(0F, 0F, 0F, 1, 5, 1);
      RLegBase.setRotationPoint(-2F, 19F, 0F);
      RLegBase.setTextureSize(64, 32);
      RLegBase.mirror = true;
      setRotation(RLegBase, 0F, 0F, 0F);
      RLegClaw1 = new ModelRenderer(this, 12, 16);
      RLegClaw1.addBox(0F, 4F, -2F, 1, 1, 2);
      RLegClaw1.setRotationPoint(-2F, 19F, 0F);
      RLegClaw1.setTextureSize(64, 32);
      RLegClaw1.mirror = true;
      setRotation(RLegClaw1, 0F, -0.8551081F, 0F);
      RLegClaw2 = new ModelRenderer(this, 12, 16);
      RLegClaw2.addBox(0F, 4F, -2F, 1, 1, 2);
      RLegClaw2.setRotationPoint(-2F, 19F, 0F);
      RLegClaw2.setTextureSize(64, 32);
      RLegClaw2.mirror = true;
      setRotation(RLegClaw2, 0F, 0F, 0F);
      RLegClaw3 = new ModelRenderer(this, 12, 16);
      RLegClaw3.addBox(0F, 4F, -2F, 1, 1, 2);
      RLegClaw3.setRotationPoint(-2F, 19F, 0F);
      RLegClaw3.setTextureSize(64, 32);
      RLegClaw3.mirror = true;
      setRotation(RLegClaw3, 0F, 0.8518239F, 0F);
      TailFeather1 = new ModelRenderer(this, 0, 24);
      TailFeather1.addBox(0F, 0F, 0F, 1, 1, 7);
      TailFeather1.setRotationPoint(0F, 18F, 4F);
      TailFeather1.setTextureSize(64, 32);
      TailFeather1.mirror = true;
      setRotation(TailFeather1, 0F, 0F, 0F);
      TailFeather2 = new ModelRenderer(this, 0, 24);
      TailFeather2.addBox(0F, 0F, 0F, 1, 1, 7);
      TailFeather2.setRotationPoint(0F, 18F, 4F);
      TailFeather2.setTextureSize(64, 32);
      TailFeather2.mirror = true;
      setRotation(TailFeather2, 0F, 0.4461433F, 0F);
      TailFeather3 = new ModelRenderer(this, 0, 24);
      TailFeather3.addBox(0F, 0F, 0F, 1, 1, 7);
      TailFeather3.setRotationPoint(0F, 18F, 4F);
      TailFeather3.setTextureSize(64, 32);
      TailFeather3.mirror = true;
      setRotation(TailFeather3, 0F, -0.5948578F, 0F);
      Head = new ModelRenderer(this, 40, 0);
      Head.addBox(-2F, -8F, -7F, 4, 3, 5);
      Head.setRotationPoint(0F, 15F, -4F);
      Head.setTextureSize(64, 32);
      Head.mirror = true;
      setRotation(Head, 0F, 0F, 0F);
      HFeather1 = new ModelRenderer(this, 10, 19);
      HFeather1.addBox(-0.5F, -8F, -2F, 1, 1, 4);
      HFeather1.setRotationPoint(0F, 15F, -4F);
      HFeather1.setTextureSize(64, 32);
      HFeather1.mirror = true;
      setRotation(HFeather1, 0F, 0F, 0F);
      HFeather2 = new ModelRenderer(this, 0, 19);
      HFeather2.addBox(-0.5F, -9F, 2F, 1, 1, 4);
      HFeather2.setRotationPoint(0F, 15F, -4F);
      HFeather2.setTextureSize(64, 32);
      HFeather2.mirror = true;
      setRotation(HFeather2, 0.6320364F, 0F, 0F);
      Neck = new ModelRenderer(this, 32, 0);
      Neck.addBox(-1F, -7F, -1F, 2, 6, 2);
      Neck.setRotationPoint(0F, 15F, -4F);
      Neck.setTextureSize(64, 32);
      Neck.mirror = true;
      setRotation(Neck, 0.4089647F, 0F, 0F);
      Beak = new ModelRenderer(this, 30, 18);
      Beak.addBox(-1F, -7F, -11F, 2, 2, 4);
      Beak.setRotationPoint(0F, 15F, -4F);
      Beak.setTextureSize(64, 32);
      Beak.mirror = true;
      setRotation(Beak, 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, entity);
    Body.render(f5);
    LWingBase.render(f5);
    LFeather1.render(f5);
    LFeather2.render(f5);
    LFeather3.render(f5);
    RWingBase.render(f5);
    RFeather1.render(f5);
    RFeather2.render(f5);
    RFeather3.render(f5);
    LLegBase.render(f5);
    LLegClaw1.render(f5);
    LLegClaw2.render(f5);
    LLegClaw3.render(f5);
    RLegBase.render(f5);
    RLegClaw1.render(f5);
    RLegClaw2.render(f5);
    RLegClaw3.render(f5);
    TailFeather1.render(f5);
    TailFeather2.render(f5);
    TailFeather3.render(f5);
    Head.render(f5);
    HFeather1.render(f5);
    HFeather2.render(f5);
    Neck.render(f5);
    Beak.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, Entity ent)
  {
    super.setRotationAngles(f, f1, f2, f3, f4, f5, ent);
  }

}

 

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.