• 8/25/26 10:16 am
- 10 views
- 3
- 2
39
Just wanted to share a neat trick I picked up while messing around with mod production.
Honestly, I'm completely sick of JSON restrictions in 1.20.1 and older versions. Sometimes, OBJ models are the only way to save your sanity.
Here is the raw truth and a few brutal facts about handling OBJs.
The Ugly Truth: Minecraft Hates OBJs:
Any AI (even) would tell you that it is terribly optimized, even for tris∇∇∇. A decent low-poly model usually takes around 1k–5k tris. Be fully aware: spamming OBJs will absolutely destroy your FPS!
The Setup (1.20.1)
Good news: you don’t need any custom renderers. Just use the Forge loader and point to your model:
The cleanest folder structure:
Put your standard JSONs (to overwrite rendering) in the main folder, and create an:
The MTL Nightmare
Blender's MTL features are mostly ignored by Minecraft. Stick only to these basics:
The Workflow Rule: Screw Blockbench!!!After All
OBJ models may look awesome but they are incredibly heavy on the game's real-time light calculations. (especially with shaders!!!) Keep them as low-poly as humanly possible.
Do not replace every single mod item with an OBJ, or you will turn your mod into a laggy, unplayable hell.
This is advanced tech for people who actually know what they are doing and just want to fix their workflow.But I have a present for everybody who read till the end: 🦆
Honestly, I'm completely sick of JSON restrictions in 1.20.1 and older versions. Sometimes, OBJ models are the only way to save your sanity.
Here is the raw truth and a few brutal facts about handling OBJs.
Any AI (even) would tell you that it is terribly optimized, even for tris∇∇∇. A decent low-poly model usually takes around 1k–5k tris. Be fully aware: spamming OBJs will absolutely destroy your FPS!
The Setup (1.20.1)
Good news: you don’t need any custom renderers. Just use the Forge loader and point to your model:
it's an already built-in thing:
"loader": "forge:obj"
The cleanest folder structure:
Put your standard JSONs (to overwrite rendering) in the main folder, and create an:
"obj" subfolder right next to them to store your .obj and .mtl files.The MTL Nightmare
Blender's MTL features are mostly ignored by Minecraft. Stick only to these basics:mtl example
newmtl "model_name" # MUST match your OBJ model name exactly
Ka 0.0 0.0 0.0 # Ambient (Google it if you care)
Kd 1.0 1.0 1.0 # Diffuse
Ks 0.0 0.0 0.0 # Specular
map_Kd "modID:path/texture" # Your UV map. Diffuse ONLY. No normals, no speculars.
Ns 10.0 # I don't remember what this is
d 1.0 # Transparency. Keep it at 1.0. MC hates anything else.
Ka 0.0 0.0 0.0 # Ambient (Google it if you care)
Kd 1.0 1.0 1.0 # Diffuse
Ks 0.0 0.0 0.0 # Specular
map_Kd "modID:path/texture" # Your UV map. Diffuse ONLY. No normals, no speculars.
Ns 10.0 # I don't remember what this is
d 1.0 # Transparency. Keep it at 1.0. MC hates anything else.
The Workflow Rule: Screw Blockbench!!!
- Modeling: Never use Blockbench to create the OBJ. The model will completely break and refuse to work. Use Blenderdone_outline.
- Positioning: Here is where Blockbench actually helps. Use it to guess and adjust the object's position relative to native JSON dimensions, so you don't have to do it blindly.
- JSON Power: Your rendering JSON file can still use all standard features, like specific display overwrites for GUI, item frames, or ground drops.
After All
OBJ models may look awesome but they are incredibly heavy on the game's real-time light calculations. (especially with shaders!!!) Keep them as low-poly as humanly possible.Do not replace every single mod item with an OBJ, or you will turn your mod into a laggy, unplayable hell.
This is advanced tech for people who actually know what they are doing and just want to fix their workflow.But I have a present for everybody who read till the end: 🦆
Comments are disabled.
7031016
6


