promotional banner

Dynamic Trees: Universal Compat

Adds broad compatibility between Dynamic Trees and modded wood types. Automatically detects trees, registers species, and integrates growth systems. Built as a scalable framework to support many mods without requiring individual compat patches.
Back to Files

Forge-2.6

File namedynamictreescompat-2.6.jar
Uploader
GaboouuGaboouu
Uploaded
Sep 18, 2026
Downloads
157
Size
379.7 KB
Mod Loaders
Forge
File ID
8909067
Type
B
Beta
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:dynamic-trees-universal-compat-1504017:8909067")

Learn more about Curse Maven

What's new

Dynamic Trees: Universal Compat 2.4 (Forge 1.20.1)

Fixed

  • Fixed generated pack crashes when tree shapes sharing a leaves material request different leaves properties types; shared materials now fall back to the default type.
  • Fixed block-tag detection crashing when a mod contains nested data directories, such as integratedterminals/forge/tags/blocks/....
  • Invalid block-tag resource locations are now skipped safely during detection.
  • Made generated compatibility declarations deterministic across registry/resource/mod enumeration order, and stopped runtime worldgen observations from changing future startup registry membership.
  • Added restart-safe generated-pack manifests, descriptor persistence, an authoritative pre-start server_pack option, and a bounded pre-registry diagnostic handshake.
  • Preserved unmarked legacy generated packs as a migration backup instead of deleting them.
  • Isolated broken foreign lazy placed-feature traversal (including Goety Event Horizon's missing feature reference) so DTC records and skips it rather than crashing startup.
  • Persisted the bootstrap worldgen cache at config/dynamictreescompat/worldgen_cache.json.

Important restart behavior

  • A newly changed generated pack still requires one full Minecraft restart so Dynamic Trees can register its species before Forge registries close.
  • Existing chunks are not retroactively converted.

Dynamic Trees: Universal Compat 2.3 (Forge 1.20.1)

Added

  • Added automatic survival conversion recipes in both directions between source saplings and generated Dynamic Trees seeds, using a Dynamic Trees dirt bucket.
  • Added the generated compat pack as server data, so generated recipes load in single-player and dedicated servers.

Fixed

  • Fixed mixed and variant foliage receiving unstable, duplicate LeavesProperties registrations that could leave some dynamic leaves unregistered.
  • Fixed unchanged generated packs being staged again on every launch; equivalent generated contents now reuse the active pack.
  • Updated the Forge 1.20.1 release line to version 2.3.

Important restart behavior

  • A newly changed generated pack still requires one full Minecraft restart so Dynamic Trees can register its species before Forge registries close.
  • Existing chunks are not retroactively converted.

Earlier development update

Added

  • Configured-feature-first tree component discovery using the actual trunk, foliage, branch, and provider block states used by Minecraft worldgen
  • Generic topology fingerprinting and Dynamic Trees archetype selection for exact, approximate, and generic fallback generation
  • Client model/texture resolution through source blockstates, models, parents, and texture aliases
  • Explicit per-candidate compatibility results: generated exact, generated approximate, generic fallback, already supported, intentionally unsupported, incomplete, or failed
  • Worldgen execution tracer for claimed-but-still-generating and unclaimed source feature diagnostics
  • Persisted runtime observations and source-feature overrides for later restart processing
  • Generated-pack staging: newly discovered resources are written to generated_trees_pending_restart and activated before Dynamic Trees scans them on the next restart
  • Mandatory client restart screen during the one-time migration from the legacy generated-pack layout
  • GabouLibs as a required runtime dependency

Fixed

  • Prevented minecraft:air from being accepted as a tree component or worldgen probe block
  • Prevented structural false positives such as boards, planks, and bundles from becoming trees
  • Preserved source-specific descriptors even where different source features share the same primitive materials
  • Prevented Dynamic Trees seed/sapling null-registry crashes caused by adding newly discovered species to an already-live resource pack
  • Restricted runtime tree worldgen matching to strong vegetation/tree evidence, avoiding fluid, lake, and unrelated feature contamination
  • Excluded bamboo from automatic tree conversion

Important restart behavior

  • Dynamic Trees registers generated branch, leaves, seed, and sapling blocks only during startup.
  • The first launch after migrating from the old generated-pack format intentionally has no active generated compat trees. A non-dismissible screen requires quitting Minecraft; the following launch activates the staged pack.
  • Later discovery changes are also staged for a full restart rather than applied through a live datapack reload.

Earlier development additions

  • Initial Dynamic Trees compatibility system for modded trees
  • Automatic detection of unsupported trees from loaded mods
  • First working integration with Atmospheric (rosewood)
  • Runtime generation of Dynamic Trees data (species, families, seeds, leaves)
  • World generation replacement system for supported trees
  • Client asset generation for branches, leaves, saplings, and seeds
  • Debug logging for detection, registration, and worldgen

Fixed

  • Missing textures for generated trees (pink/black rendering)
  • Incorrect asset paths for branch and leaves models
  • Worldgen registration not being applied due to incorrect DT data structure
  • Feature canceller not handling multiple namespaces properly

Improved

  • Switched to proper Dynamic Trees datapack-based registration instead of direct registry usage
  • More reliable detection of wood types using Moonlight integration

Known Issues

  • Opaque custom worldgen features may not expose enough topology for an exact Dynamic Trees translation and can use an approximate archetype
  • Some source placed features remain unclaimed until the tracer/runtime observation pipeline has enough strong identity evidence
  • Existing chunks are not retroactively converted

Upcoming

  • User-provided custom topology JSON files for exact overrides of approximate trees
  • Additional registered topology resolvers for mod-specific custom feature codecs
  • Further worldgen mapping and cancellation coverage for opaque/nested feature graphs

This mod has no additional files