There are several different variants of some blocks (like doors, which can be open or closed), hence each block has its own block state file, which lists all its existing variants and links them to their corresponding models. Blocks can also be compound of several different models at the same time, called "multipart". The models are then used depending on the block states of the block. These files are stored in the following folder: assets/ /blockstates. The files are used directly based on their filename, thus a block state file with another name than the existing ones does not affect any block.variants: Holds the names of all the variants of the block.or A variant: Name of a variant, which consists of the relevant block states separated by commas.
![more player models 1.8 8 more player models 1.8 8](https://static.wixstatic.com/media/980cad_720b65407c394d858f5ab2934ad93aed~mv2.jpg)
A block with just one variant uses "" as a name for its variant. Each variant can have one model or an array of models and contains their properties. If set to an array, the model is chosen randomly from the options given, with each option being specified in separate subsidiary -tags.
![more player models 1.8 8 more player models 1.8 8](https://i.ytimg.com/vi/6nbJGVRY8d8/maxresdefault.jpg)
x: Rotation of the model on the x-axis in increments of 90 degrees.y: Rotation of the model on the y-axis in increments of 90 degrees.uvlock: Can be true or false (default).Locks the rotation of the texture of a block, if set to true. This way the texture does not rotate with the block when using the x and y-tags above.weight: Sets the probability of the model for being used in the game, defaults to 1 (=100%).If more than one model is used for the same variant, the probability is calculated by dividing the individual model's weight by the sum of the weights of all models. The probability of each model being used would then be determined by dividing each weight by 4: 1/4, 1/4 and 2/4, or 25%, 25% and 50%, respectively.) (For example, if three models are used with weights 1, 1, and 2, then their combined weight would be 4 (1+1+2).multipart: Used instead of variants to combine models based on block state attributes.A case Determines a case and the model that should apply in that case.
![more player models 1.8 8 more player models 1.8 8](https://ru-minecraft.ru/uploads/posts/2020-06/1593112724_6.jpg)
when: A list of cases that have to be met for the model to be applied.OR: Matches if any of the contained cases return true.A condition A list of cases that all have to match the block to return true.