Jump to content

[SOLVEENIZED] help convert my json model to forge_marker 1 model


trollworkout

Recommended Posts

this is my multipart model  works PERFECTLY

 

 

{
    "multipart": [
        {   "apply": { "model": "technorcery:depositsVat" }},
        {   "when": { "north": "true" },
            "apply": { "model": "technorcery:depositsVat_spout", "uvlock": true }
        },
        {   "when": { "east": "true" },
            "apply": { "model": "technorcery:depositsVat_spout", "y": 90, "uvlock": true }
        },
        {   "when": { "south": "true" },
            "apply": { "model": "technorcery:depositsVat_spout", "y": 180, "uvlock": true }
        },
        {   "when": { "west": "true" },
            "apply": { "model": "technorcery:depositsVat_spout", "y": 270, "uvlock": true }
        }
    ]
}

 

 

 

 

this is what I have as forge_marker 1 forge's own blockstate model. DOES NO WORK AT ALL

 

 

{
    "forge_marker": 1,
    "defaults": {
        "model" : "forge:multi-layer",
        "custom": {
            "base": "technorcery:depositsVat#base",
            "Solid": "technorcery:depositsVat#base",
            "Translucent": "technorcery:depositsVat#water"
        },
    },
    "variants": {
        "normal": [{}],
        "inventory": [{}],
        "north": {
                "true": {
                     "submodel": {
                        "model" : "technorcery:depositsVat_spout",
                        "uvlock": true
                     }
                },
                "false": {
                }
            },
        "south": {
                "true": {
                     "submodel": {
                        "model" : "technorcery:depositsVat_spout",
                        "y": 90,
                        "uvlock": true
                     }
                },
                "false": {
                }
            },
        "east": {
                "true": {
                     "submodel": {
                        "model" : "technorcery:depositsVat_spout",
                        "y": 180,
                        "uvlock": true
                     }
                },
                "false": {
                }
            },
        "west": {
                "true": {
                     "submodel": {
                        "model" : "technorcery:depositsVat_spout",
                        "y": 270,
                        "uvlock": true
                     }
                },
                "false": {
                }
            },
        "base": [{
          "model": "technorcery:depositsVat"
        }],
        "water": [{
          "model": "technorcery:depositsVat_water"
        }]
    }
}

 

 

 

also for blockstate forge model what the heck do i Put as the type of model . nothing seems to work

        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(ModBlocks.DEPOSITS_VAT), 0, new ModelResourceLocation(ModBlocks.DEPOSITS_VAT.getRegistryName(), "WHAT TYPE OF MODEL IS THIS?????"));

Disclaimer:  I been told to keep my opinions to myself, to shut up and that I am spreading lies and misinformation or even that my methods are unorthodox and or too irregular. Here are my suggestions take it or leave it.

Link to comment
Share on other sites

First and foremost:

Your forge-blockstate json is incorrect. Please verify your models with JSON validators. I recommend JSONLint which is purely online. It can be found here: http://jsonlint.com/

 

Secondly: you need to read up on how Minecraft's modeling system works.

You are supposed to use "normal" & "inventory" as the "containers" for your model, unless you properly know what you are doing.

The "north", "south" etc variants go IN these.

 

I make use of Forge's multi-layer (on a very basic level) here. The multi-layer points to another blockstate file, though you can of course reference other models directly instead.

 

 

also for blockstate forge model what the heck do i Put as the type of model . nothing seems to work

        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(ModBlocks.DEPOSITS_VAT), 0, new ModelResourceLocation(ModBlocks.DEPOSITS_VAT.getRegistryName(), "WHAT TYPE OF MODEL IS THIS?????"));

The mentioned "normal", "inventory" or your own custom variants, go in the, and to quote- "WHAT TYPE OF MODEL IS THIS?????".

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

I did all you said. Fixed it up still not working

 

 

 

{
    "forge_marker": 1,
    "defaults": {
        "model": "forge:multi-layer"
    },
    "variants": {
        "normal": [{
            "custom": {
                "base": "technorcery:depositsVat#base",
                "Solid": "technorcery:depositsVat#base",
                "Translucent": "technorcery:depositsVat#water"
            },
            "north": {
                "true": {
                    "submodel": {
                        "model": "technorcery:depositsVat_spout",
                        "uvlock": true
                    }
                },
                "false": {}
            },
            "south": {
                "true": {
                    "submodel": {
                        "model": "technorcery:depositsVat_spout",
                        "y": 90,
                        "uvlock": true
                    }
                },
                "false": {}
            },
            "east": {
                "true": {
                    "submodel": {
                        "model": "technorcery:depositsVat_spout",
                        "y": 180,
                        "uvlock": true
                    }
                },
                "false": {}
            },
            "west": {
                "true": {
                    "submodel": {
                        "model": "technorcery:depositsVat_spout",
                        "y": 270,
                        "uvlock": true
                    }
                },
                "false": {}
            }
        }],
        "inventory": [{}],

        "base": [{
            "model": "technorcery:depositsVat"
        }],
        "water": [{
            "model": "technorcery:depositsVat_water"
        }]
    }
}

 

Disclaimer:  I been told to keep my opinions to myself, to shut up and that I am spreading lies and misinformation or even that my methods are unorthodox and or too irregular. Here are my suggestions take it or leave it.

Link to comment
Share on other sites

