Dynamic Trees - Recurrent Complex Compat
A compatibility mod for Minecraft 1.12.2 that resolves conflicts between Dynamic Trees and Recurrent Complex.
The Problem
Without this mod, forests are an inconsistent mix of two completely different tree systems:
- Recurrent Complex replaces vanilla biome decoration with its own static schematic trees (OakTree, BirchTreeBig, GenericTree, SpruceTree, etc.), placing pre-built log/leaf structures during world generation.
- Dynamic Trees replaces vanilla trees with living, growing trees that start as seeds, develop over time, respond to their environment, and fall realistically when chopped.
Because RC intercepts the biome decoration event before DT can act, entire biomes end up filled with RC's static trees while DT trees are blocked from generating. The result is forests full of lifeless, identical schematics surrounded by the occasional dynamic tree that managed to slip through.
How It Works
This mod uses Mixins to intercept Recurrent Complex's world generation at two levels:
1. Biome Decoration Override
RC's RCBiomeDecorator normally intercepts vanilla TREE decoration events and replaces them with its own structure generation. This mod prevents RC from handling TREE-type decorations, returning control to the vanilla event pipeline where Dynamic Trees operates. All other RC decoration types (cacti, desert wells, fossils, etc.) are unaffected.
2. Structure Generation Filter
RC's StructureGenerator is intercepted to cancel any structure whose ID contains "Tree" (BirchTree, GenericTreeHuge, OakTreeBig, DeadTreeLarge, etc.). Non-tree structures — dungeons, ruins, mazes, towers, crypts, and everything else RC is known for — generate normally.
3. Embedded Tree Conversion
For non-tree RC structures that happen to contain vanilla log and leaf blocks (e.g., a courtyard with decorative trees, a garden structure), the mod detects these tree patterns after placement and replaces them with Dynamic Trees rooty dirt blocks of the matching species. The detection algorithm:
- Finds vertical vanilla log blocks standing on natural ground (dirt, grass, mycelium)
- Traces connected trunks upward, including 2x2 trunks (dark oak, large jungle)
- Verifies associated leaf blocks exist nearby
- Skips structural logs (horizontal logs, logs on non-natural blocks) to avoid breaking buildings
Supported Tree Mappings
| Vanilla Wood Type | Dynamic Trees Species |
|---|---|
| Oak | dynamictrees:oak |
| Birch | dynamictrees:birch |
| Spruce | dynamictrees:spruce |
| Jungle | dynamictrees:jungle |
| Dark Oak | dynamictrees:darkoak |
| Acacia | dynamictrees:acacia |
Commands
| Command | Description |
|---|---|
/dtrc <biome> |
Teleport to a biome in unexplored terrain (2000-8000 blocks out) for testing. Supports tab-completion. |
Examples:
/dtrc forest
/dtrc birch_forest
/dtrc roofed_forest
/dtrc taiga
Requirements
| Dependency | Version |
|---|---|
| Minecraft | 1.12.2 |
| Forge | 14.23.5.2847+ |
| Dynamic Trees | 0.9.25+ |
| Recurrent Complex | 1.4.8+ |
| IvToolkit | 1.3.3-1.12 (required by RC) |
Installation
Drop DynamicTreesRC-1.12.2-x.x.x.jar into your mods folder alongside Dynamic Trees, Recurrent Complex, and IvToolkit.
Known Limitations
- Tree structures are identified by name (contains "Tree"). Custom RC structure packs with unconventionally named tree structures may not be caught.
- Embedded tree detection uses heuristics. Unusual tree shapes or trees built on non-standard ground blocks may not be converted.
- Mushroom structures (BrownMushroom, RedMushroom) are not affected, as Dynamic Trees does not handle mushroom generation.

