promotional bannermobile promotional banner

Dynamic Trees - Au Naturel Edit

Trees that grow and change - with fixes and performance edits

File Details

DynamicTrees-1.20.1-1.4.9.jar

  • R
  • Dec 27, 2025
  • 3.58 MB
  • 1.9K
  • 1.20.1
  • Forge

File Name

DynamicTrees-1.20.1-1.4.9.jar

Supported Versions

  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:dynamic-trees-au-naturel-edit-1406388:7383660")
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

Corrected versioning.

Latest total changes (may also include changes from last version):

Thread-Safety Improvements (C2ME Compatibility)

  • Fixed ClassCastException crash during parallel chunk generation with C2ME/Chunky
  • LevelPoissonDiscProvider: Replaced HashMap with ConcurrentHashMap and atomic computeIfAbsent()
  • PoissonDiscChunkSet: Added volatile modifiers for cross-thread visibility
  • JoCodeRegistry: Converted to ConcurrentHashMap for thread-safe code registration
  • BiomeDatabases: Converted to ConcurrentHashMap with thread-safe Set

Worldgen Performance

  • BiomeDatabase: Eliminated double map lookup (containsKey + get → single get)
  • DynamicTreeFeature: Cached biome lookups, replaced forEach lambdas with traditional loops
  • CaveRootedTreeFeature: Cached biome lookups, replaced forEach with for loop
  • LevelPoissonDiscProvider: Reuse TreeMap across iterations instead of per-iteration allocation
  • JoCode: Use MutableBlockPos in generateFork(), cache Direction.values(), use int overloads in smother()

General Performance

  • DynamicLeavesBlock: Cache Direction.values(), use MutableBlockPos in fallOn(), early exit optimization in getExactSpecies()

Client-Side Rendering

  • FallingTreeEntityModelTrackerCache: Replaced stream-based cleanup with efficient removeIf()
  • FallingTreeEntityModel: Added RGB color caching to reduce redundant bit operations