 
                Create custom leaves, plants, trees and more ! For Nexo and ItemsAdder

💬 Join the Discord server to get support, even for pre-purchase !
Since HMCLeaves is now unsupported and not updated, let me introduce Foliage: the perfect plugin to expand your natural environment !
- 2 custom block types are supported - leaves & saplings. (other types are being worked on)
- Flexible config makes you free to create whatever you want.
- Custom drops allows you to expand the vanilla-like experience.
- WorldEdit support allows you to executes //copy, //paste, //set , //replace or //schem commands with custom leaves.
- Custom trees can grow from your custom saplings using schematics.
- ItemsAdder & Nexo support make it a lot easier to create content.
- Automatic Resource Pack generation makes the creation process faster.
https://www.youtube.com/watch?v=W8JoG1_rxVM
# Foliage Plugin Configuration
# General settings
settings:
  # Whether to use MiniMessage format
  # If false, will use legacy color codes (§)
  use-minimessage: true
# Vanilla leaves settings (client-side via ProtocolLib)
  vanilla-leaves:
    override-enabled: true #Leave this true
    fixed-distance: 7
    persistent: false
    processed-types:
      - OAK_LEAVES
      - BIRCH_LEAVES
      - SPRUCE_LEAVES
      - JUNGLE_LEAVES
      - ACACIA_LEAVES
      - DARK_OAK_LEAVES
      - AZALEA_LEAVES
      - FLOWERING_AZALEA_LEAVES
      - MANGROVE_LEAVES
      - CHERRY_LEAVES
# Vanilla saplings settings
  vanilla-saplings:
    # Whether to override vanilla saplings behavior
    override-enabled: true
    # Whether to force stage 0 for all vanilla saplings
    force-stage-zero: true
    # Whether to allow natural tree growth
    allow-natural-growth: true
# General custom sapling growth settings
  custom-saplings:
    growth-chance: 0.25
    bonemeal-multiplier: 3.0
    random-tick-interval: 30
    blocks-per-chunk: 10
    allow-bonemeal: true
performance: #Do not touch if you don't know what you are doing
  # Maximum number of chunks to keep in memory cache
  chunk-cache-size: 100
# Whether to load chunks asynchronously
  async-loading: true
# Whether to batch block updates
  batch-updates: true
# Maximum number of block updates to process in a single batch
  batch-size: 1000
# How often to save block data to disk (in seconds)
  save-interval: 300
# Whether to use more thorough sampling for chunks after initial sampling
  # Only enable if you notice missing leaves in some chunks
  thorough-sampling: false
# Whether to use legacy full chunk processing instead of sampling (not recommended)
  # This will have a significant performance impact
  legacy-full-processing: false
# Whether to use adaptive forest-aware leaf processing (reduces TPS impact in forests)
  adaptive-leaf-processing: true
# Maximum number of leaf updates to process per tick (lower = less TPS impact)
  max-leaf-updates-per-tick: 50
# Multiplier for cooldown in dense forest areas (higher = fewer updates in forests)
  density-cooldown-multiplier: 3
# Storage settings
storage:
  # Whether to use the region storage system (recommended)
  use-region-storage: true
# Whether to automatically migrate data from the old YML storage to the new region storage
  auto-migrate: true
# Whether to delete the old storage file after migration
  delete-old-storage: false
# Compression level for region files (0-9, where 9 is maximum compression)
  # Higher values use more CPU but less disk space
  compression-level: 6
# Debug settings
debug:
  # Enable debug messages in console
  enabled: false
  # Log block placements
  log-placements: true
  # Log block registrations
  log-registrations: true
  # Log block updates and physics
  log-updates: true
  # Log chunk loading/unloading
  log-chunks: true
  # Log block storage operations
  log-storage: true
  # Log block operations
  log-blocks: true
  # Log sapling growth events
  log-growth: true
  # Log WorldEdit operations
  log-worldedit: false
  # Log startup messages
  log-startup: true
  # Log packet operations
  log-packets: false
  # Log placement attempts for custom blocks
  log-placement: true
  # Log block breaks
  log-breaks: true
  # Log drops from blocks
  log-drops: true
  # Log leaf growth events
  log-leaf-growth: true
  # Log sapling growth events
  log-sapling-growth: true
