Changes to cobblestone walls

Why change cobblestone walls?
Currently cobblestone walls have a multi-part blockstate file for 5 blockstates: north, east, south, west, and up. Up is the blockstate that I will be talking about.

It is hardcoded into Minecraft for the up blockstate to be set to true under certain conditions: When a wall has no connections, one connection, two connections if they are 90° (ie north and east), three connections, four connections, and finally when a block is above the wall. This means that the blockstate for walls currently contains:

{ “when”: { “up”: “true” },
“apply”: { “model”: “cobblestone_wall_post” }
},

This means that the cobblestone post is applied when any of the above conditions are met.
This also means the only time a wall can actually detect when there is a block above it is when a wall has 2 connections at 180° (ie north and south) this is the only situation in which cobblestone walls won’t have the up blockstate as true. All these situations are shown below note the blockstates on the right of the pictures.

This currently means that you can’t use walls as a multi-part model for when a block is above it unless in very specific situations.
Walls are the only block in Minecraft which have an up blockstate but they can’t be utilised in maps or resourcepacks to create any block model which can change when another block is above it.

How could this be different?
As this is hardcoded into Minecraft we would have to change this, the up blockstate would need to only return true only when there is a block above a wall. The blockstate file would then need to be different:

{ “when”: { “OR”: [
{“north”: “false”, “east”: “false”, “south”: “false”, “west”: “false”},
{“north”: “true”, “east”: “true”, “south”: “true”, “west”: “true”},
{“north”: “true”, “south”: “false” },
{“south”: “true”, “north”: “false” },
{“east”: “true”, “west”: “false”},
{“west”: “true”, “east”: “false”},
{“up”: “true”}
]},
“apply”: { “model”: “cobblestone_wall_post” }
},

This rather long “when” statement should allow for the cobblestone post model to be applied to a cobblestone wall when any of the before mentioned situations occur.
The other “when” statements would need to be added to allow for cobblestone walls to seemingly connect to one another and this blockstate would allow for cobblestone walls to act exactly the same as they do now.

Cobblestone walls would look exactly the same they would also work the same, but they could be changed to the will of a map maker or resourcepack creator to create some rather more technical block models which could be affected by blocks above them.

Changes to cobblestone walls

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s