-
Posts
878 -
Joined
-
Last visited
Everything posted by Elix_x
-
Nothing has changed since first crash, except for ClientProxy, which i showed before.
-
Actually it is not. It crashes on invoking this method on my ISmartItemModel . EDIT: For now, i'm returning ItemCameraTransforms.DEFAULT and that fixed that crash. But. [14:09:51] [Client thread/FATAL]: Unreported exception thrown! java.lang.NullPointerException at net.minecraft.client.renderer.entity.RenderItem.renderQuads(RenderItem.java:213) ~[RenderItem.class:?] at net.minecraft.client.renderer.entity.RenderItem.renderModel(RenderItem.java:128) ~[RenderItem.class:?] at net.minecraft.client.renderer.entity.RenderItem.renderModel(RenderItem.java:112) ~[RenderItem.class:?] at net.minecraft.client.renderer.entity.RenderItem.renderItem(RenderItem.java:153) ~[RenderItem.class:?] at net.minecraft.client.renderer.entity.RenderItem.renderItemModelTransform(RenderItem.java:329) ~[RenderItem.class:?] at net.minecraft.client.renderer.entity.RenderItem.renderItemModelForEntity(RenderItem.java:312) ~[RenderItem.class:?] at net.minecraft.client.renderer.ItemRenderer.renderItem(ItemRenderer.java:73) ~[itemRenderer.class:?] at net.minecraft.client.renderer.ItemRenderer.renderItemInFirstPerson(ItemRenderer.java:361) ~[itemRenderer.class:?] at net.minecraft.client.renderer.EntityRenderer.renderHand(EntityRenderer.java:832) ~[EntityRenderer.class:?] at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1468) ~[EntityRenderer.class:?] at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1283) ~[EntityRenderer.class:?] at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1111) ~[EntityRenderer.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1107) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:380) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_73] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_73] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_73] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_73] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_73] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_73] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_73] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_73] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:26) [start/:?] [14:09:51] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:612]: ---- Minecraft Crash Report ---- // Shall we play a game? Time: 05.03.16 14:09 Description: Unexpected error java.lang.NullPointerException: Unexpected error at net.minecraft.client.renderer.entity.RenderItem.renderQuads(RenderItem.java:213) at net.minecraft.client.renderer.entity.RenderItem.renderModel(RenderItem.java:128) at net.minecraft.client.renderer.entity.RenderItem.renderModel(RenderItem.java:112) at net.minecraft.client.renderer.entity.RenderItem.renderItem(RenderItem.java:153) at net.minecraft.client.renderer.entity.RenderItem.renderItemModelTransform(RenderItem.java:329) at net.minecraft.client.renderer.entity.RenderItem.renderItemModelForEntity(RenderItem.java:312) at net.minecraft.client.renderer.ItemRenderer.renderItem(ItemRenderer.java:73) at net.minecraft.client.renderer.ItemRenderer.renderItemInFirstPerson(ItemRenderer.java:361) at net.minecraft.client.renderer.EntityRenderer.renderHand(EntityRenderer.java:832) at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1468) at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1283) at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1111) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1107) at net.minecraft.client.Minecraft.run(Minecraft.java:380) at net.minecraft.client.main.Main.main(Main.java:116) 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) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraft.client.renderer.entity.RenderItem.renderQuads(RenderItem.java:213) at net.minecraft.client.renderer.entity.RenderItem.renderModel(RenderItem.java:128) at net.minecraft.client.renderer.entity.RenderItem.renderModel(RenderItem.java:112) at net.minecraft.client.renderer.entity.RenderItem.renderItem(RenderItem.java:153) at net.minecraft.client.renderer.entity.RenderItem.renderItemModelTransform(RenderItem.java:329) at net.minecraft.client.renderer.entity.RenderItem.renderItemModelForEntity(RenderItem.java:312) at net.minecraft.client.renderer.ItemRenderer.renderItem(ItemRenderer.java:73) at net.minecraft.client.renderer.ItemRenderer.renderItemInFirstPerson(ItemRenderer.java:361) at net.minecraft.client.renderer.EntityRenderer.renderHand(EntityRenderer.java:832) at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1468) at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1283) -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityPlayerSP['Player766'/268, l='MpServer', x=-1114,34, y=67,00, z=-173,44]] Chunk stats: MultiplayerChunkCache: 130, 130 Level seed: 0 Level generator: ID 00 - default, ver 1. Features enabled: false Level generator options: Level spawn location: -1082,00,64,00,-193,00 - World: (-1082,64,-193), Chunk: (at 6,4,15 in -68,-13; contains blocks -1088,0,-208 to -1073,255,-193), Region: (-3,-1; contains chunks -96,-32 to -65,-1, blocks -1536,0,-512 to -1025,255,-1) Level time: 133325 game time, 3737 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: survival (ID 0). Hardcore: false. Cheats: false Forced entities: 110 total; [EntityPlayerSP['Player766'/268, l='MpServer', x=-1114,34, y=67,00, z=-173,44], EntitySkeleton['Skeleton'/21, l='MpServer', x=-1188,50, y=21,00, z=-195,50], EntitySkeleton['Skeleton'/33, l='MpServer', x=-1169,50, y=18,00, z=-238,91], EntityEnderman['Enderman'/34, l='MpServer', x=-1172,41, y=23,22, z=-226,25], EntitySkeleton['Skeleton'/35, l='MpServer', x=-1176,16, y=21,00, z=-227,31], EntitySquid['Squid'/36, l='MpServer', x=-1170,57, y=59,79, z=-175,05], EntitySquid['Squid'/37, l='MpServer', x=-1175,27, y=52,64, z=-153,13], EntitySquid['Squid'/39, l='MpServer', x=-1169,54, y=48,41, z=-110,69], EntityBat['Bat'/43, l='MpServer', x=-1169,31, y=24,10, z=-95,63], EntitySquid['Squid'/49, l='MpServer', x=-1161,63, y=58,41, z=-188,04], EntitySquid['Squid'/50, l='MpServer', x=-1162,64, y=56,10, z=-156,16], EntitySquid['Squid'/51, l='MpServer', x=-1167,69, y=47,84, z=-155,51], EntityZombie['Zombie'/52, l='MpServer', x=-1166,81, y=12,00, z=-136,50], EntityBat['Bat'/53, l='MpServer', x=-1149,44, y=18,06, z=-142,44], EntitySquid['Squid'/54, l='MpServer', x=-1157,81, y=60,04, z=-135,84], EntityBat['Bat'/55, l='MpServer', x=-1162,03, y=21,25, z=-101,91], EntitySkeleton['Skeleton'/56, l='MpServer', x=-1155,50, y=16,00, z=-95,50], EntityEnderman['Enderman'/57, l='MpServer', x=-1154,50, y=16,00, z=-94,50], EntitySquid['Squid'/66, l='MpServer', x=-1147,53, y=61,52, z=-236,98], EntitySquid['Squid'/67, l='MpServer', x=-1141,67, y=56,28, z=-221,56], EntitySquid['Squid'/68, l='MpServer', x=-1133,15, y=52,32, z=-219,26], EntitySquid['Squid'/69, l='MpServer', x=-1153,82, y=57,58, z=-198,94], EntitySquid['Squid'/70, l='MpServer', x=-1140,32, y=49,54, z=-188,93], EntitySquid['Squid'/71, l='MpServer', x=-1142,27, y=52,25, z=-158,81], EntitySquid['Squid'/72, l='MpServer', x=-1140,21, y=46,06, z=-133,03], EntitySquid['Squid'/73, l='MpServer', x=-1153,18, y=48,94, z=-145,78], EntityZombie['Zombie'/74, l='MpServer', x=-1140,50, y=29,00, z=-115,50], EntitySkeleton['Skeleton'/75, l='MpServer', x=-1150,72, y=25,00, z=-119,16], EntitySquid['Squid'/76, l='MpServer', x=-1148,29, y=61,45, z=-124,97], EntitySquid['Squid'/78, l='MpServer', x=-1138,30, y=48,63, z=-112,32], EntityBat['Bat'/80, l='MpServer', x=-1146,56, y=30,10, z=-95,44], EntitySquid['Squid'/88, l='MpServer', x=-1131,26, y=51,78, z=-234,00], EntitySquid['Squid'/90, l='MpServer', x=-1120,17, y=50,16, z=-233,28], EntitySquid['Squid'/91, l='MpServer', x=-1134,38, y=58,82, z=-225,09], EntitySquid['Squid'/92, l='MpServer', x=-1137,01, y=58,53, z=-209,75], EntitySquid['Squid'/93, l='MpServer', x=-1126,49, y=39,44, z=-181,13], EntitySquid['Squid'/94, l='MpServer', x=-1117,90, y=48,36, z=-141,78], EntitySquid['Squid'/95, l='MpServer', x=-1134,28, y=60,81, z=-113,82], EntitySquid['Squid'/96, l='MpServer', x=-1127,59, y=49,67, z=-110,78], EntitySquid['Squid'/98, l='MpServer', x=-1126,11, y=47,10, z=-111,89], EntitySquid['Squid'/112, l='MpServer', x=-1115,24, y=47,11, z=-230,15], EntitySquid['Squid'/113, l='MpServer', x=-1102,92, y=47,96, z=-231,72], EntitySquid['Squid'/114, l='MpServer', x=-1103,00, y=51,15, z=-224,55], EntitySquid['Squid'/115, l='MpServer', x=-1109,97, y=47,50, z=-203,26], EntityCreeper['Creeper'/116, l='MpServer', x=-1104,50, y=31,00, z=-181,50], EntityItem['item.item.Ring.0'/117, l='MpServer', x=-1108,13, y=52,00, z=-170,19], EntityItem['item.item.Ring.0'/118, l='MpServer', x=-1108,13, y=51,00, z=-169,75], EntitySquid['Squid'/119, l='MpServer', x=-1108,50, y=52,56, z=-168,79], EntitySkeleton['Skeleton'/120, l='MpServer', x=-1112,50, y=16,00, z=-137,50], EntitySquid['Squid'/121, l='MpServer', x=-1104,54, y=52,30, z=-129,91], EntitySquid['Squid'/122, l='MpServer', x=-1105,44, y=52,75, z=-136,91], EntitySquid['Squid'/123, l='MpServer', x=-1108,44, y=56,27, z=-117,62], EntitySquid['Squid'/124, l='MpServer', x=-1112,85, y=51,30, z=-121,24], EntitySquid['Squid'/125, l='MpServer', x=-1111,18, y=54,47, z=-128,91], EntitySkeleton['Skeleton'/138, l='MpServer', x=-1096,50, y=23,00, z=-241,50], EntitySkeleton['Skeleton'/139, l='MpServer', x=-1088,78, y=22,00, z=-229,06], EntityCreeper['Creeper'/140, l='MpServer', x=-1096,50, y=22,00, z=-225,50], EntityCreeper['Creeper'/141, l='MpServer', x=-1092,50, y=22,00, z=-226,50], EntitySquid['Squid'/142, l='MpServer', x=-1099,15, y=49,71, z=-233,66], EntitySquid['Squid'/143, l='MpServer', x=-1089,01, y=54,28, z=-212,78], EntitySquid['Squid'/144, l='MpServer', x=-1102,44, y=48,23, z=-207,96], EntitySkeleton['Skeleton'/145, l='MpServer', x=-1089,53, y=27,00, z=-177,91], EntityBat['Bat'/146, l='MpServer', x=-1101,66, y=32,38, z=-183,22], EntityBat['Bat'/147, l='MpServer', x=-1091,78, y=31,72, z=-166,97], EntityBat['Bat'/148, l='MpServer', x=-1093,44, y=31,06, z=-166,13], EntityBat['Bat'/149, l='MpServer', x=-1087,31, y=32,47, z=-156,25], EntitySquid['Squid'/150, l='MpServer', x=-1091,91, y=42,00, z=-146,53], EntitySquid['Squid'/151, l='MpServer', x=-1102,95, y=45,93, z=-145,81], EntitySquid['Squid'/152, l='MpServer', x=-1093,41, y=62,37, z=-145,25], EntitySquid['Squid'/153, l='MpServer', x=-1085,75, y=56,84, z=-142,99], EntitySquid['Squid'/154, l='MpServer', x=-1098,26, y=43,57, z=-143,67], EntitySquid['Squid'/155, l='MpServer', x=-1097,82, y=45,88, z=-145,16], EntitySquid['Squid'/156, l='MpServer', x=-1100,00, y=42,06, z=-144,85], EntitySquid['Squid'/157, l='MpServer', x=-1097,44, y=51,95, z=-137,82], EntitySquid['Squid'/158, l='MpServer', x=-1092,02, y=54,02, z=-132,21], EntitySkeleton['Skeleton'/159, l='MpServer', x=-1101,50, y=16,00, z=-122,50], EntityEnderman['Enderman'/160, l='MpServer', x=-1102,50, y=16,00, z=-122,50], EntityZombie['Zombie'/161, l='MpServer', x=-1094,50, y=17,00, z=-103,50], EntityZombie['Zombie'/162, l='MpServer', x=-1093,50, y=17,00, z=-103,50], EntitySkeleton['Skeleton'/169, l='MpServer', x=-1084,50, y=18,00, z=-209,50], EntitySquid['Squid'/170, l='MpServer', x=-1073,42, y=56,92, z=-211,22], EntitySquid['Squid'/171, l='MpServer', x=-1086,99, y=51,80, z=-210,72], EntitySquid['Squid'/172, l='MpServer', x=-1084,13, y=56,39, z=-215,99], EntityCreeper['Creeper'/173, l='MpServer', x=-1082,34, y=26,00, z=-145,97], EntityBat['Bat'/174, l='MpServer', x=-1078,50, y=28,10, z=-156,25], EntitySkeleton['Skeleton'/175, l='MpServer', x=-1087,09, y=25,00, z=-147,56], EntityZombie['Zombie'/176, l='MpServer', x=-1085,50, y=25,00, z=-149,50], EntityZombie['Zombie'/177, l='MpServer', x=-1080,50, y=28,00, z=-156,50], EntitySpider['Spider'/178, l='MpServer', x=-1082,50, y=28,00, z=-157,50], EntityBat['Bat'/179, l='MpServer', x=-1073,25, y=31,03, z=-153,72], EntityZombie['Zombie'/180, l='MpServer', x=-1080,50, y=27,00, z=-157,50], EntitySquid['Squid'/181, l='MpServer', x=-1077,60, y=59,84, z=-147,37], EntitySquid['Squid'/182, l='MpServer', x=-1075,16, y=61,91, z=-142,01], EntitySquid['Squid'/183, l='MpServer', x=-1070,75, y=59,21, z=-156,96], EntityZombie['Zombie'/184, l='MpServer', x=-1081,94, y=24,00, z=-129,34], EntitySkeleton['Skeleton'/185, l='MpServer', x=-1086,50, y=27,00, z=-140,50], EntitySquid['Squid'/186, l='MpServer', x=-1076,90, y=59,73, z=-134,22], EntitySkeleton['Skeleton'/187, l='MpServer', x=-1083,50, y=22,00, z=-125,50], EntitySkeleton['Skeleton'/188, l='MpServer', x=-1084,50, y=22,00, z=-125,50], EntityWitch['Witch'/193, l='MpServer', x=-1068,50, y=40,00, z=-204,50], EntityWitch['Witch'/194, l='MpServer', x=-1070,50, y=40,00, z=-202,50], EntitySkeleton['Skeleton'/195, l='MpServer', x=-1064,44, y=24,00, z=-148,09], EntityBat['Bat'/196, l='MpServer', x=-1068,00, y=26,10, z=-155,69], EntitySquid['Squid'/197, l='MpServer', x=-1056,75, y=46,74, z=-151,57], EntityZombie['Zombie'/198, l='MpServer', x=-1070,50, y=32,00, z=-156,50], EntityZombie['Zombie'/199, l='MpServer', x=-1071,50, y=32,00, z=-152,50], EntitySquid['Squid'/206, l='MpServer', x=-1051,33, y=46,56, z=-232,55], EntitySquid['Squid'/207, l='MpServer', x=-1054,04, y=56,48, z=-117,43], EntityZombie['Zombie'/208, l='MpServer', x=-1056,88, y=12,00, z=-105,06], EntityCreeper['Creeper'/223, l='MpServer', x=-1037,50, y=15,00, z=-161,50]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:383) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2645) at net.minecraft.client.Minecraft.run(Minecraft.java:409) at net.minecraft.client.main.Main.main(Main.java:116) 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.8.9 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.8.0_73, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 418828088 bytes (399 MB) / 898629632 bytes (857 MB) up to 1717043200 bytes (1637 MB) JVM Flags: 0 total; IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94 FML: MCP 9.19 Powered by Forge 11.15.1.1744 6 mods loaded, 6 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.8.9-11.15.1.1744.jar) UCHIJAAAA Forge{11.15.1.1744} [Minecraft Forge] (forgeSrc-1.8.9-11.15.1.1744.jar) UCHIJAAAA Baubles{1.1.3.0} [baubles] (Baubles-1.8.9-1.1.3.0-deobf.jar) UCHIJAAAA excore{1.3.9} [EXCore] (bin) UCHIJAAAA armorsets{2.0} [Armor Sets] (bin) Loaded coremods (and transformers): GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.4.13084 Compatibility Profile Context 14.301.1001.0' Renderer: 'AMD Radeon HD 8570D' Launched Version: 1.8.9 LWJGL: 2.9.4 OpenGL: AMD Radeon HD 8570D GL version 4.4.13084 Compatibility Profile Context 14.301.1001.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: No 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 A8-6600K APU with Radeon(tm) HD Graphics [14:09:51] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:612]: #@!@# Game crashed! Crash report saved to: #@!@# C:\my\mcmodding\mods\Armor-Sets\1.8.9\run\.\crash-reports\crash-2016-03-05_14.09.51-client.txt AL lib: (EE) alc_cleanup: 1 device not closed EDIT 2: After removing this from item class: @Override @SideOnly(Side.CLIENT) public ModelResourceLocation getModel(ItemStack itemstack, EntityPlayer player, int useRemaining){ return ClientProxy.MODELLOCATION; } It does not crash any more, but item is rendered as untextured cube (missing texture). And this is my current ClientProxy : public class ClientProxy implements IProxy { public static final ModelResourceLocation MODELLOCATION = new ModelResourceLocation("ItemsSet", "ItemsSet"); public static KeyBinding armorSetKeyBinding = new KeyBinding("key.armorsets.armor", Keyboard.KEY_F, "category.armorsets"); public static KeyBinding baublesSetKeyBinding = new KeyBinding("key.armorsets.baubles", Keyboard.KEY_G, "category.armorsets"); public static KeyBinding armorBaublesSetKeyBinding = new KeyBinding("key.armorsets.armorbaubles", Keyboard.KEY_V, "category.armorsets"); @Override public void preInit(FMLPreInitializationEvent event){ } @Override public void init(FMLInitializationEvent event){ ModelLoader.setCustomModelResourceLocation(ArmorSetsBase.itemArmorSet, 0, MODELLOCATION); ClientRegistry.registerKeyBinding(armorSetKeyBinding); ClientRegistry.registerKeyBinding(baublesSetKeyBinding); ClientRegistry.registerKeyBinding(armorBaublesSetKeyBinding); FMLCommonHandler.instance().bus().register(new KeyBindingsCheckEvent()); MinecraftForge.EVENT_BUS.register(new BakeModelEvent()); } @Override public void postInit(FMLPostInitializationEvent event){ } }
-
[No Version] 1.9, side specific dependencies, stencils and item rendering
Elix_x replied to Elix_x's topic in Modder Support
Sorry, but bump. -
[No Version] 1.9, side specific dependencies, stencils and item rendering
Elix_x replied to Elix_x's topic in Modder Support
One more question (still about stencils): Are they going to be enabled by default in 1.9? -
[No Version] 1.9, side specific dependencies, stencils and item rendering
Elix_x replied to Elix_x's topic in Modder Support
I'm trying to not modifiy base classes in this case, but i've heard of that too. I think coolAlias is using it. Still, thanks for help! -
[No Version] 1.9, side specific dependencies, stencils and item rendering
Elix_x replied to Elix_x's topic in Modder Support
I know about 1.8 rendering system and models. It's very flexible and usefull. However, the coolest effects you can do with Open GL aren't possible. Luckily, it's not the case for most mods. Tile entity still having TESR really helps. But with items... Actually, here's my mod's repository that i'm talking about, that uses stencils and other effects, as depths for rendering: https://github.com/elix-x/Teleplates. -
Good day. I don't want to create 4 specific topics for each question, so i will ask them all here. 1) 1.9 just came out, forge is probably waiting for mcp, but what changes to code and especially rendering should we expect? 2) My mod is using some rendering abilities of another mod. So this other mod is not required on server, but is on client. Is there simple way of telling this to forge? 3) By default in minecraft and forge, stencils are disabled (GL stencils). Why? 4) I'm currently in progress of moving my mod to 1.8.9 from 1.7.10. In 1.7.10 i "enabled"stencils with CoFHCore, because my items (with IItemRenderer) and tile entities were using them. Even if i will "enable" stencils in a different way/mod, how can i render my items, if there's no IItemRenderer? Thanks for help! If you have any questions - just ask!
-
Hi elix, thanks for your reply. I will modify my code, considering what you said above. About return (false), I like to get a clear view of what I am returning inside my code. It's an habit I got since college. What about the player experience management I did ? Is it ok ? I took a look earlier on the EntityPlayer class and it seems that these variables are initialized with negative values, so I don't really know if it's ok to do the way I did. I'm not able to tell you anything about this part, as i've never worked with experience (). You'll have to try or to ask/wait someone else to answer.
-
1) Yes. But not necesserily. It will be synced from server to client anyway. 2) Do NOT cast player to client/server/singleplayer specific unless you really have to. If you can perform operations on player, without casting to specific type, do not cast it. Sode note: why are you doing (false) ? Just wondering. First time seeing this style.
-
Using standart config files will be a pain to do all this. Seriously, go learn json and GSON, and trust me, your life will be over 9000 times easier.
-
Advice: if you want to add blocks dinamically, from configuration, use json and GSON. It will be a lot simpler once you will get hang of them, for both you and users.
-
Disable/enable flying only when player unwears/wears your armor. You will probably have to use IEEP, not sure if it is doable without.
-
So where can I read about those types? I am GL noob in terms of conventions. Everything I know i learned from scratch (a lot actually). Look for some GL tutorials. If you hover over GL11.GL_QUADS you can do a jump-to-definition which will take you to the GL11 class and you can look at the other modes there (I can't find a list online). QUADS is more or less deprecated because it's inefficient, but no one in Minecraft modding cares (it's faster to draw two triangles than making the CPU calculate said triangles). The other options I can remember are... LINES (may not work, use instead...), LINE_STRIP, and TRIANGLE_STRIP. There's also GL_POLYGON and i think GL_POINTS .
-
Block ids are from 256 (below is minecraft) to 4096, so 3840 in total. Item ids are from 4096 to 32767, so 28671 in total. Side note: some of these limits can be raised, but require hell lot of bytecode manipultions and frequently cause severe compatibility problems.
-
[1.7.10]How to make your mod not work in singleplayer.
Elix_x replied to Paradox's topic in Modder Support
I want the blocks to be spawned in the world no matter what. I am using world.setBlock() to spawn the blocks and I got no problem with blocks spawning or dissapearing after a player exits the world. The only problem I got was how I could sync the new coordinates added to my table with the world since I cant know where the last block was builded. I searched over the internet and saw that I can save custom data with the WorldSavedData but I cant impement it. Thanks for taking the time to try helping me Ok. That clarifies a lot of things. I suppose that you already have a class that connects to your database and reads blocks. Now, you have 3 things to do: 1) Considering you are in 1.7.10, create BlockPos (holding x, y, z), read and write to nbt methods and with your IDE generate hashCode and equals methods. 2) Create your WorldSavedData class, following tutorial, including get(World) method to get data instance. You can use perMapStorage , I suppose you already have one. In there, add Set<BlockPos> field. This set will hold all blocks that were already generated. To save and load Set to/from nbt, use NBTTagList. 3) Use world generator and chunk load events to generate blocks. Do first 2 steps, and try to do 3rd yourself. If you have any problems, ask them here, we will help. EDIT: Official WorldSavedData tutorial: https://mcforge.readthedocs.org/en/latest/datastorage/worldsaveddata/. -
[1.7.10]How to make your mod not work in singleplayer.
Elix_x replied to Paradox's topic in Modder Support
Hello, I will happily answer all the questions the best I can. -You want to generate blocks in worlds from remote database, right? Yes, I got a remote MySQL database that holds coordinates of Blocks. This is the structure of my table: ID | posX | posY | posX posX, posY and posZ is the block should be in the world. -Database can be changed by you at any time? Yes. I got a script running that affects the table I mention above. It is not changing the table, it is just adds more and more coordinates to the database. -Blocks, should they be generated in already generated chunks? Well, I am not sure I understand this question. -How many dimensions do you want to affect (only overworld, all vanilla or you can configure for any dimension from database)? The only dimension I want to affect is the overworld. Thanks for answer. Question 3 is very important, so i will try to explain it to you: When you explore a world, new chunks are generated. When you exit the world, they are stored. When you load world back up, it loads chunks from drive, but it does not generate them. So, question 3 is asking: if one day you change your database, and add coordinates that for "the given player" are in already generated chunk (chunk stored on drive), do you want to place (from code) blocks you just added in this chunk? -
Yes, although I don't know what you mean by "return in my item". You set the model for an Item using ModelLoader.setCustomModelResourceLocation. Ok. Thank you. And i meant this: (But i will remove it).
-
[1.7.10]How to make your mod not work in singleplayer.
Elix_x replied to Paradox's topic in Modder Support
I will repeate questions that have already been asked. Please answer all of them precisely and we will be able to help you: -You want to generate blocks in worlds from remote database, right? -Database can be changed by you at any time? -Blocks, should they be generated in already generated chunks? -How many dimensions do you want to affect (only overworld, all vanilla or you can configure for any dimension from database)? If you do not understand a question please ask us to say it in different way. -
I'll look into it with debug then. Also, Is this correct way to do it?
-
Take a look at any minecraft GUI class. They are located in net.minecraft.client.gui . To add buttons, use GuiButton . To add text fields, use GuiTextField . Also, there are plenty of GUI tutorials out there: http://lmgtfy.com/?q=minecraft+forge+GUI
-
2 things: How exactly do i register my ISmartItemModel in ModelBakeEvent ? Right now, i'm calling event.registry.putObject , and using resource loaction that i return in my item. Something went wrong, i don't quite know what exactly: [10:39:06] [Client thread/FATAL]: Unreported exception thrown! java.lang.NullPointerException at net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(ForgeHooksClient.java:387) ~[ForgeHooksClient.class:?] at net.minecraft.client.renderer.entity.RenderItem.renderItemModelTransform(RenderItem.java:327) ~[RenderItem.class:?] at net.minecraft.client.renderer.entity.RenderItem.renderItemModelForEntity(RenderItem.java:312) ~[RenderItem.class:?] at net.minecraft.client.renderer.ItemRenderer.renderItem(ItemRenderer.java:73) ~[itemRenderer.class:?] at net.minecraft.client.renderer.ItemRenderer.renderItemInFirstPerson(ItemRenderer.java:361) ~[itemRenderer.class:?] at net.minecraft.client.renderer.EntityRenderer.renderHand(EntityRenderer.java:832) ~[EntityRenderer.class:?] at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1468) ~[EntityRenderer.class:?] at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1283) ~[EntityRenderer.class:?] at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1111) ~[EntityRenderer.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1107) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:380) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:116) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_73] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_73] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_73] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_73] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_73] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_73] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_73] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_73] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:26) [start/:?] [10:39:06] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:612]: ---- Minecraft Crash Report ---- // Sorry Time: 24.02.16 10:39 Description: Unexpected error java.lang.NullPointerException: Unexpected error at net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(ForgeHooksClient.java:387) at net.minecraft.client.renderer.entity.RenderItem.renderItemModelTransform(RenderItem.java:327) at net.minecraft.client.renderer.entity.RenderItem.renderItemModelForEntity(RenderItem.java:312) at net.minecraft.client.renderer.ItemRenderer.renderItem(ItemRenderer.java:73) at net.minecraft.client.renderer.ItemRenderer.renderItemInFirstPerson(ItemRenderer.java:361) at net.minecraft.client.renderer.EntityRenderer.renderHand(EntityRenderer.java:832) at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1468) at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1283) at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1111) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1107) at net.minecraft.client.Minecraft.run(Minecraft.java:380) at net.minecraft.client.main.Main.main(Main.java:116) 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) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(ForgeHooksClient.java:387) at net.minecraft.client.renderer.entity.RenderItem.renderItemModelTransform(RenderItem.java:327) at net.minecraft.client.renderer.entity.RenderItem.renderItemModelForEntity(RenderItem.java:312) at net.minecraft.client.renderer.ItemRenderer.renderItem(ItemRenderer.java:73) at net.minecraft.client.renderer.ItemRenderer.renderItemInFirstPerson(ItemRenderer.java:361) at net.minecraft.client.renderer.EntityRenderer.renderHand(EntityRenderer.java:832) at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1468) at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1283) -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityPlayerSP['Player953'/645, l='MpServer', x=-1114,34, y=67,00, z=-173,44]] Chunk stats: MultiplayerChunkCache: 603, 603 Level seed: 0 Level generator: ID 00 - default, ver 1. Features enabled: false Level generator options: Level spawn location: -1082,00,64,00,-193,00 - World: (-1082,64,-193), Chunk: (at 6,4,15 in -68,-13; contains blocks -1088,0,-208 to -1073,255,-193), Region: (-3,-1; contains chunks -96,-32 to -65,-1, blocks -1536,0,-512 to -1025,255,-1) Level time: 131653 game time, 2065 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: survival (ID 0). Hardcore: false. Cheats: false Forced entities: 231 total; [EntitySquid['Squid'/512, l='MpServer', x=-1053,72, y=47,69, z=-184,88], EntitySquid['Squid'/516, l='MpServer', x=-1057,34, y=46,94, z=-175,81], EntitySquid['Squid'/517, l='MpServer', x=-1056,78, y=49,72, z=-163,38], EntityCreeper['Creeper'/519, l='MpServer', x=-1051,50, y=12,00, z=-117,50], EntityCreeper['Creeper'/552, l='MpServer', x=-1037,50, y=15,00, z=-161,50], EntityBat['Bat'/41, l='MpServer', x=-1182,89, y=20,00, z=-193,32], EntitySkeleton['Skeleton'/44, l='MpServer', x=-1192,59, y=23,00, z=-184,09], EntityZombie['Zombie'/46, l='MpServer', x=-1192,50, y=23,00, z=-169,50], EntitySkeleton['Skeleton'/87, l='MpServer', x=-1169,50, y=18,00, z=-238,91], EntitySquid['Squid'/88, l='MpServer', x=-1173,19, y=61,00, z=-192,13], EntitySkeleton['Skeleton'/89, l='MpServer', x=-1181,84, y=20,00, z=-191,56], EntitySquid['Squid'/90, l='MpServer', x=-1171,81, y=62,13, z=-193,53], EntitySquid['Squid'/91, l='MpServer', x=-1171,41, y=62,22, z=-187,50], EntitySquid['Squid'/92, l='MpServer', x=-1175,63, y=56,06, z=-193,50], EntitySquid['Squid'/93, l='MpServer', x=-1166,09, y=58,31, z=-182,78], EntitySquid['Squid'/95, l='MpServer', x=-1175,59, y=57,53, z=-142,16], EntityZombie['Zombie'/96, l='MpServer', x=-1162,53, y=15,00, z=-136,00], EntitySquid['Squid'/97, l='MpServer', x=-1172,78, y=46,47, z=-137,19], EntitySquid['Squid'/98, l='MpServer', x=-1171,63, y=59,19, z=-145,47], EntitySquid['Squid'/99, l='MpServer', x=-1168,56, y=56,78, z=-146,19], EntitySquid['Squid'/100, l='MpServer', x=-1165,13, y=60,31, z=-139,13], EntityCreeper['Creeper'/101, l='MpServer', x=-1177,19, y=18,00, z=-97,84], EntitySquid['Squid'/127, l='MpServer', x=-1162,31, y=58,41, z=-200,34], EntitySquid['Squid'/128, l='MpServer', x=-1156,75, y=59,44, z=-194,69], EntitySquid['Squid'/129, l='MpServer', x=-1163,66, y=62,19, z=-184,50], EntitySquid['Squid'/130, l='MpServer', x=-1164,78, y=62,09, z=-179,19], EntitySquid['Squid'/131, l='MpServer', x=-1171,47, y=62,19, z=-179,13], EntitySquid['Squid'/132, l='MpServer', x=-1165,25, y=58,63, z=-187,16], EntitySquid['Squid'/133, l='MpServer', x=-1160,88, y=50,97, z=-152,94], EntityPlayerSP['Player953'/645, l='MpServer', x=-1114,34, y=67,00, z=-173,44], EntitySquid['Squid'/134, l='MpServer', x=-1165,28, y=47,66, z=-149,53], EntitySquid['Squid'/135, l='MpServer', x=-1165,63, y=60,53, z=-153,16], EntitySquid['Squid'/136, l='MpServer', x=-1161,41, y=58,69, z=-146,41], EntitySquid['Squid'/137, l='MpServer', x=-1160,66, y=56,75, z=-153,59], EntitySquid['Squid'/138, l='MpServer', x=-1170,28, y=54,94, z=-149,34], EntityBat['Bat'/139, l='MpServer', x=-1149,36, y=19,16, z=-141,75], EntitySquid['Squid'/140, l='MpServer', x=-1158,75, y=46,19, z=-143,13], EntitySquid['Squid'/141, l='MpServer', x=-1160,63, y=58,00, z=-141,59], EntitySquid['Squid'/142, l='MpServer', x=-1163,50, y=62,41, z=-137,53], EntitySquid['Squid'/143, l='MpServer', x=-1155,13, y=49,81, z=-136,63], EntitySquid['Squid'/144, l='MpServer', x=-1158,09, y=59,56, z=-142,78], EntitySquid['Squid'/145, l='MpServer', x=-1166,00, y=58,09, z=-139,16], EntitySquid['Squid'/170, l='MpServer', x=-1139,47, y=52,56, z=-235,06], EntitySquid['Squid'/172, l='MpServer', x=-1136,09, y=48,13, z=-233,75], EntitySquid['Squid'/173, l='MpServer', x=-1142,25, y=50,19, z=-227,75], EntitySquid['Squid'/174, l='MpServer', x=-1138,84, y=59,09, z=-230,47], EntitySquid['Squid'/175, l='MpServer', x=-1140,13, y=57,56, z=-224,41], EntitySquid['Squid'/176, l='MpServer', x=-1140,44, y=51,50, z=-233,84], EntitySquid['Squid'/177, l='MpServer', x=-1146,94, y=56,72, z=-220,78], EntitySquid['Squid'/178, l='MpServer', x=-1142,59, y=55,28, z=-208,09], EntitySquid['Squid'/179, l='MpServer', x=-1140,91, y=55,34, z=-212,25], EntitySquid['Squid'/180, l='MpServer', x=-1145,50, y=53,41, z=-220,72], EntitySquid['Squid'/181, l='MpServer', x=-1132,50, y=57,25, z=-217,47], EntitySquid['Squid'/182, l='MpServer', x=-1142,03, y=55,09, z=-215,53], EntitySquid['Squid'/183, l='MpServer', x=-1136,00, y=56,22, z=-211,56], EntitySquid['Squid'/184, l='MpServer', x=-1142,88, y=49,72, z=-147,44], EntitySquid['Squid'/185, l='MpServer', x=-1149,44, y=51,44, z=-151,41], EntitySquid['Squid'/186, l='MpServer', x=-1154,94, y=52,66, z=-149,00], EntitySquid['Squid'/187, l='MpServer', x=-1152,56, y=47,97, z=-139,91], EntitySquid['Squid'/188, l='MpServer', x=-1149,69, y=47,88, z=-135,22], EntitySquid['Squid'/189, l='MpServer', x=-1141,72, y=49,88, z=-145,16], EntitySquid['Squid'/190, l='MpServer', x=-1151,22, y=45,97, z=-148,34], EntityZombie['Zombie'/191, l='MpServer', x=-1140,50, y=29,00, z=-115,50], EntitySquid['Squid'/192, l='MpServer', x=-1135,47, y=60,94, z=-116,25], EntitySkeleton['Skeleton'/193, l='MpServer', x=-1145,19, y=28,00, z=-117,44], EntitySquid['Squid'/196, l='MpServer', x=-1145,59, y=61,34, z=-117,09], EntitySquid['Squid'/224, l='MpServer', x=-1136,19, y=49,94, z=-230,19], EntitySquid['Squid'/225, l='MpServer', x=-1133,94, y=46,97, z=-227,28], EntitySquid['Squid'/226, l='MpServer', x=-1131,44, y=48,59, z=-223,03], EntitySquid['Squid'/227, l='MpServer', x=-1127,03, y=49,66, z=-227,16], EntitySquid['Squid'/228, l='MpServer', x=-1133,50, y=48,25, z=-236,13], EntitySquid['Squid'/229, l='MpServer', x=-1129,19, y=49,66, z=-230,50], EntitySquid['Squid'/231, l='MpServer', x=-1131,00, y=47,09, z=-221,91], EntitySquid['Squid'/232, l='MpServer', x=-1137,81, y=51,78, z=-222,34], EntitySquid['Squid'/233, l='MpServer', x=-1132,72, y=58,16, z=-224,66], EntitySquid['Squid'/234, l='MpServer', x=-1136,13, y=58,09, z=-222,31], EntitySquid['Squid'/235, l='MpServer', x=-1131,63, y=49,10, z=-193,95], EntitySquid['Squid'/236, l='MpServer', x=-1133,75, y=50,56, z=-188,91], EntitySquid['Squid'/237, l='MpServer', x=-1131,67, y=43,77, z=-186,74], EntitySquid['Squid'/238, l='MpServer', x=-1124,65, y=43,19, z=-184,82], EntitySquid['Squid'/239, l='MpServer', x=-1128,74, y=49,09, z=-179,42], EntitySquid['Squid'/240, l='MpServer', x=-1128,91, y=57,03, z=-113,84], EntitySquid['Squid'/241, l='MpServer', x=-1135,25, y=56,50, z=-121,25], EntitySquid['Squid'/242, l='MpServer', x=-1137,63, y=57,47, z=-113,19], EntitySquid['Squid'/243, l='MpServer', x=-1137,81, y=58,66, z=-113,88], EntitySquid['Squid'/286, l='MpServer', x=-1119,81, y=48,31, z=-224,00], EntitySquid['Squid'/287, l='MpServer', x=-1105,38, y=50,31, z=-236,97], EntitySquid['Squid'/288, l='MpServer', x=-1106,69, y=51,28, z=-224,00], EntitySquid['Squid'/289, l='MpServer', x=-1118,81, y=52,16, z=-228,03], EntitySquid['Squid'/290, l='MpServer', x=-1115,09, y=49,59, z=-227,84], EntitySquid['Squid'/291, l='MpServer', x=-1113,09, y=47,22, z=-227,50], EntitySquid['Squid'/292, l='MpServer', x=-1108,06, y=48,97, z=-224,38], EntitySquid['Squid'/293, l='MpServer', x=-1107,63, y=48,53, z=-231,28], EntitySquid['Squid'/294, l='MpServer', x=-1114,34, y=47,47, z=-223,53], EntitySquid['Squid'/295, l='MpServer', x=-1114,38, y=51,19, z=-222,59], EntityBat['Bat'/296, l='MpServer', x=-1110,31, y=19,19, z=-205,69], EntitySquid['Squid'/297, l='MpServer', x=-1111,12, y=47,06, z=-197,72], EntitySquid['Squid'/298, l='MpServer', x=-1115,55, y=50,60, z=-197,25], EntitySquid['Squid'/299, l='MpServer', x=-1117,31, y=42,06, z=-188,47], EntitySquid['Squid'/300, l='MpServer', x=-1114,13, y=49,97, z=-185,12], EntityItem['item.item.Ring.0'/301, l='MpServer', x=-1108,13, y=52,00, z=-170,19], EntityItem['item.item.Ring.0'/302, l='MpServer', x=-1108,13, y=51,00, z=-169,75], EntitySkeleton['Skeleton'/303, l='MpServer', x=-1112,50, y=16,00, z=-137,50], EntitySkeleton['Skeleton'/304, l='MpServer', x=-1115,95, y=16,32, z=-138,72], EntityCreeper['Creeper'/305, l='MpServer', x=-1109,50, y=17,00, z=-135,50], EntityBat['Bat'/306, l='MpServer', x=-1112,48, y=17,06, z=-133,10], EntitySquid['Squid'/307, l='MpServer', x=-1118,16, y=49,06, z=-137,28], EntitySkeleton['Skeleton'/3379, l='MpServer', x=-1177,50, y=22,00, z=-226,50], EntitySquid['Squid'/308, l='MpServer', x=-1116,19, y=54,13, z=-129,00], EntityCreeper['Creeper'/3380, l='MpServer', x=-1175,59, y=22,00, z=-225,89], EntitySquid['Squid'/309, l='MpServer', x=-1118,22, y=57,09, z=-130,38], EntitySquid['Squid'/310, l='MpServer', x=-1109,31, y=56,50, z=-134,38], EntitySquid['Squid'/311, l='MpServer', x=-1103,84, y=54,59, z=-133,28], EntitySquid['Squid'/312, l='MpServer', x=-1116,97, y=54,03, z=-126,13], EntitySquid['Squid'/313, l='MpServer', x=-1105,66, y=52,50, z=-123,94], EntitySquid['Squid'/314, l='MpServer', x=-1108,47, y=53,81, z=-133,44], EntitySquid['Squid'/315, l='MpServer', x=-1112,59, y=56,00, z=-127,28], EntitySquid['Squid'/316, l='MpServer', x=-1103,88, y=49,03, z=-139,41], EntitySquid['Squid'/317, l='MpServer', x=-1111,06, y=49,34, z=-112,09], EntitySquid['Squid'/318, l='MpServer', x=-1110,63, y=51,75, z=-109,41], EntitySquid['Squid'/319, l='MpServer', x=-1110,03, y=50,84, z=-130,38], EntitySquid['Squid'/320, l='MpServer', x=-1112,16, y=54,81, z=-128,88], EntitySquid['Squid'/321, l='MpServer', x=-1114,75, y=56,31, z=-107,41], EntitySquid['Squid'/322, l='MpServer', x=-1121,47, y=52,97, z=-117,22], EntitySquid['Squid'/323, l='MpServer', x=-1104,00, y=51,63, z=-113,22], EntitySquid['Squid'/324, l='MpServer', x=-1109,03, y=50,00, z=-110,63], EntitySquid['Squid'/327, l='MpServer', x=-1120,75, y=46,34, z=-110,34], EntitySquid['Squid'/334, l='MpServer', x=-1120,59, y=53,31, z=-108,25], EntitySquid['Squid'/335, l='MpServer', x=-1105,31, y=52,53, z=-113,88], EntitySkeleton['Skeleton'/355, l='MpServer', x=-1088,50, y=25,00, z=-249,13], EntitySkeleton['Skeleton'/356, l='MpServer', x=-1095,50, y=23,00, z=-242,50], EntitySkeleton['Skeleton'/357, l='MpServer', x=-1096,50, y=23,00, z=-241,50], EntityZombie['Zombie'/359, l='MpServer', x=-1093,19, y=22,00, z=-246,31], EntitySkeleton['Skeleton'/361, l='MpServer', x=-1092,53, y=22,00, z=-225,50], EntitySquid['Squid'/362, l='MpServer', x=-1101,44, y=47,88, z=-230,63], EntitySquid['Squid'/363, l='MpServer', x=-1100,38, y=48,09, z=-229,22], EntityZombie['Zombie'/364, l='MpServer', x=-1097,50, y=22,00, z=-223,13], EntitySquid['Squid'/365, l='MpServer', x=-1106,00, y=51,06, z=-216,75], EntitySquid['Squid'/366, l='MpServer', x=-1093,72, y=54,91, z=-213,50], EntitySquid['Squid'/367, l='MpServer', x=-1099,53, y=50,72, z=-215,13], EntitySquid['Squid'/368, l='MpServer', x=-1093,41, y=54,88, z=-205,13], EntitySquid['Squid'/369, l='MpServer', x=-1094,25, y=52,19, z=-216,34], EntitySquid['Squid'/370, l='MpServer', x=-1094,97, y=56,69, z=-218,41], EntitySquid['Squid'/371, l='MpServer', x=-1100,69, y=49,75, z=-205,09], EntitySquid['Squid'/372, l='MpServer', x=-1099,28, y=53,00, z=-210,69], EntityBat['Bat'/373, l='MpServer', x=-1085,34, y=29,10, z=-156,20], EntitySquid['Squid'/374, l='MpServer', x=-1103,19, y=48,81, z=-146,69], EntitySquid['Squid'/375, l='MpServer', x=-1089,50, y=46,50, z=-147,88], EntitySquid['Squid'/376, l='MpServer', x=-1095,16, y=46,13, z=-140,22], EntitySquid['Squid'/377, l='MpServer', x=-1097,66, y=46,03, z=-149,00], EntitySquid['Squid'/378, l='MpServer', x=-1095,94, y=49,13, z=-144,78], EntitySquid['Squid'/379, l='MpServer', x=-1097,25, y=47,56, z=-141,66], EntitySquid['Squid'/380, l='MpServer', x=-1097,41, y=45,50, z=-140,50], EntitySquid['Squid'/381, l='MpServer', x=-1099,00, y=48,31, z=-143,81], EntitySquid['Squid'/382, l='MpServer', x=-1103,63, y=43,34, z=-137,25], EntitySquid['Squid'/383, l='MpServer', x=-1094,16, y=46,06, z=-145,00], EntitySquid['Squid'/384, l='MpServer', x=-1095,41, y=42,28, z=-146,75], EntitySquid['Squid'/385, l='MpServer', x=-1092,41, y=44,47, z=-137,22], EntitySquid['Squid'/386, l='MpServer', x=-1097,97, y=52,13, z=-136,09], EntitySquid['Squid'/387, l='MpServer', x=-1091,13, y=51,34, z=-132,47], EntitySquid['Squid'/388, l='MpServer', x=-1086,09, y=51,53, z=-132,28], EntitySquid['Squid'/389, l='MpServer', x=-1097,34, y=54,09, z=-142,25], EntitySquid['Squid'/390, l='MpServer', x=-1096,75, y=54,97, z=-135,28], EntitySquid['Squid'/391, l='MpServer', x=-1089,38, y=54,50, z=-138,47], EntitySquid['Squid'/392, l='MpServer', x=-1096,28, y=53,84, z=-134,31], EntitySquid['Squid'/393, l='MpServer', x=-1097,34, y=51,69, z=-137,72], EntitySquid['Squid'/394, l='MpServer', x=-1102,78, y=54,06, z=-131,97], EntitySquid['Squid'/395, l='MpServer', x=-1107,25, y=55,19, z=-132,13], EntitySquid['Squid'/396, l='MpServer', x=-1106,50, y=50,84, z=-132,81], EntitySquid['Squid'/397, l='MpServer', x=-1097,44, y=49,75, z=-125,28], EntitySquid['Squid'/398, l='MpServer', x=-1096,56, y=52,31, z=-129,38], EntitySquid['Squid'/399, l='MpServer', x=-1100,53, y=51,09, z=-123,38], EntityZombie['Zombie'/400, l='MpServer', x=-1087,72, y=20,00, z=-123,16], EntitySquid['Squid'/401, l='MpServer', x=-1092,78, y=53,41, z=-125,19], EntitySquid['Squid'/402, l='MpServer', x=-1101,72, y=55,09, z=-117,13], EntitySquid['Squid'/403, l='MpServer', x=-1105,16, y=52,88, z=-116,06], EntitySquid['Squid'/404, l='MpServer', x=-1096,84, y=53,28, z=-121,41], EntitySquid['Squid'/405, l='MpServer', x=-1095,66, y=51,13, z=-117,72], EntitySquid['Squid'/406, l='MpServer', x=-1090,59, y=51,00, z=-121,66], EntitySquid['Squid'/407, l='MpServer', x=-1101,44, y=51,16, z=-130,97], EntityEnderman['Enderman'/408, l='MpServer', x=-1091,50, y=19,00, z=-100,50], EntitySquid['Squid'/435, l='MpServer', x=-1072,66, y=55,28, z=-220,53], EntitySquid['Squid'/437, l='MpServer', x=-1079,09, y=51,66, z=-238,91], EntitySquid['Squid'/438, l='MpServer', x=-1071,31, y=48,75, z=-230,31], EntitySquid['Squid'/439, l='MpServer', x=-1075,09, y=49,88, z=-208,63], EntitySquid['Squid'/440, l='MpServer', x=-1076,66, y=54,56, z=-216,72], EntitySquid['Squid'/441, l='MpServer', x=-1085,69, y=52,75, z=-219,41], EntitySquid['Squid'/442, l='MpServer', x=-1070,19, y=54,09, z=-217,72], EntitySquid['Squid'/443, l='MpServer', x=-1077,31, y=53,13, z=-219,34], EntitySquid['Squid'/444, l='MpServer', x=-1079,75, y=53,47, z=-215,69], EntitySquid['Squid'/445, l='MpServer', x=-1075,91, y=50,00, z=-224,03], EntitySkeleton['Skeleton'/446, l='MpServer', x=-1079,50, y=43,00, z=-193,91], EntityCreeper['Creeper'/447, l='MpServer', x=-1079,44, y=27,00, z=-156,97], EntityCreeper['Creeper'/448, l='MpServer', x=-1082,34, y=26,00, z=-145,97], EntityCreeper['Creeper'/449, l='MpServer', x=-1082,50, y=26,00, z=-152,50], EntitySquid['Squid'/450, l='MpServer', x=-1081,53, y=59,22, z=-152,06], EntitySquid['Squid'/451, l='MpServer', x=-1087,16, y=60,44, z=-145,97], EntitySquid['Squid'/452, l='MpServer', x=-1076,38, y=61,03, z=-146,38], EntitySquid['Squid'/453, l='MpServer', x=-1078,06, y=57,66, z=-132,47], EntitySquid['Squid'/454, l='MpServer', x=-1071,25, y=59,16, z=-134,00], EntitySquid['Squid'/455, l='MpServer', x=-1083,81, y=61,00, z=-140,19], EntitySquid['Squid'/456, l='MpServer', x=-1082,91, y=57,56, z=-141,34], EntitySquid['Squid'/457, l='MpServer', x=-1080,00, y=62,41, z=-128,09], EntitySquid['Squid'/458, l='MpServer', x=-1073,63, y=57,47, z=-139,41], EntitySquid['Squid'/459, l='MpServer', x=-1070,03, y=56,28, z=-132,19], EntitySquid['Squid'/460, l='MpServer', x=-1073,38, y=59,81, z=-124,25], EntitySquid['Squid'/461, l='MpServer', x=-1084,47, y=61,16, z=-143,59], EntitySquid['Squid'/462, l='MpServer', x=-1070,28, y=58,03, z=-125,31], EntitySquid['Squid'/463, l='MpServer', x=-1079,97, y=56,63, z=-124,81], EntitySquid['Squid'/475, l='MpServer', x=-1067,75, y=45,38, z=-233,53], EntitySquid['Squid'/476, l='MpServer', x=-1062,66, y=46,91, z=-230,53], EntitySquid['Squid'/477, l='MpServer', x=-1062,09, y=48,09, z=-229,94], EntitySquid['Squid'/478, l='MpServer', x=-1065,38, y=49,00, z=-226,44], EntitySquid['Squid'/479, l='MpServer', x=-1066,00, y=50,97, z=-233,13], EntitySquid['Squid'/480, l='MpServer', x=-1067,03, y=51,47, z=-228,41], EntitySquid['Squid'/481, l='MpServer', x=-1061,25, y=47,78, z=-225,56], EntitySquid['Squid'/482, l='MpServer', x=-1055,13, y=50,53, z=-236,00], EntitySquid['Squid'/483, l='MpServer', x=-1071,38, y=48,06, z=-225,25], EntitySquid['Squid'/484, l='MpServer', x=-1070,53, y=49,38, z=-222,31], EntitySquid['Squid'/485, l='MpServer', x=-1053,84, y=47,75, z=-169,91], EntitySkeleton['Skeleton'/486, l='MpServer', x=-1064,44, y=24,00, z=-148,09], EntityCreeper['Creeper'/487, l='MpServer', x=-1065,50, y=29,00, z=-158,50], EntityBat['Bat'/488, l='MpServer', x=-1068,00, y=26,10, z=-155,69], EntityBat['Bat'/489, l='MpServer', x=-1070,31, y=25,04, z=-158,47], EntitySquid['Squid'/490, l='MpServer', x=-1067,75, y=61,81, z=-155,19], EntitySquid['Squid'/491, l='MpServer', x=-1075,97, y=58,72, z=-145,88], EntitySquid['Squid'/492, l='MpServer', x=-1069,88, y=60,47, z=-143,09], EntitySquid['Squid'/493, l='MpServer', x=-1074,84, y=62,41, z=-147,69], EntitySquid['Squid'/494, l='MpServer', x=-1067,38, y=59,09, z=-135,31], EntitySquid['Squid'/495, l='MpServer', x=-1062,66, y=57,66, z=-123,19], EntitySquid['Squid'/511, l='MpServer', x=-1056,31, y=48,25, z=-238,50]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:383) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2645) at net.minecraft.client.Minecraft.run(Minecraft.java:409) at net.minecraft.client.main.Main.main(Main.java:116) 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.8.9 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.8.0_73, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 490291800 bytes (467 MB) / 898105344 bytes (856 MB) up to 1717043200 bytes (1637 MB) JVM Flags: 0 total; IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94 FML: MCP 9.19 Powered by Forge 11.15.1.1744 6 mods loaded, 6 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.8.9-11.15.1.1744.jar) UCHIJAAAA Forge{11.15.1.1744} [Minecraft Forge] (forgeSrc-1.8.9-11.15.1.1744.jar) UCHIJAAAA Baubles{1.1.3.0} [baubles] (Baubles-1.8.9-1.1.3.0-deobf.jar) UCHIJAAAA excore{1.3.8} [EXCore] (bin) UCHIJAAAA armorsets{2.0} [Armor Sets] (bin) Loaded coremods (and transformers): GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.4.13084 Compatibility Profile Context 14.301.1001.0' Renderer: 'AMD Radeon HD 8570D' Launched Version: 1.8.9 LWJGL: 2.9.4 OpenGL: AMD Radeon HD 8570D GL version 4.4.13084 Compatibility Profile Context 14.301.1001.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: No 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 A8-6600K APU with Radeon(tm) HD Graphics [10:39:06] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:612]: #@!@# Game crashed! Crash report saved to: #@!@# C:\my\mcmodding\mods\Armor-Sets\1.8.9\run\.\crash-reports\crash-2016-02-24_10.39.06-client.txt AL lib: (EE) alc_cleanup: 1 device not closed Client proxy: public class ClientProxy implements IProxy { public static final String MODELLOCATIONKEY = "ItemsSet"; public static KeyBinding armorSetKeyBinding = new KeyBinding("key.armorsets.armor", Keyboard.KEY_F, "category.armorsets"); public static KeyBinding baublesSetKeyBinding = new KeyBinding("key.armorsets.baubles", Keyboard.KEY_G, "category.armorsets"); public static KeyBinding armorBaublesSetKeyBinding = new KeyBinding("key.armorsets.armorbaubles", Keyboard.KEY_V, "category.armorsets"); @Override public void preInit(FMLPreInitializationEvent event){ } @Override public void init(FMLInitializationEvent event){ ClientRegistry.registerKeyBinding(armorSetKeyBinding); ClientRegistry.registerKeyBinding(baublesSetKeyBinding); ClientRegistry.registerKeyBinding(armorBaublesSetKeyBinding); FMLCommonHandler.instance().bus().register(new KeyBindingsCheckEvent()); MinecraftForge.EVENT_BUS.register(new BakeModelEvent()); } @Override public void postInit(FMLPostInitializationEvent event){ } } BakeModelEvent: public class BakeModelEvent { @SubscribeEvent public void bake(ModelBakeEvent event){ event.modelRegistry.putObject(new ModelResourceLocation(ClientProxy.MODELLOCATIONKEY, ClientProxy.MODELLOCATIONKEY), new ItemItemsSetModel()); } } ISmartItemModel: public class ItemItemsSetModel implements ISmartItemModel { @Override public List<BakedQuad> getFaceQuads(EnumFacing facing){ return null; } @Override public List<BakedQuad> getGeneralQuads(){ return null; } @Override public boolean isAmbientOcclusion(){ return false; } @Override public boolean isGui3d(){ return false; } @Override public boolean isBuiltInRenderer(){ return false; } @Override public TextureAtlasSprite getParticleTexture(){ return null; } @Override public ItemCameraTransforms getItemCameraTransforms(){ return null; } @Override public IBakedModel handleItemState(ItemStack itemstack){ ItemStack[] items = ((ItemItemsSet) itemstack.getItem()).getItems(itemstack); ImmutableMap.Builder<String, IFlexibleBakedModel> parts = ImmutableMap.builder(); for(ItemStack item : items){ if(item != null){ IBakedModel model = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel(item); if(model instanceof IFlexibleBakedModel){ parts.put(item.toString(), (IFlexibleBakedModel) model); } else { parts.put(items.toString(), new IFlexibleBakedModel.Wrapper(model, DefaultVertexFormats.ITEM)); } } } return new MultiModel.Baked(null, parts.build()); } } And my item (do not worry about abstract, right click and information methods, i'm testing with items that override this class): public abstract class ItemItemsSet extends ItemItemsList { @Override public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer player){ if(!world.isRemote){ player.inventory.markDirty(); if(hasPlayerItems(player)){ ItemStack newItemstack = new ItemStack(this); setItems(newItemstack, getPlayerItems(player)); setPlayerItems(player, getItems(itemstack)); return newItemstack; } else { setPlayerItems(player, getItems(itemstack)); itemstack.stackSize = 0; return itemstack; } } return itemstack; } public abstract boolean hasPlayerItems(EntityPlayer player); public abstract ItemStack[] getPlayerItems(EntityPlayer player); public abstract void setPlayerItems(EntityPlayer player, ItemStack[] items); @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean debug){ list.add("---"); for(ItemStack item : getItems(itemstack)){ if(item == null){ list.add(""); } else { if(!GuiScreen.isShiftKeyDown()){ list.add(item.getDisplayName()); } else { list.addAll(item.getTooltip(player, debug)); } } list.add("---"); } } @Override @SideOnly(Side.CLIENT) public ModelResourceLocation getModel(ItemStack itemstack, EntityPlayer player, int useRemaining){ return new ModelResourceLocation(ClientProxy.MODELLOCATIONKEY, ClientProxy.MODELLOCATIONKEY); } }
-
ModelBakeEvent. Thanks! I'll try.
-
Only handleItemState will be called on the smart model, unless that method also returns a smart model, in which case that 2nd smart model will not be treated as smart. Ok. I'll leave them empty. Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel(stack). This will give you an IBakedModel, see below on how to use it in your ISmartItemmodel. That's what i was looking for! Thanks! You don't need to use Item.getModel at all. Ok. Why do you need them? I needed them, because i didn't know correct way to get models. No. IModel is "unbaked". The IModel is what you produce in the model loader, it will then be baked into the smart model (or any other baked model). But I think you should not use a custom loader after all, a smart model is the better choice. So, how should i register my ISmartItemModel then? Since you do this from an ISmartItemModel and you are getting baked models for the individual items already (see above), you can construct MultiModel.Baked directly. Pass null for "base" (or a base model such as a holder shell for the items) and the map of sub models as "parts". To make your models flexible (IFlexibleBakedModel) first check if they already are using instanceof, if not use IFlexibleBakedModel.Wrapper with DefaultVertexFormats.ITEM. Ok. Thank you!!! I'll try all that, and see how it goes!
-
[Solved] [1.8.9] Restricting Custom Enchants to Only Specified Item
Elix_x replied to PegBeard's topic in Modder Support
Idea below is one i just though of, isn't written anywhere and may cause problems: You can use EnumHelper to create new EnumEnchantmentType , and then use it in your enchantments and item. -
Then there's something null there (it should be obvious). Now, use your IDE's debug mode to see what actually is null.