Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.12] Rendering item from .obj not working!


Recommended Posts


I'm attempting to create a mod with blocks and items rendered using .obj files. I have been able to successfully render a block from an .obj file, but rendering an item is proving to be much more difficult, and it relentlessly shows up as the pink and black texture in game. I cannot figure out what I am doing wrong. 


Here is my item's class:

public ItemSonicScrewdriver() {
        setUnlocalizedName(OperationBlueBox.MODID + ".itemsonicscrewdriver");

    public void initModel() {
        ModelLoader.setCustomModelResourceLocation(this, 0, new ModelResourceLocation(getRegistryName(), "inventory"));


And here's how I've registered it in my ModItems class, which is then used in my ClientProxy:

    public static ItemSonicScrewdriver itemSonicScrewdriver;

    public static void initModels() {

I've also tried using someone's block states file that seemed to work for them:


  "forge_marker": 1,
  "defaults": {
    "textures": {
      "#itemsonicscrewdriver": "operationbluebox:items/sonicscrewdrivertexture"
    "model": "operationbluebox:itemsonicscrewdriver.obj"
  "variants": {
    "normal": [{}],
    "inventory": [{
      "transform": {
        "firstperson": {
          "translation": [0.1, 0, -0.3],
          "rotation": [ { "y": 130}, {"x": 0}, {"z": 0} ],
          "scale": 0.2
        "thirdperson": {
          "translation": [0.02, 0.05, -0.05],
          "rotation": [ { "y": 0}, {"x": -92}, {"z": 0} ],
          "scale": 0.07
        "gui": {
          "translation": [0, -0.1, 0],
          "scale": 0.16


And I have made sure to place the .obj and .mtl files in my models/block folder. All help is appreciated.

Link to comment
Share on other sites

10 hours ago, Matryoshika said:

You have to call OBJLoader.INSTANCE.addDomain(MODID) before you register you models

I have done so in my ClientProxy, so I'm sure this can't be the issue ... unless I did it wrong somehow.

    public void preInit(FMLPreInitializationEvent event) {


    public static void registerModels(ModelRegistryEvent event) {


I also find it weird that after running the Minecraft client, this shows in my console, which makes it seem as though it has loaded the .obj model, even though it does not show up in-game:

[FML]: OBJLoader.MaterialLibrary: key 'Ns' (model: 'operationbluebox:models/block/itemsonicscrewdriver.mtl') is not currently supported, skipping
[10:28:08] [main/INFO] [FML]: OBJModel: A color has already been defined for material 'itemsonicscrewdriver' in 'operationbluebox:models/block/itemsonicscrewdriver.mtl'. The color defined by key 'Ks' will not be applied!
[10:28:08] [main/INFO] [FML]: OBJLoader.MaterialLibrary: key 'Ke' (model: 'operationbluebox:models/block/itemsonicscrewdriver.mtl') is not currently supported, skipping
[10:28:08] [main/INFO] [FML]: OBJLoader.MaterialLibrary: key 'Ni' (model: 'operationbluebox:models/block/itemsonicscrewdriver.mtl') is not currently supported, skipping
[10:28:08] [main/INFO] [FML]: OBJLoader.MaterialLibrary: key 'illum' (model: 'operationbluebox:models/block/itemsonicscrewdriver.mtl') is not currently supported, skipping


Link to comment
Share on other sites

The errors are fine. It's just extra fanciness that the ObjLoader won't support
Is the item a purple/black cube?
Or is it just "empty"?

Oh, and you should put the OBjLoader#addDomain call inside the registerModels method, before you call ModBlocks.initModels().

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

Link to comment
Share on other sites

Check that the obj file is decorated at some point with the field usemtl itemsonicscrewdriver and that the mtl is decorated with the field newmtl itemsonicscrewdriver and that there is a definition for said material. 


To rule out whether it is a problem taking root in the way the JSON file is written or a problem in the obj and mtl files, remove temporarily the application of the texture in the JSON file and try to apply the texture in the mtl file instead by decorating at the end of the material definition (in the mtl file) with map_Kd operationbluebox:items/sonicscrewdrivertexture.


Edit: Does your object extends from item or from block? Because the model appears to be loaded from the block models according to the log, but the naming used gives the impression that it is an item. If it is a block, it also needs to be registered as an item as far as I'm concerned. Sometimes, when one fails to register the item form of a block, the texture appears well in the inventory and when in hand, but when the block is placed in the world, the texture is purple and black. And no error appears on the log. That's why I ask.

Edited by ctbe
Link to comment
Share on other sites

So my .obj file was exported from blender, and has the field mtllib itemsonicscrewdriver.mtl which seems to work, since it does give information on the .mtl file in the console log. Section of my .obj file:


# Blender v2.78 (sub 0) OBJ File: ''
# www.blender.org
mtllib itemsonicscrewdriver.mtl
o SonicScrewdriverReal
v 0.125000 5.000000 0.125001
v -0.125000 -0.000000 0.125000

And I already did have the map_Kd operationbluebox:items/sonicscrewdrivertexture in my .mtl file. Is this problematic to have the texture applied in both the .mtl file and the .json blockstate file? I tried running the mod once with only the texture defined in the .json, and once with it only defined in the .mtl, but neither worked. My .mtl file:


# Blender MTL File: 'None'
# Material Count: 1

newmtl itemsonicscrewdriver
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd operationbluebox:items/sonicscrewdrivertexture



And I'm trying to register this model as an item only, but I'm also trying to have it use a blockstate file in order to add rotations and other information to the model. 


I'm pretty certain that the model isn't working because I've done something wrong with the .json in the blockstates folder, but I'm not entirely sure.

Link to comment
Share on other sites

Hi there,



So, I have to pull back my "having probably the same problem" reply, because I found what was wrong at my side: î 

Thats right. As some might have noticed, my mod may end up with something that starts with "ianus".  And while being sad that nothing worked at my side, I noticed that the blockfile.json for that .obj I created was oddly out of sorting, at the very bottom of its folder, while it should have been somewhere in the middle. 

Turns out, I somehow hit the stargate-key at my keyboard when writing the blockstates filename, so instead of   i   I got an   î  .... now try to spot this with monitors keep on growing and growing. 


Anyway, one thing from my original post remains: 


Regarding the "no error log", I had a similiar experience, but than one of the veterans from forge pointed out that I do use a forge version where the model problem log output was broken.

At the moment my forge is... 2402. You may try updating, if you haven't, to get some more error output.


Now... hoping for helping hands too,


Confused Merlin

Edited by ConfusedMerlin
found my problem, and its unlikely to be his too
Link to comment
Share on other sites

  • 7 months later...

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.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • nvm tried it with jre1.8 worked 
    • [26Jan2022 15:37:29.873] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--gameDir, ., --launchTarget, fmlserver, --fml.forgeVersion, 35.1.37, --fml.mcpVersion, 20201102.104115, --fml.mcVersion, 1.16.4, --fml.forgeGroup, net.minecraftforge] [26Jan2022 15:37:29.883] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 8.0.9+86+master.3cf110c starting: java version 11.0.14 by Oracle Corporation [26Jan2022 15:37:30.796] [main/INFO] [net.minecraftforge.fml.loading.FixSSL/CORE]: Added Lets Encrypt root certificates as additional trust [26Jan2022 15:37:30.921] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.2 Source=file:/C:/Users/Monke/AppData/Roaming/.minecraft/SERVERS/sf3/libraries/org/spongepowered/mixin/0.8.2/mixin-0.8.2.jar Service=ModLauncher Env=SERVER [26Jan2022 15:37:31.771] [main/INFO] [STDERR/]: [jdk.nashorn.api.scripting.NashornScriptEngine:<init>:143]: Warning: Nashorn engine is planned to be removed from a future JDK release [26Jan2022 15:37:32.530] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'fmlserver' with arguments [--gameDir, .] [26Jan2022 15:37:32.684] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: java.lang.NoSuchMethodError: sun.security.util.ManifestEntryVerifier.<init>(Ljava/util/jar/Manifest;)V [26Jan2022 15:37:32.685] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at cpw.mods.modlauncher.SecureJarHandler.createCodeSource(SecureJarHandler.java:66) [26Jan2022 15:37:32.685] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at cpw.mods.modlauncher.TransformingClassLoader$DelegatedClassLoader.findClass(TransformingClassLoader.java:275) [26Jan2022 15:37:32.686] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:136) [26Jan2022 15:37:32.687] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:98) [26Jan2022 15:37:32.688] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) [26Jan2022 15:37:32.688] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at java.base/java.lang.Class.forName0(Native Method) [26Jan2022 15:37:32.690] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at java.base/java.lang.Class.forName(Class.java:398) [26Jan2022 15:37:32.691] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at net.minecraftforge.fml.loading.FMLServerLaunchProvider.lambda$launchService$0(FMLServerLaunchProvider.java:51) [26Jan2022 15:37:32.691] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [26Jan2022 15:37:32.692] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [26Jan2022 15:37:32.692] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [26Jan2022 15:37:32.693] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [26Jan2022 15:37:32.694] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [26Jan2022 15:37:32.695] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at net.minecraftforge.server.ServerMain$Runner.runLauncher(ServerMain.java:63) [26Jan2022 15:37:32.695] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at net.minecraftforge.server.ServerMain$Runner.access$100(ServerMain.java:60) [26Jan2022 15:37:32.695] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]:     at net.minecraftforge.server.ServerMain.main(ServerMain.java:57)
    • I also getting issues with installing Forge serve i also try to remove 5 time java  nd reinstall when i select forge server they said Failed to download version manifest, can not find server jar URL. how i fix this JVM info: Eclipse Adoptium - 17.0.1 - 17.0.1+12 java.net.preferIPv4Stack=true Found java version 17.0.1 <html><a href='https://www.creeperhost.net/'>Data kindly mirrored by CreeperHost</a></html> Considering minecraft server jar javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)     at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:370)     at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:313)     at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:308)     at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1357)     at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1232)     at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1175)     at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)     at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480)     at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:458)     at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:200)     at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)     at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1500)     at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1415)     at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450)     at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421)     at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:580)     at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)     at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665)     at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)     at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529)     at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:308)     at net.minecraftforge.installer.DownloadUtils.getConnection(DownloadUtils.java:243)     at net.minecraftforge.installer.DownloadUtils.downloadManifest(DownloadUtils.java:307)     at net.minecraftforge.installer.json.Util.getVanillaVersion(Util.java:73)     at net.minecraftforge.installer.actions.ServerInstall.run(ServerInstall.java:86)     at net.minecraftforge.installer.InstallerPanel.run(InstallerPanel.java:423)     at net.minecraftforge.installer.SimpleInstaller.launchGui(SimpleInstaller.java:175)     at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:147) Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)     at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)     at java.base/sun.security.validator.Validator.validate(Validator.java:264)     at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)     at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)     at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1341)     ... 24 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)     at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)     at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)     at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)     ... 29 more Failed to download version manifest, can not find server jar URL.    
    • crash report: https://pastebin.com/DAAFEVzq  this is the crash report of my friend, we both start up a forge server 36.2.22, to me works just fine, but to him instantly crashes at start up java i used: adoptium jdk 8 java he used: latest java 8 64 bit and also tried with adoptium jdk 8
    • I've been struggling with setting up a 1.16.5 Minecraft server, I've done this before and never had issues..  Every time I try to open the ForgeServer.jar file to launch the server with, nothing happens. And when I try to run it through the linked bat file, I get the following: https://imgur.com/X1K3jd1 I have java 8 version 321 installed and am using the latest Forge 1.16.5-36.2.23 on both client and server. I'm not sure what I'm doing wrong here. I previously had the wrong java installed, which is now fixed. I've tried to remake the server several times, re-installed Minecraft and java and used Jarfix.  I'll also include a picture of the server files to know the file names etc, don't know if that may help or not. Written in the Run.bat: java -Xmx4G -Xms4G -jar ForgeServer.jar nogui Pause https://imgur.com/Sq9k0Ws
  • Topics

  • Who's Online (See full list)

  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.