Files
midnightdust-eu/src/pages/wiki/betterleaves.mdx
2024-12-31 14:28:59 +01:00

128 lines
5.1 KiB
Plaintext

---
layout: ../../layouts/MarkdownLayout.astro
title: Better Leaves Wiki
---
import ImgComparisonSlider from '../../components/ImgComparisonSlider.astro'
import { Icon } from 'astro-icon/components'
import { Notification } from 'accessible-astro-components'
import CustomTabs from "../../components/CustomTabs.astro"
# Better Leaves Wiki
Welcome to the Better Leaves wiki.
This documentation aims to help you create your own flavour for any texturepack or mod.
<br/>
<ImgComparisonSlider imgBefore="/betterleaves/script.png" imgAfter="/betterleaves/ingame.png" captionBefore='Python Code' captionAfter='Ingame'/>
<p class="text-center italic">Better Leaves 9.0 is automatically generated using our Python script</p>
## 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](https://github.com/TeamMidnightDust/BetterLeavesLite/archive/refs/heads/main.zip), or just execute
```bash
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 <a href="#building">Building</a> section to get your flavour!
<center><img alt="An overview of the input folder" src="/betterleaves/input-folder.png" width="500"></img></center>
<p class="text-center italic">The input folder is all you have to worry about</p>
## Mods
In simple cases, it is enough to put the mod file in the /input/mods folder and continue with the <a href="#building">Building</a> section.
<center><img alt="An overview of the input/mods folder, showing the automatic unpacking process" src="/betterleaves/mods-unpacking.png" width="500"></img></center>
<p class="text-center italic">Put the .jar file ito input/mods, and the script will take care of extracting all textures with "leaves" in their name.
<br/>The _temp folder is purely symbolic here, it will only exist for a few milliseconds during the extraction process.</p>
## 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.
<CustomTabs tabs={[{
name: `Windows`,
id: 'windows',
icon: 'simple-icons:windows',
active: true
}, {
name: `Linux`,
icon: 'linux',
id: 'linux'
}, {
name: `MacOS`,
icon: 'simple-icons:apple',
id: 'macos'
}]}>
<div id="windows" data-active="true">
Download the latest stable Python 3 release from the official <a href="https://www.python.org/downloads/windows/">website</a><br/>
or using winget in PowerShell:
<br/>
```bash
winget install -e --id Python.Python.3.13.1
```
</div>
<div id="linux" class="hidden">
On most systems, Python should already be installed by default.<br/>
Else, just install Python using your distro's package manager.
<br/>
Arch Linux:
```bash
pacman -S python
```
</div>
<div id="macos" class="hidden">
In case you haven't already, install Homebrew according to the <a href="https://brew.sh/">official instructions</a>.<br/>
Now, you can just install python using the following command:
<br/>
```bash
brew install python
```
</div>
</CustomTabs>
Now that you have python installed, head back into the BetterLeavesLite directory.
Here, you should now open a terminal window and run
```bash
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.
```json
{
// 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"
}
}
```