Something small I’ve had to do for a texture pack today:
- Get the vanilla Minecraft texture pack with all textures and json files by going to .minecraft -> versions -> the version you want. Extract the contents of the jar file. Default pack is inside.
- Inside, go to assets -> minecraft -> blockstates -> search for the block you want.
- Copy this file inside the same directory in your own texture pack.
- Edit this file to set X Y Z values: For example, to stop Purple Concrete Powder from rotating:
BEFORE:
{
"variants": {
"": [
{
"model": "minecraft:block/purple_concrete_powder"
},
{
"model": "minecraft:block/purple_concrete_powder",
"y": 90
},
{
"model": "minecraft:block/purple_concrete_powder",
"y": 180
},
{
"model": "minecraft:block/purple_concrete_powder",
"y": 270
}
]
}
}
AFTER:
{
"variants": {
"": [
{
"model": "minecraft:block/purple_concrete_powder",
"y": 180
},
{
"model": "minecraft:block/purple_concrete_powder",
"y": 180
},
{
"model": "minecraft:block/purple_concrete_powder",
"y": 180
},
{
"model": "minecraft:block/purple_concrete_powder",
"y": 180
}
]
}
}
You can use the same idea to rotate other axis of a block, such as in this custom example from the Forum:
{
"variants": {
"normal": [
{ "model": "prismarine_rough" },
{ "model": "prismarine_rough", "x": 90 },
{ "model": "prismarine_rough", "x": 180 },
{ "model": "prismarine_rough", "x": 270 },
{ "model": "prismarine_rough", "y": 90 },
{ "model": "prismarine_rough", "y": 90, "x": 90 },
{ "model": "prismarine_rough", "y": 90, "x": 180 },
{ "model": "prismarine_rough", "y": 90, "x": 270 },
{ "model": "prismarine_rough", "y": 180 },
{ "model": "prismarine_rough", "y": 180, "x": 90 },
{ "model": "prismarine_rough", "y": 180, "x": 180 },
{ "model": "prismarine_rough", "y": 180, "x": 270 },
{ "model": "prismarine_rough", "y": 270 },
{ "model": "prismarine_rough", "y": 270, "x": 90 },
{ "model": "prismarine_rough", "y": 270, "x": 180 },
{ "model": "prismarine_rough", "y": 270, "x": 270 }
]
}
}