Yep console says it can't find north south east west properties. Although they are there. Is something to do with code. I don't think a forge model works with regular code. I need help BOTH with javascript and json . I don't think the code that works with multipart works with forge blockstate. I need a whole new code.

Disclaimer:  I been told to keep my opinions to myself, to shut up and that I am spreading lies and misinformation or even that my methods are unorthodox and or too irregular. Here are my suggestions take it or leave it.

Link to comment
Share on other sites

Also btw the north south east properties according to Forge's own docs you don't put it under normal like you said. in fact nothing is like you said.

 

http://mcforge.readthedocs.io/en/latest/blockstates/forgeBlockstates/

 

In fact nothing is like nobody said is all up in the air whoever is lucky to get it work please teach me cause there's no tutorials no explanations what so ever.

 

also btw you're wrong about normal and inventory only. When registering block models you need to use whatever type of blostate you are using and you can have a lot of them "variants" "normal" "multipart" probably others . If you don't register properly it won't work. If you try multipart registered as normal doesn't work. But that's another thing.

 

Forge's own blockstate, however, seems to be able to register it as whatever you want and will still work for others but not for me :)

Disclaimer:  I been told to keep my opinions to myself, to shut up and that I am spreading lies and misinformation or even that my methods are unorthodox and or too irregular. Here are my suggestions take it or leave it.

Link to comment
Share on other sites

the error is

 

Exception loading model for variant technorcery:depositsVat#east=false,north=true,south=true,west=false for blockstate "technorcery:depositsVat[east=false,north=true,south=true,west=false]"

net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model technorcery:depositsVat#east=false,north=true,south=true,west=false with loader VariantLoader.INSTANCE, skipping

 

as you can see it cannot find north south east west properties no matter where i put them

Disclaimer:  I been told to keep my opinions to myself, to shut up and that I am spreading lies and misinformation or even that my methods are unorthodox and or too irregular. Here are my suggestions take it or leave it.

Link to comment
Share on other sites

No, that is not the whole error.

What I am interested in, is the tiny tiny paragraph: "Caused by: _____"

An example of this, would be:

[spoiler=Example error]

[06:10:28] [Client thread/ERROR] [FML]: Exception loading model for variant saligia:cropgrower#inventory for item "saligia:cropgrower", normal location exception:

net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model saligia:item/cropgrower with loader VanillaLoader.INSTANCE, skipping

at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]

at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:317) ~[ModelLoader.class:?]

at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:170) ~[ModelBakery.class:?]

at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:147) ~[ModelLoader.class:?]

at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]

at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:132) [simpleReloadableResourceManager.class:?]

at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:113) [simpleReloadableResourceManager.class:?]

at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:799) [Minecraft.class:?]

at net.minecraft.client.Minecraft.processKeyF3(Minecraft.java:2146) [Minecraft.class:?]

at net.minecraft.client.Minecraft.runTickKeyboard(Minecraft.java:2002) [Minecraft.class:?]

at net.minecraft.client.Minecraft.runTick(Minecraft.java:1846) [Minecraft.class:?]

at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1118) [Minecraft.class:?]

at net.minecraft.client.Minecraft.run(Minecraft.java:406) [Minecraft.class:?]

at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_101]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]

at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]

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_101]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_101]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]

at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]

at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]

at GradleStart.main(GradleStart.java:26) [start/:?]

Caused by: java.io.FileNotFoundException: saligia:models/item/cropgrower.json

at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:68) ~[FallbackResourceManager.class:?]

at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:65) ~[simpleReloadableResourceManager.class:?]

at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:311) ~[ModelBakery.class:?]

at net.minecraftforge.client.model.ModelLoader.access$1100(ModelLoader.java:118) ~[ModelLoader.class:?]

at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:868) ~[ModelLoader$VanillaLoader.class:?]

at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]

... 25 more

 

 

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

hah third time's a charm

 

managed to work it out

 

it's something like this

 

{
    "forge_marker": 1,
    "defaults": {
        "model": "technorcery:depositsVat"
    },
    "variants": {
        "north": {
            "true": {
                "submodel": {
                    "spout_north" : {
                     "model": "technorcery:depositsVat_spout",
                    "uvlock": true
                    }
                }
            },
            "false": {}
        },
        "south": {
            "true": {
                "submodel": {
                    "spout_south" : {
                    "model": "technorcery:depositsVat_spout",
                    "y": 90,
                    "uvlock": true
                    }
                }
            },
            "false": {}
        },
        "east": {
            "true": {
                "submodel": {
                    "spout_east" : {
                    "model": "technorcery:depositsVat_spout",
                    "y": 180,
                    "uvlock": true
                    }
                }
            },
            "false": {}
        },
        "west": {
            "true": {
                "submodel": {
                    "spout_west" : {
                    "model": "technorcery:depositsVat_spout",
                    "y": 270,
                    "uvlock": true
                    }
                }
            },
            "false": {}
        }
    }
}

 

 

 

appears like you need to name each submodel

 

also not only that but what you name the big category  in the case above is variants then that's what you register as.

 

variants": { << that's what you register in java

        "north": {

 

Disclaimer:  I been told to keep my opinions to myself, to shut up and that I am spreading lies and misinformation or even that my methods are unorthodox and or too irregular. Here are my suggestions take it or leave it.

Link to comment
Share on other sites

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

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

Announcements



×
×
  • Create New...

Important Information

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