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'm using Mcjty's tutorial for rendering Tile Entity with a custom OBJ model, but my model just won't get loaded, the log tells me: Exception loading model with loader VanillaLoader.INSTANCE, than it skips loading the .obj file and goes and tries to find .obj.json file which doesn't exist.

The Log

It looks like you didn't call OBJLoader#addDomain for your mod's resource domain, so the OBJ loader wasn't loading models in that domain.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

  • Author

I have it in my ClientProxy:

public class ClientProxy extends CommonProxy {

    @Override
    public void preInit(FMLPreInitializationEvent e) {
        super.preInit(e);
        OBJLoader.INSTANCE.addDomain(Constants.MODID);
        BlocksUtil.initModels();
    }

    @Override
    public void init(FMLInitializationEvent e) {
        super.init(e);
    }
}

I even tried to put just MODID instead of Constants.MODID

Edited by Terrails

Does the directory that contains the OBJ model also contain the MTL file referenced by the OBJ model and is the file name correct?

It seems like you don't have a blockstate file or the blockstate file is wrong. Can post that please if it exists.

  • Author

I have the blockstate file and its name is pedestalblock.json, thats the registry name of the block too.

{
  "forge_marker": 1,
  "defaults": {
    "custom": { "flip-v": true },
    "model": "minedustry:pedestal.obj"
  },
  "variants": {
    "normal": [{}],
    "inventory": [{}]
  }
}

Game loads but the block is invisible

Edited by Terrails

The texture is something I cant help you with as I have very little knowledge on OBJ models.

You override Block#shouldSideBeRendered to return false, so no sides of your block's model are rendered.

 

What does your TESR render? Post your TESR class.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

On closer inspection, overriding Block#shouldSideBeRendered to return false won't affect an OBJ model as OBJModel.OBJBakedModel always returns an empty list from IBakedModel#getQuads when the EnumFacing isn't null.

 

Are you sure ClientProxy#preInit is being called? Set a breakpoint in it to make sure.

 

Set a breakpoint in OBJLoader#loadModel. Is it ever called for your pedestal model?

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

  • Author

Weird looks like it wasn't getting called. I'm not using Constants for proxy defining again!

I moved the String from Constants straight to the MainClass.

Works perfectly. Thanks for the help!

Edited by Terrails

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.