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 have item called metal_detector and it has lots of different parts kinda like TConstruct tools and i want to make multipart model for it, but it somehow shows nothing - not the magenta/black cube, but nothing at all
This is the model i'm using now:

{
 "multipart": [
  {"apply": { "model": "archeology:detector_base"} },
  {"apply": { "model": "archeology:item/detector_base"} },
  {"when": {"found": "0.0"},
   "apply": { "model": "archeology:item/detector_not_found"} 
  },
  {"when": {"found": "1.0"},
   "apply": { "model": "archeology:item/detector_found"} 
  }
 ],
    "display": {
        "head": {
            "rotation": [ 0, 90, 0 ],
            "translation": [ 0, 29, 0 ],
            "scale": [ 2.8, 2.8, 2.8 ]
        },
        "gui": {

            "rotation": [ 30, 310, 0 ],

            "translation": [ 0, 1, 0],

            "scale":[ 1.325, 1.325, 1.325 ]

        },

        "ground": {

            "rotation": [ 0, 0, 0 ],

            "translation": [ 0, 3, 0],

            "scale":[ 0.25, 0.25, 0.25 ]

        },

        "fixed": {

            "rotation": [ 0, 0, 0 ],

            "translation": [ 5, 5, 0],

            "scale":[ 1.6, 1.6, 1.6 ]

        },

        "thirdperson_righthand": {

            "rotation": [ 83, 90, -10 ],

            "translation": [ 0, 8, -3],

            "scale": [ 1.4, 1.4, 1.4 ]

        },

        "thirdperson_lefthand": {

            "rotation": [ 83, 270, 10 ],

            "translation": [ 0, 8, -3],

            "scale": [ 1.4, 1.4, 1.4 ]

        },

        "firstperson_righthand": {

            "rotation": [ 45, 90, 0 ],

            "translation": [ -4, 7, -1 ],

            "scale": [ 1.5, 1.5, 1.5 ]

        },

        "firstperson_lefthand": {

            "rotation": [ 45, 270, 0 ],

            "translation": [ -4, 7, -1 ],

            "scale": [ 1.5, 1.5, 1.5 ]

        }
    }
}


Btw the value FOUND is predicate i made the item return with this:

this.addPropertyOverride(new ResourceLocation("found"), new IItemPropertyGetter(){
			@Override
			public float apply(ItemStack stack, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) {
				IDetector detector = stack.getCapability(DetectorProvider.DETECTOR_CAP, null);
				if (detector.getFound())
					return 1.0f;
				return 0.0f;
			}
		});

thx for any help

  • Author

thank you, i wouldn't be able to figure this out myself. :)
Yaaay, now it shows magenta/black cube!!!


 

  • Author

so, i adjusted the files and the file for the detector now looks like this:
 

{
 "multipart": [
  {"apply": { "model": "archeology:detector/base"} }
 ],
    "display": {
        "head": {
            "rotation": [ 0, 90, 0 ],
            "translation": [ 0, 29, 0 ],
            "scale": [ 2.8, 2.8, 2.8 ]
        },
        "gui": {

            "rotation": [ 30, 310, 0 ],

            "translation": [ 0, 1, 0],

            "scale":[ 1.325, 1.325, 1.325 ]

        },

        "ground": {

            "rotation": [ 0, 0, 0 ],

            "translation": [ 0, 3, 0],

            "scale":[ 0.25, 0.25, 0.25 ]

        },

        "fixed": {

            "rotation": [ 0, 0, 0 ],

            "translation": [ 5, 5, 0],

            "scale":[ 1.6, 1.6, 1.6 ]

        },

        "thirdperson_righthand": {

            "rotation": [ 83, 90, -10 ],

            "translation": [ 0, 8, -3],

            "scale": [ 1.4, 1.4, 1.4 ]

        },

        "thirdperson_lefthand": {

            "rotation": [ 83, 270, 10 ],

            "translation": [ 0, 8, -3],

            "scale": [ 1.4, 1.4, 1.4 ]

        },

        "firstperson_righthand": {

            "rotation": [ 45, 90, 0 ],

            "translation": [ -4, 7, -1 ],

            "scale": [ 1.5, 1.5, 1.5 ]

        },

        "firstperson_lefthand": {

            "rotation": [ 45, 270, 0 ],

            "translation": [ -4, 7, -1 ],

            "scale": [ 1.5, 1.5, 1.5 ]

        }
    }
}

