Better Leaves Wiki

Welcome to the Better Leaves wiki.
This documentation aims to help you create your own flavour for any texturepack or mod.


A screenshot showing the Python script code

Python Code

A screenshot of the Better Leaves resourcepack in action

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!

An overview of the input folder

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.

An overview of the input/mods folder, showing the automatic unpacking process

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

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"
    }
}