Through browsing Forge documentation, I found a couple references to Extended Blockstates in the "Intro to Blockstates," found here. As of now, there is no formal documentation on them. Does anyone know what they are and how to use them?
Extended states let you use unlisted properties, which can have any number of arbitrary values (allowing you to use types like floating point numbers and classes) rather than the fixed set of values required by regular properties (which are limited to booleans, integers, enums, etc.). The purpose of this is to pass data to a custom model implementation or TESR so it can be used to render the block.
For example, BlockFluidBase sets unlisted float properties for the flow direction and corner levels, which are then used by ModelFluid to render the fluid block.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Regular properties can be used to determine which model is rendered and also used by the model to determine how it's rendered. Unlisted properties can only be used by the model to determine how it's rendered, they can't be used to determine which model is rendered.
Unless you have your own model implementation, there's no reason to create your own unlisted properties.
If you were to use Forge's animation system, you'd need to use an extended state to include the Properties.AnimationProperty unlisted property.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Through browsing Forge documentation, I found a couple references to Extended Blockstates in the "Intro to Blockstates," found here. As of now, there is no formal documentation on them. Does anyone know what they are and how to use them?
Extended states let you use unlisted properties, which can have any number of arbitrary values (allowing you to use types like floating point numbers and classes) rather than the fixed set of values required by regular properties (which are limited to booleans, integers, enums, etc.). The purpose of this is to pass data to a custom model implementation or TESR so it can be used to render the block.
For example, BlockFluidBase sets unlisted float properties for the flow direction and corner levels, which are then used by ModelFluid to render the fluid block.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Would using those be more efficient or better than doing something like this: https://github.com/T145/magistics/blob/1.11.2/src/main/java/T145/magistics/blocks/MBlockDevice.java#L49
I don't think so.
Regular properties can be used to determine which model is rendered and also used by the model to determine how it's rendered. Unlisted properties can only be used by the model to determine how it's rendered, they can't be used to determine which model is rendered.
Unless you have your own model implementation, there's no reason to create your own unlisted properties.
If you were to use Forge's animation system, you'd need to use an extended state to include the Properties.AnimationProperty unlisted property.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.