and in folder models/block/detector i have file named base.json looking like this:

{
    "textures": {
        "0": "blocks/iron_block",
        "1": "blocks/gold_block",
        "2": "blocks/anvil_base"
    },
    "elements": [
        {
            "name": "Coil1",
            "from": [ 6.5, 0.0, 6.5 ], 
            "to": [ 7.5, 1.0, 8.5 ], 
            "faces": {
                "north": { "texture": "#0", "uv": [ 1.0, 1.0, 4.0, 4.0 ] },
                "east": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ] },
                "south": { "texture": "#0", "uv": [ 1.0, 1.0, 4.0, 4.0 ] },
                "west": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ] },
                "up": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ], "rotation": 90 },
                "down": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ], "rotation": 90 }
            }
        },
        {
            "name": "Coil2",
            "from": [ 7.5, 0.0, 6.5 ], 
            "to": [ 9.5, 1.0, 7.5 ], 
            "faces": {
                "north": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ] },
                "east": { "texture": "#0", "uv": [ 1.0, 1.0, 4.0, 4.0 ] },
                "south": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ] },
                "west": { "texture": "#0", "uv": [ 1.0, 1.0, 4.0, 4.0 ] },
                "up": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ], "rotation": 180 },
                "down": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ] }
            }
        },
        {
            "name": "Coil3",
            "from": [ 8.5, 0.0, 7.5 ], 
            "to": [ 9.5, 1.0, 9.5 ], 
            "faces": {
                "north": { "texture": "#0", "uv": [ 1.0, 1.0, 4.0, 4.0 ] },
                "east": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ] },
                "south": { "texture": "#0", "uv": [ 1.0, 1.0, 4.0, 4.0 ] },
                "west": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ] },
                "up": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ], "rotation": 270 },
                "down": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ], "rotation": 270 }
            }
        },
        {
            "name": "Coil4",
            "from": [ 6.5, 0.0, 8.5 ], 
            "to": [ 8.5, 1.0, 9.5 ], 
            "faces": {
                "north": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ] },
                "east": { "texture": "#0", "uv": [ 1.0, 1.0, 4.0, 4.0 ] },
                "south": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ] },
                "west": { "texture": "#0", "uv": [ 1.0, 1.0, 4.0, 4.0 ] },
                "up": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ] },
                "down": { "texture": "#0", "uv": [ 1.0, 1.0, 7.0, 4.0 ], "rotation": 180 }
            }
        },
        {
            "name": "Rod",
            "from": [ 6.3, 1.0, 7.5 ], 
            "to": [ 7.3, 11.0, 8.5 ], 
            "rotation": { "origin": [ 8.0, 1.0, 8.0 ], "axis": "z", "angle": 22.5 },
            "faces": {
                "north": { "texture": "#1", "uv": [ 1.0, 0.0, 5.0, 16.0 ] },
                "east": { "texture": "#1", "uv": [ 1.0, 0.0, 5.0, 16.0 ] },
                "south": { "texture": "#1", "uv": [ 1.0, 0.0, 5.0, 16.0 ] },
                "west": { "texture": "#1", "uv": [ 1.0, 0.0, 5.0, 16.0 ] },
                "up": { "texture": "#1", "uv": [ 1.0, 1.0, 5.0, 5.0 ] },
                "down": { "texture": "#1", "uv": [ 4.0, 4.0, 8.0, 8.0 ] }
            }
        },
        {
            "name": "Handle1",
            "from": [ 5.0, 5.0, 7.0 ], 
            "to": [ 7.0, 6.0, 9.0 ], 
            "faces": {
                "north": { "texture": "#2", "uv": [ 0.0, 0.0, 8.0, 4.0 ] },
                "east": { "texture": "#2", "uv": [ 0.0, 0.0, 8.0, 4.0 ] },
                "south": { "texture": "#2", "uv": [ 0.0, 0.0, 8.0, 4.0 ] },
                "west": { "texture": "#2", "uv": [ 0.0, 0.0, 8.0, 4.0 ] },
                "up": { "texture": "#2", "uv": [ 0.0, 0.0, 8.0, 8.0 ] },
                "down": { "texture": "#2", "uv": [ 0.0, 0.0, 8.0, 8.0 ] }
            }
        },
        {
            "name": "Handle2",
            "from": [ 0.8, 8.8, 7.4 ], 
            "to": [ 3.8, 10.0, 8.6 ], 
            "faces": {
                "north": { "texture": "#2", "uv": [ 0.0, 0.0, 12.0, 4.0 ] },
                "east": { "texture": "#2", "uv": [ 0.0, 0.0, 4.0, 4.0 ] },
                "south": { "texture": "#2", "uv": [ 0.0, 0.0, 12.0, 4.0 ] },
                "west": { "texture": "#2", "uv": [ 0.0, 0.0, 4.0, 4.0 ] },
                "up": { "texture": "#2", "uv": [ 0.0, 0.0, 12.0, 4.0 ] },
                "down": { "texture": "#2", "uv": [ 0.0, 0.0, 12.0, 4.0 ] }
            }
        }
    ]
}

