Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

I made a model in Cinema 4D for my mod, UV mapped it and exported it to OBJ format. I registered it in my model class, and when I start the game, it crashes with the following error:

net.minecraftforge.client.model.ModelFormatException: Error parsing entry ('v -500 -6.319035 6.319', line 5) in file '/assets/majyyka/models/wand.obj' - Incorrect format
at net.minecraftforge.client.model.obj.WavefrontObject.parseVertex(WavefrontObject.java:314)
at net.minecraftforge.client.model.obj.WavefrontObject.loadObjModel(WavefrontObject.java:91)
at net.minecraftforge.client.model.obj.WavefrontObject.<init>(WavefrontObject.java:55)
at net.minecraftforge.client.model.obj.ObjModelLoader.loadInstance(ObjModelLoader.java:28)
at net.minecraftforge.client.model.AdvancedModelLoader.loadModel(AdvancedModelLoader.java:70)
at majyyka.client.ModelWand.<init>(ModelWand.java:23)
at majyyka.client.ItemWandRenderer.<init>(ItemWandRenderer.java:30)
at majyyka.core.proxy.ClientProxy.initRendering(ClientProxy.scala:18)
at majyyka.Majyyka$.init(Majyyka.scala:76)
at majyyka.Majyyka.init(Majyyka.scala)
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 cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:540)
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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:194)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:174)
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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:105)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:696)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:231)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:507)
at net.minecraft.client.Minecraft.run(Minecraft.java:806)
at net.minecraft.client.main.Main.main(Main.java:93)
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:57)
at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

 

I can import and view the model in 3DS Max, so I don't know what is wrong with my OBJ file and/or Forge.

 

https://github.com/myoKun345/Majyyka/blob/master/resources/assets/majyyka/models/wand.obj

https://github.com/myoKun345/Majyyka/blob/master/majyyka_common/majyyka/client/ModelWand.java

https://github.com/myoKun345/Majyyka/blob/master/majyyka_common/majyyka/client/ItemWandRenderer.java

Did you use advancedobjectimporter ? If so you should look at the class for the object importer, and figure out if you used bas syntax. I haven't personally used it but I know a bit about it. (I'm a bad artist, I use techne :()

  • Author

I used AdvancedModelLoader (I was sort of half-following Minalien's tutorial for OBJ models; that tutorial is for blocks and this is an item so it is entirely possible I just screwed something up T-T) and I will look at that just in case. I also looked at Pahimar's code for some reference.

  • Author

Wow this model loader code is barely decipherable to me...

 

Looking at EE3's obj files vs. mine I'm only seeing that his don't have the automatically exported material lines like mine does. I don't think I need it so I'll try deleting it.

 

EDIT: Yeah, no difference.

  • Author

Exporting the obj from 3ds Max results in the crash still happening... but later in the file.

 

net.minecraftforge.client.model.ModelFormatException: Error parsing entry ('f 11/8/11 6/7/12 1/6/12', line 130) in file '/assets/majyyka/models/wand.obj' - Invalid number of points for face (expected 4, found 3)
at net.minecraftforge.client.model.obj.WavefrontObject.parseFace(WavefrontObject.java:396)
at net.minecraftforge.client.model.obj.WavefrontObject.loadObjModel(WavefrontObject.java:121)
at net.minecraftforge.client.model.obj.WavefrontObject.<init>(WavefrontObject.java:55)
at net.minecraftforge.client.model.obj.ObjModelLoader.loadInstance(ObjModelLoader.java:28)
at net.minecraftforge.client.model.AdvancedModelLoader.loadModel(AdvancedModelLoader.java:70)
at majyyka.client.ModelWand.<init>(ModelWand.java:23)
at majyyka.client.ItemWandRenderer.<init>(ItemWandRenderer.java:30)
at majyyka.core.proxy.ClientProxy.initRendering(ClientProxy.scala:18)
at majyyka.Majyyka$.init(Majyyka.scala:76)
at majyyka.Majyyka.init(Majyyka.scala)
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 cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:540)
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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:194)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:174)
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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
at com.google.common.eventbus.EventBus.post(EventBus.java:267)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:105)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:696)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:231)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:507)
at net.minecraft.client.Minecraft.run(Minecraft.java:806)
at net.minecraft.client.main.Main.main(Main.java:93)
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:57)
at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

  • Author

It's not line 5 anymore - see above lol

 

I'm trying to go through and find which ones are breaking it and comment those out. Very tedious and I expect it won't turn out to look good...

  • Author

I've noticed that all of the lines that it errors on are triangles. And I have no clue what to do now.

 

EDIT: They may not actually be triangles, but the lines have 3 "x/x/x"s instead of 4 like the others.

  • Author

Ok, problem fixed, Forge just can't read triangles. Re-exported it from Cinema 4D into FBX (which it has better support for) which I exported to OBJ in 3ds Max.  :)

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

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.