Boe's Earth
The Boe's Earth modification enhances standard Minecraft blocks by adding additional state parameters. These new parameters can be utilized in shaders and resource packs to create more detailed and realistic graphics.
Added State Parameters
is_on_leaves
This parameter is added to Snow, Vines, and Carpets. Example usage in the Bliss shader:
- Snow resting on waving leaves will sway along with them
- Vines hanging from waving leaves will also move synchronously
snow_on_top
This parameter applies to tree leaves. With it, you can:
- Change the texture of leaves when they have snow on top
Frequently Asked Questions
Question: Snow, vines, and carpets don't move Answer: Make sure your shader supports Boe's Earth (for example, Bliss). Check that the corresponding parameters are enabled in the mod's settings. Naturally generated blocks initially have custom parameters disabled, but they will update over time. To speed up the process, increase the randomTickSpeed game rule value, then return it to the standard 3/5 value. You can also force an update by replacing the blocks.
Question: The mod causes lag Answer: Disable some of the update logic in the settings. Updates when neighboring blocks change create the most load, these can be configured through update chain limits. Random tick updates work more lightly and depend on the randomTickSpeed game rule.
Question: Forge version Answer: The mod should work with Sinytra Connector, but this is not guaranteed in the future.
Technical Documentation
The modification adds new state parameters to existing blocks. These parameters are used the same way as standard Minecraft parameters and additional parameters from other mods.
Additionally, the mod adds a variable for Iris shaders called BOES_EARTH_BLOCKSTATES. This allows adding Boe's Earth parameter support to your shader without breaking compatibility with standard parameters. This does not mean that Boe's Earth parameters are incompatible with Optifine or other shader loaders, but there will be no way to determine their presence from the shader side!
Example Usage - Shader
Iris (compatible with standard version):
#ifdef BOES_EARTH_BLOCKSTATES
block.56=minecraft:birch_leaves minecraft:acacia_leaves snow:is_on_leaves=true vine:is_on_leaves=true blue_carpet:is_on_leaves=true moss_carpet:is_on_leaves=true
#else
block.56=minecraft:birch_leaves minecraft:acacia_leaves
#endif
#ifdef BOES_EARTH_BLOCKSTATES
#define boes_on_leaves = snow:is_on_leaves=true vine:is_on_leaves=true blue_carpet:is_on_leaves=true moss_carpet:is_on_leaves=true
#endif
block.56=minecraft:birch_leaves minecraft:acacia_leaves boes_on_leaves
Other shader loaders (not compatible with standard version):
block.56=minecraft:birch_leaves minecraft:acacia_leaves snow:is_on_leaves=true vine:is_on_leaves=true blue_carpet:is_on_leaves=true moss_carpet:is_on_leaves=true
Example Usage - Resource Pack
{
"variants": {
"layers=1,is_on_leaves=false": {
"model": "minecraft:block/snow_height2"
},
"layers=2,is_on_leaves=false": {
"model": "minecraft:block/snow_height4"
},
"layers=1,is_on_leaves=true": {
"model": "minecraft:block/snow_on_leaves_height2"
},
"layers=2,is_on_leaves=true": {
"model": "minecraft:block/snow_on_leaves_height4"
}
}
}
or
{
"multipart": [
{
"when": { "AND": [
{"layers": "1" },
{"is_on_leaves": false }
]},
"apply": { "model": "minecraft:block/snow_height2" }
},
{
"when": { "AND": [
{"layers": "2" },
{"is_on_leaves": false }
]},
"apply": { "model": "minecraft:block/snow_height4" }
},
{
"when": { "AND": [
{"layers": "1" },
{"is_on_leaves": true }
]},
"apply": { "model": "minecraft:block/snow_on_leaves_height2" }
},
{
"when": { "AND": [
{"layers": "2" },
{"is_on_leaves": true }
]},
"apply": { "model": "minecraft:block/snow_on_leaves_height4" }
}
]
}