But it doesn't render at all AGAIN
is it because the "display": parameters are in wrong file, or is the blockstate wrong, or the model, or WHAT?
 

  • Author

 

2 hours ago, diesieben07 said:

However you can still use a blockstate file for an item in forge, simply leave out the item model json and forge will look for a blockstate file.

and it looks for it, whats wrong?
i don't get your response

  • Author

ok, so what am i supposed to do when i can't use multipart?

because i don't want to write over 10 000 combinations using predicates and one model for each one

  • Author

the adress of the file is src/main/resources/assets/archeology/blockstates/metal_detector.json


am i supposed to specify somewhere it is'nt model but blockstate, or what?

If it's in /blockstates it's a blockstate file and follows the blockstate format. That's where multipart goes.

If it's in /models it's a model file and follows the item model format.  These are the "parts" that the multipart refers to.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

  • Author

I tried to make it as simple as i could:
 

{
 "multipart": [
  {"apply": { "model": "half_slab_stone"} }
 ]
}

still shows nothing 

and YES the file is located in blockstates

  • Author

world generator?

I'll try if it crashes for me too and try to fix it

 

Edited by Villfuk02

  • Author

That's REALLY weird
This shouldn't happen at all and it never crahed when i tried it 

Sorry, IDK what's going on

maybe different Forge/Java version

BTW i'm now going to update the repository

DONE

Edited by Villfuk02
Repository updated

  • Author
On 17. 2. 2017 at 9:47 PM, Draco18s said:

If it's in /blockstates it's a blockstate file and follows the blockstate format. That's where multipart goes.

 

4 hours ago, diesieben07 said:

 

How many times do I need to say this? multipart does not work in a blockstate json.

 

I'm really confused right now

  • Author

I have an idea:
Is it possible to programm new rendering program for the item 
Simply using code instead of pre-determined JSON to make the item?
I know it will be harder, but maybe it will work :)


Do you know if or how could i do that?

  • Author

I'VE GOT AN IDEA!

 

 

But first, i need to ask some questions:
Can I use blockstates in the same way they would be used for blocks?
If yes, are you sure it will read the blockstate file even though it isn't a block?

And how do i do this???
because it's for blocks and it needs a lot of thigs, which i can't do with an item
 

Edited by Villfuk02

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.