Better Leaves Wiki
Welcome to the Better Leaves wiki.
This documentation aims to help you create your own flavour for any texturepack or mod.
Python Code
In-Game
Getting Started
First of all, you need to download the contents of the GitHub repository.
To do so, you can either download the zip file, or just execute
git clone https://github.com/TeamMidnightDust/BetterLeavesLite.git
in a terminal window.
Texturepacks
You can easily create a build for any texturepack.
Just add the pack (as a .zip file or folder) to the input/texturepacks/ folder.
After that, follow the Building section to get your flavour!
The input folder is all you have to worry about
Mods
In simple cases, it is enough to put the mod file in the /input/mods folder and continue with the Building section.
Put the .jar file into input/mods, and the script will take care of extracting all textures with “leaves” in their name.
The _temp folder is purely symbolic here, it will only exist for a few milliseconds during the extraction process.
Building
To build your flavour of the pack, you need to have Python installed on your system.
You can get it on any modern operating system.
Download the latest stable Python 3 release from the official website
or using winget in PowerShell:
winget install -e --id Python.Python.3.13.1
On most systems, Python should already be installed by default.
Else, just install Python using your distro’s package manager.
Arch Linux:
pacman -S python
In case you haven’t already, install Homebrew according to the official instructions.
Now, you can just install python using the following command:
brew install python
Now that you have python installed, head back into the BetterLeavesLite directory.
Here, you should now open a terminal window and run
python3 gen_pack.py 1.0 Your Edition
Replace “1.0” with your desired version number and “Your Edition” with the name you’d like to appear in the resourcepack description ingame.
And in no time, the script will generate a ready-to-use zip file with your desired content.
(Advanced) Irregularities and Missing Textures
If you see missing textures when trying your freshly-built pack, the mod you’re adding support for has a more complicated asset structure.
In these cases, you unfortunately have to manually configure exceptions in the /input/overrides.json file.
{
// Leaves that should not be tinted based on the biome they're in
"noTint": [
"minecraft:azalea_leaves",
"minecraft:flowering_azalea_leaves"
],
// For mods that add leaf carpets/piles, you need to map them to the respective leaf block
"leavesWithCarpet": {
"terrestria:sakura_leaves": "terrestria:sakura_leaf_pile"
},
// If a mod uses a different texture for the block compared to the item
"blockTextures": {
"biomesoplenty:rainbow_birch_leaves": "minecraft:block/birch_leaves"
},
// For leaf blocks that use multiple textures (typically used for fruit leafs)
"overlayTextures": {
"biomesoplenty:pine_leaves": "biomesoplenty:block/pine_leaves_overlay"
},
// For blocks that are named differently from their texture
"blockIds": {
"terrestria:japanese_maple_leaves_dark": "terrestria:dark_japanese_maple_leaves"
},
// Define the respective Dynamic Trees addon namespace for any mod
"dynamicTreesNamespaces": {
"minecraft": "dynamictrees",
"aether": "dtaether"
}
}