Posted December 18, 20186 yr I have a block that has 5 variants, each of which is a meant to be layered on top of the final block, depending on a BlockState property. In the actual world, this block works A-OK. However, there is a slight issue with the block when in your inventory. As you can see, the block is being rendered directly from the side, which is undesirable. Also, you can't see it in this screen shot, but the in-hand model is being rendered behind me. I added display options to each composite model to rotate them, and if I put a single model in an item directly, it rotates correctly. Am I doing something wrong, or is this a bug? One of the models: https://github.com/pkmnfrk/factorycraft/blob/1.12.2/src/main/resources/assets/factorycraft/models/block/boulder/0.json The main blockstate json: https://github.com/pkmnfrk/factorycraft/blob/1.12.2/src/main/resources/assets/factorycraft/blockstates/iron_boulder.json The test item in the second screen shot: https://github.com/pkmnfrk/factorycraft/blob/1.12.2/src/main/resources/assets/factorycraft/blockstates/test.json In that last file, if you change the "inventory" variant to be the same as the "normal" variant, it breaks the same way (doesn't rotate) Edit: Thinking about it, this would not be too difficult to avoid using sub models for (I could just make 5 models that roll up the different pieces), but I can foresee issues in the future for more complicated blocks that would make this a pain, so I would really like to understand this issue Edited December 18, 20186 yr by pkmnfrk
December 18, 20186 yr Since you are already using forge blockstates you can just specify the transformation matrix directly in there. You are only specifying the rotation which... I am not even sure if you can specify it like that, don't you have to provide a quaternion? Or at least the angle and the Axes? Or if these are rotations for the axes then why are you rotating 90 degrees around the X one? And as you've discovered the rotation alone isn't enough. In any case forge allows you to specify built-in transformation data, already pre-made for you. In your case the forge:default-block transform would do the trick. You can see an example here. Edited December 18, 20186 yr by V0idWa1k3r
December 18, 20186 yr Author The rotation specified in the blockstate json was copied out of the model in a half-baked attempt to apply rotation to the entire model. I forgot to remove it before comitting. Or, if you're referring to the model rotations, I'm going strictly by the Model format (https://minecraft.gamepedia.com/Model) and what the editor I'm using shows (https://blockbench.net/) which has so far been correct when I'm not using submodels. I'll be honest, I don't know what a quaternion is, but I will look at your example and see if I can make sense of it.
December 18, 20186 yr Author Ok, the only thing you have that I don't is: "transform": "forge:default-block", "gui3d": true Which doesn't seem to change anything when I put it into my block state. To be clear, what I'm expecting is for the rotation in each model to be applied when the model is composited. I'm pretty sure the fact that it doesn't work (but it does if I reference a model directly) is a bug.
December 18, 20186 yr 44 minutes ago, pkmnfrk said: Which doesn't seem to change anything when I put it into my block state. Where exactly did you put it into your blockstate? And have your removed your custom transformations from the blockstate file?
December 18, 20186 yr Author I removed the transformations which I suspect/know did nothing, and put the quoted code in the defaults section. I just pushed the commit, so you can see it here: https://github.com/pkmnfrk/factorycraft/blob/1.12.2/src/main/resources/assets/factorycraft/blockstates/iron_boulder.json
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.