Posted December 2, 20177 yr Hey, I have encountered another Problem whilst trying to render an custom OBJ Model as Item. The console once again tells me no Errors, but my Item wont Show up in the Game. Blockstate File (this should be right, as I got missing Location Errors until I added this): { "forge_marker": 1, "defaults": { "textures":{}, "model": "zeldadungeons:small_key.obj" }, "display":{} } I wont include the obj model file as it is 6000 lines Long. This is the .mtl file, referencing my texture: # Blender MTL File: 'None' # Material Count: 1 newmtl Material.001 Ns 94.117647 Ka 1.000000 1.000000 1.000000 Kd 0.125947 0.125947 0.125947 Ks 0.022227 0.022227 0.022227 Ke 0.000000 0.000000 0.000000 Ni 1.000000 d 1.000000 illum 2 map_Kd zeldadungeons:items/small_key
December 2, 20177 yr Have you told Minecraft that you need an OBJ model? OBjLoader::loadModel Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
December 2, 20177 yr Author 23 minutes ago, Draco18s said: Have you told Minecraft that you need an OBJ model? OBjLoader::loadModel No, I haven't. In fact, I do not even know where I should call it? Do I Need to do it in the class that Registers my models? package net.zeldadungeons.init; import net.zeldadungeons.ZeldaDungeons; import net.zeldadungeons.init.blocks.BlockPressureSwitch; import net.zeldadungeons.util.MeshDefinitionFix; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.ItemMeshDefinition; import net.minecraft.client.renderer.block.model.ModelBakery; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.model.obj.OBJLoader; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.relauncher.Side; @Mod.EventBusSubscriber(value = Side.CLIENT, modid = ZeldaDungeons.MODID) public class Modelizer { public static final Modelizer INSTANCE = new Modelizer(); @SubscribeEvent public static void registerAll(final ModelRegistryEvent e) { INSTANCE.registerItemModels(); INSTANCE.registerBlockModels(); } private void registerItemModels() { registerItemModel(Itemizer.FAIRY_SLINGSHOT); registerItemModel(Itemizer.SMALL_KEY); } private void registerBlockModels() { registerBlockItemModel(Blockizer.PRESSURE_SWITCH.getDefaultState()); } private void registerItemModel(Item item) { final ModelResourceLocation resource = new ModelResourceLocation(item.getRegistryName(), "inventory"); ModelLoader.setCustomModelResourceLocation(item, 0, resource); } private void registerBlockItemModel(final IBlockState state) { final Block block = state.getBlock(); final Item item = Item.getItemFromBlock(block); if (item != Items.AIR) { registerItemModel(item); } } } I already added the Domain of my Mod to the ObjLoader. Edited December 2, 20177 yr by ArmamentHaki
December 2, 20177 yr I believe it is used instead of ModelLoader.setCustomModelResourceLocation. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
December 2, 20177 yr Author It crashes when I do so: Spoiler 2017-12-02 22:43:05,973 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream 2017-12-02 22:43:05,978 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream [22:43:06] [main/INFO] [GradleStart]: Extra: [] [22:43:06] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/luca/.gradle/caches/minecraft/assets, --assetIndex, 1.12, --accessToken{REDACTED}, --version, 1.12.2, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker] [22:43:06] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker [22:43:06] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker [22:43:06] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker [22:43:06] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker [22:43:07] [main/INFO] [FML]: Forge Mod Loader version 14.23.0.2491 for Minecraft 1.12.2 loading [22:43:07] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_131, running on Windows 7:amd64:6.1, installed at C:\Program Files\Java\jdk1.8.0_131\jre [22:43:07] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation [22:43:07] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLCorePlugin (net.minecraftforge.fml.relauncher.FMLCorePlugin), we are in deobf and it's a forge core plugin [22:43:07] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLForgePlugin (net.minecraftforge.classloading.FMLForgePlugin), we are in deobf and it's a forge core plugin [22:43:07] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker [22:43:07] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin [22:43:07] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin [22:43:07] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [22:43:07] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker [22:43:07] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker [22:43:07] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [22:43:07] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [22:43:07] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper 2017-12-02 22:43:08,133 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream 2017-12-02 22:43:08,730 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream 2017-12-02 22:43:08,732 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream [22:43:11] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing [22:43:11] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper [22:43:11] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker [22:43:12] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker [22:43:12] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker [22:43:12] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker [22:43:12] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main} [22:43:15] [main/INFO]: Setting user: Player434 [22:43:24] [main/WARN]: Skipping bad option: lastServer: [22:43:24] [main/INFO]: LWJGL Version: 2.9.4 [22:43:28] [main/INFO] [FML]: -- System Details -- Details: Minecraft Version: 1.12.2 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.8.0_131, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 769408200 bytes (733 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: Loaded coremods (and transformers): GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.2.11481 Compatibility Profile Context' Renderer: 'AMD Radeon HD 7560D' [22:43:28] [main/INFO] [FML]: MinecraftForge v14.23.0.2491 Initialized [22:43:28] [main/INFO] [FML]: Starts to replace vanilla recipe ingredients with ore ingredients. [22:43:29] [main/INFO] [FML]: Replaced 1036 ore ingredients [22:43:30] [main/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer [22:43:30] [main/INFO] [FML]: Searching C:\Users\luca\Diebe im Olymp CD\Desktop\ZeldaDungeons\run\mods for mods [22:43:30] [main/INFO] [zeldadungeons]: Mod zeldadungeons is missing the required element 'name'. Substituting zeldadungeons [22:43:32] [Thread-3/INFO] [FML]: Using sync timing. 200 frames of Display.update took 250065398 nanos [22:43:32] [main/INFO] [FML]: Forge Mod Loader has identified 5 mods to load [22:43:33] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, zeldadungeons] at CLIENT [22:43:33] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, zeldadungeons] at SERVER [22:43:34] [main/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:zeldadungeons [22:43:35] [main/INFO] [FML]: Processing ObjectHolder annotations [22:43:35] [main/INFO] [FML]: Found 1172 ObjectHolder annotations [22:43:35] [main/INFO] [FML]: Identifying ItemStackHolder annotations [22:43:35] [main/INFO] [FML]: Found 0 ItemStackHolder annotations [22:43:35] [main/INFO] [FML]: Configured a dormant chunk cache size of 0 [22:43:35] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json [22:43:35] [main/INFO] [zeldadungeons]: PreInitialization - ZeldaDungeons [22:43:35] [main/INFO] [FML]: OBJLoader: Domain zeldadungeons has been added. [22:43:35] [main/INFO] [FML]: Applying holder lookups [22:43:35] [main/INFO] [FML]: Holder lookups applied [22:43:35] [main/INFO] [zeldadungeons]: initItems [22:43:35] [main/INFO] [FML]: Applying holder lookups [22:43:35] [main/INFO] [FML]: Holder lookups applied [22:43:35] [main/INFO] [FML]: Applying holder lookups [22:43:35] [main/INFO] [FML]: Holder lookups applied [22:43:36] [main/ERROR] [FML]: Exception caught during firing event net.minecraftforge.client.event.ModelRegistryEvent@1a787480: java.lang.Error: Unresolved compilation problem: Unhandled exception type Exception at net.zeldadungeons.init.Modelizer.registerItemObjModel(Modelizer.java:58) ~[Modelizer.class:?] at net.zeldadungeons.init.Modelizer.registerItemModels(Modelizer.java:33) ~[Modelizer.class:?] at net.zeldadungeons.init.Modelizer.registerAll(Modelizer.java:27) ~[Modelizer.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_8_Modelizer_registerAll_ModelRegistryEvent.invoke(.dynamic) ~[?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus$1.invoke(EventBus.java:143) ~[EventBus$1.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?] at net.minecraftforge.fml.client.FMLClientHandler.fireSidedRegistryEvents(FMLClientHandler.java:1091) [FMLClientHandler.class:?] at net.minecraftforge.fml.common.FMLCommonHandler.fireSidedRegistryEvents(FMLCommonHandler.java:757) [FMLCommonHandler.class:?] at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:606) [Loader.class:?] at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:266) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.init(Minecraft.java:508) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:416) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_131] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131] 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_131] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_131] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:26) [start/:?] [22:43:36] [main/ERROR] [FML]: Index: 1 Listeners: [22:43:36] [main/ERROR] [FML]: 0: NORMAL [22:43:36] [main/ERROR] [FML]: 1: net.minecraftforge.fml.common.eventhandler.EventBus$1@707004b6 [22:43:36] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:630]: ---- Minecraft Crash Report ---- // I bet Cylons wouldn't have this problem. Time: 12/2/17 10:43 PM Description: Initializing game java.lang.Error: Unresolved compilation problem: Unhandled exception type Exception at net.zeldadungeons.init.Modelizer.registerItemObjModel(Modelizer.java:58) at net.zeldadungeons.init.Modelizer.registerItemModels(Modelizer.java:33) at net.zeldadungeons.init.Modelizer.registerAll(Modelizer.java:27) at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_8_Modelizer_registerAll_ModelRegistryEvent.invoke(.dynamic) at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) at net.minecraftforge.fml.common.eventhandler.EventBus$1.invoke(EventBus.java:143) at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) at net.minecraftforge.fml.client.FMLClientHandler.fireSidedRegistryEvents(FMLClientHandler.java:1091) at net.minecraftforge.fml.common.FMLCommonHandler.fireSidedRegistryEvents(FMLCommonHandler.java:757) at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:606) at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:266) at net.minecraft.client.Minecraft.init(Minecraft.java:508) at net.minecraft.client.Minecraft.run(Minecraft.java:416) at net.minecraft.client.main.Main.main(Main.java:118) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) 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(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) 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 -- Thread: Client thread Stacktrace: at net.zeldadungeons.init.Modelizer.registerItemObjModel(Modelizer.java:58) at net.zeldadungeons.init.Modelizer.registerItemModels(Modelizer.java:33) at net.zeldadungeons.init.Modelizer.registerAll(Modelizer.java:27) at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_8_Modelizer_registerAll_ModelRegistryEvent.invoke(.dynamic) at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) at net.minecraftforge.fml.common.eventhandler.EventBus$1.invoke(EventBus.java:143) at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) at net.minecraftforge.fml.client.FMLClientHandler.fireSidedRegistryEvents(FMLClientHandler.java:1091) at net.minecraftforge.fml.common.FMLCommonHandler.fireSidedRegistryEvents(FMLCommonHandler.java:757) at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:606) at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:266) at net.minecraft.client.Minecraft.init(Minecraft.java:508) -- Initialization -- Details: Stacktrace: at net.minecraft.client.Minecraft.run(Minecraft.java:416) at net.minecraft.client.main.Main.main(Main.java:118) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) 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(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) at GradleStart.main(GradleStart.java:26) -- System Details -- Details: Minecraft Version: 1.12.2 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.8.0_131, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 725625104 bytes (692 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP 9.42 Powered by Forge 14.23.0.2491 5 mods loaded, 5 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored | State | ID | Version | Source | Signature | |:----- |:------------- |:------------ |:-------------------------------- |:--------- | | UCH | minecraft | 1.12.2 | minecraft.jar | None | | UCH | mcp | 9.42 | minecraft.jar | None | | UCH | FML | 8.0.99.99 | forgeSrc-1.12.2-14.23.0.2491.jar | None | | UCH | forge | 14.23.0.2491 | forgeSrc-1.12.2-14.23.0.2491.jar | None | | UCH | zeldadungeons | alpha 1.0 | bin | None | Loaded coremods (and transformers): GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.2.11481 Compatibility Profile Context' Renderer: 'AMD Radeon HD 7560D' Launched Version: 1.12.2 LWJGL: 2.9.4 OpenGL: AMD Radeon HD 7560D GL version 4.2.11481 Compatibility Profile Context, ATI Technologies Inc. GL Caps: Using GL 1.3 multitexturing. Using GL 1.3 texture combiners. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Shaders are available because OpenGL 2.1 is supported. VBOs are available because OpenGL 1.5 is supported. Using VBOs: Yes Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: Current Language: English (United Kingdom) Profiler Position: N/A (disabled) CPU: 4x AMD A8-5500 APU with Radeon(tm) HD Graphics [22:43:36] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:630]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\luca\Diebe im Olymp CD\Desktop\ZeldaDungeons\run\.\crash-reports\crash-2017-12-02_22.43.36-client.txt Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release This is what I changed: package net.zeldadungeons.init; import net.zeldadungeons.ZeldaDungeons; import net.zeldadungeons.init.blocks.BlockPressureSwitch; import net.zeldadungeons.util.MeshDefinitionFix; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.ItemMeshDefinition; import net.minecraft.client.renderer.block.model.ModelBakery; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.model.obj.OBJLoader; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.relauncher.Side; @Mod.EventBusSubscriber(value = Side.CLIENT, modid = ZeldaDungeons.MODID) public class Modelizer { public static final Modelizer INSTANCE = new Modelizer(); @SubscribeEvent public static void registerAll(final ModelRegistryEvent e) { INSTANCE.registerItemModels(); INSTANCE.registerBlockModels(); } private void registerItemModels() { registerItemModel(Itemizer.FAIRY_SLINGSHOT); registerItemObjModel(Itemizer.SMALL_KEY); } private void registerBlockModels() { registerBlockItemModel(Blockizer.PRESSURE_SWITCH.getDefaultState()); } private void registerItemModel(Item item) { final ModelResourceLocation resource = new ModelResourceLocation(item.getRegistryName(), "inventory"); ModelLoader.setCustomModelResourceLocation(item, 0, resource); } private void registerBlockItemModel(final IBlockState state) { final Block block = state.getBlock(); final Item item = Item.getItemFromBlock(block); if (item != Items.AIR) { registerItemModel(item); } } private void registerItemObjModel(Item item) { final ModelResourceLocation resource = new ModelResourceLocation(item.getRegistryName(), "inventory"); OBJLoader.INSTANCE.loadModel(resource); } }
December 2, 20177 yr I haven't messed with using OBJ models myself, try searching the forums for OBjLoader Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
December 2, 20177 yr 3 hours ago, Draco18s said: Have you told Minecraft that you need an OBJ model? OBjLoader::loadModel That is used to manually load a model (Equivalent of ModelLoaderRegistry#getModel) To have the ObjLoader scan your resources, one needs to call OBJLoader::addDomain(modid) during either the ModelRegistryEvent or preInit. The former is preferred. Edited December 2, 20177 yr by Matryoshika Also previously known as eAndPi. "Pi, is there a station coming up where we can board your train of thought?" -Kronnn Published Mods: Underworld Handy links: Vic_'s Forge events Own WIP Tutorials.
December 2, 20177 yr Author 4 minutes ago, Matryoshika said: To have the ObjLoader scan your resources, one needs to call OBJLoader::addDomain(modid) I already called it, in the Log I posted it says "added zeldadungeons as a domain". Maybe it is a problem with the model itself? Edited December 2, 20177 yr by ArmamentHaki
December 2, 20177 yr I'm not sure how you are not getting any issues. Minecraft needs the variants for this block, which by default are "normal" and in the case of corresponding itemblocks, "inventory". This is how I usually write my blockstates for OBJ models. Though you'll likely won't need the "transform" block, and the "defaults": "model" should correspond to "forge:default-block" Also previously known as eAndPi. "Pi, is there a station coming up where we can board your train of thought?" -Kronnn Published Mods: Underworld Handy links: Vic_'s Forge events Own WIP Tutorials.
December 2, 20177 yr Author I was making an item and not a block. Aren't items supported? They should be.
December 2, 20177 yr Ah, misread. They are, and the execution is the same as the example blockstate I linked. Here, the sole variant used for items is "inventory". Also previously known as eAndPi. "Pi, is there a station coming up where we can board your train of thought?" -Kronnn Published Mods: Underworld Handy links: Vic_'s Forge events Own WIP Tutorials.
December 2, 20177 yr Author Huh, still invisible both on ground and in inventory. { "forge_marker": 1, "variants": { "inventory": [{ "model": "zeldadungeons:small_key.obj" }] } }
December 6, 20177 yr Author It doesn't work yet. Do I have to pay attention to something while exporting an obj file? Like, how big is it or how to properly unwrap the model? I would post a screenshot but it is simply invisible in my inventory... That means that forge somehow loads it but not the right way, doesn't it?
December 6, 20177 yr Perhaps. What program do you use to create the OBJ models? I know that in Blender, with default settings, a normal sized block corresponds to a cube at x 0.5 y -0.5 z 0.5 at scale 0.5. While I know that you are not using a block, this should help you narrow down issues with size and/or translation The ObjLoader also only support faces with a maximum of 4 vertices. Be sure to have the checkbox for "triangulate faces" marked, though issues with that should be logged. This could also be an issue with the texture. Are you applying the texture to the material, or to an actual UV-map? The second option is the one I use. Try setting the render to "textured" at the bottom of the screen, to get a (bad) preview of the model with texture. Also be sure that the Normals for this item are OK. If the model is rendered inside-out, you wouldn't be able to see it. Edited December 7, 20177 yr by Matryoshika Also previously known as eAndPi. "Pi, is there a station coming up where we can board your train of thought?" -Kronnn Published Mods: Underworld Handy links: Vic_'s Forge events Own WIP Tutorials.
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.