# Permissions
permissions:
  # Whether to check permissions for placing blocks
  enabled: true
  # Default permission settings
  defaults:
    # Allow placing custom leaf blocks
    can-place-leaves: true
    # Allow placing custom sapling blocks
    can-place-saplings: true
# Messages
messages:
  # Use MiniMessage format for all messages
  # See: https://docs.adventure.kyori.net/minimessage/format.html
  prefix: "<dark_gray>[<green>Foliage</green><dark_gray>] <gray>"
  no-permission: "<red>You don't have permission to do that!</red>"
  given-block: "<gray>Given <green>{block}</green>!</gray>"
  invalid-block: "<red>Invalid block configuration: {error}</red>"
# Version - do not modify
config-version: 1 This config is important for non-custom blocks (leaves, sugar cane, saplings).
# Custom Blocks Configuration
# This is an example of how to configure custom leaves.
custom_leaves:
  fir_leaves:
    item:
      itemsadder: custom_blocks:fir_leaves #Use ItemsAdder items
    block:
      base_material: AZALEA_LEAVES
      distance: 3
      persistent: true
      model: "custom_blocks:leaves/fir_leaves/fir_leaves" #Use a single model
    drops: "fir_leaves" #Use the name from drops.yml
maple_leaves:
    item:
      nexo: custom_blocks:maple_leaves #Use Nexo items
    block:
      base_material: AZALEA_LEAVES
      distance: 4
      persistent: true
      models: #Use multiple models
        - "custom_blocks:leaves/maple_leaves/maple_leaves"
        - "custom_blocks:leaves/maple_leaves/maple_leaves1"
        - "custom_blocks:leaves/maple_leaves/maple_leaves2"
        - "custom_blocks:leaves/maple_leaves/maple_leaves3"
    drops: "maple_leaves" #Use the name from drops.yml
# Configuration version - do not modify
version: 1 Everything is fully configurable, you are free to create your unique foliage.
# Custom Saplings Configuration
# This file contains definitions for all custom sapling blocks in the game
custom_saplings:
  example_sapling:
    item:
      material: OAK_SAPLING
      name: "<green>Example Sapling</green>"
      custom_model_data: 1001
      lore:
        - "<gray>A magical sapling that grows</gray>"
        - "<gray>into a custom tree!</gray>"
      # Optional custom item IDs
      itemsadder: ""
      nexo: ""
block:
      base_material: OAK_SAPLING
      stage: 0
      growth:
        # Chance to grow on random tick (out of 100)
        chance: 15
        # List of schematics to randomly choose from (from the schematics/ directory)
        schematics:
          - "custom_tree1.schem"
          - "custom_tree2.schem"
        # Minimum light level required for growth (0-15)
        min_light: 9
        # Whether bonemeal can be used
        allow_bonemeal: true
        # Whether the sapling needs specific blocks below to grow
        required_blocks:
          - "GRASS_BLOCK"
          - "DIRT"
          - "PODZOL"
        # Minimum space needed above the sapling (y height)
        required_height: 7
        # Whether to check for space in a radius around the sapling
        space_check:
          enabled: true
          radius: 2
          height: 5
# Drop table to use for this block (references a table in drops.yml)
    drops: "example_sapling"
# Configuration version - do not modify
version: 1 Your custom saplings growth system is fully configurable and allows custom trees growth.
Foliage uses WorldEdit schematics to handle custom trees:
WorldEdit/schematics/<your-schematic>.schemFoliage/schematics/grow-into in the custom_saplings.yml file.# Drop tables configuration
drop-tables:
  fir_leaves:
    drops:
      stick:
        material: STICK
        amount: 1-2
        chance: 0.1
        fortune-affected: false
      fir_sapling:
        itemsadder: custom_blocks:fir_sapling
        amount: 1
        chance: 0.05
        fortune-affected: false
maple_leaves:
    drops:
      stick:
        material: STICK
        amount: 1-2
        chance: 0.1
        fortune-affected: false
      maple_sapling:
        nexo: maple_sapling
        amount: 1
        chance: 0.05
        fortune-affected: false