Project Goal
To create more dynamic, aesthetic, fun and natural looking trees while respecting the Minecraft graphic stylization and enforcing a narrow project scope that keeps things simple.
Our core values are:
- Immersive integration with Minecraft's aesthetic
- Keep the project scope small
- Minimal performance impact
- Mod compatibility at heart
Features
A growing tree is a multi-block structure of rooty soil, branches, and leaves blocks that has many advances over the Vanilla Minecraft tree structures. The formation of the tree starts with a seed. This seed is either planted by hand much like a Vanilla sapling or the seed has a chance of planting itself if left on the ground in a suitable location.  The tree then grows from a sapling, slowly increasing it's size over time, into a full sized tree. The tree can then be chopped down at it's base and all of the wood claimed at once.
Trees
- Grow progressively from seeds to mature trees over time.
- Grow in natural ways loosely modeled after real world trees and tend to grow in unique, believable ways.
- Grow around obstacles in a natural way.
- Are not just reskins but grow using different algorithms per species.
- Have growth rate and mature sizes that are biome, temperature and rainfall dependent.
- Drop seeds at random that can potentially plant themselves.
- Won't grow in darkness. Leaves not connected to an outer tree branch or starved of light will die. Outer branches without leaves slowly rot away.
- Will die and rot in a dark place (some species produce mushrooms when they rot).
- Walking on leaves blocks is slow and sinking. Falling on to leaves prevents fall damage and destroys the leaves.
- Vanilla fruits (apples and cocoa beans) have their own custom species to separate them. (Apple is a variant of oak, and cocoa is a variant of jungle)
- Thin branches can be climbed like ladders.
- Trees have custom sound effects for felling, hitting the ground, falling on water, or pruning.
- Particle effects on the leaves when the trees hit the ground.
Rooty Soil
- Provides nutrients to trees and can be depleted over time
- Applied with bone meal will increase soil fertility and allows the tree to grow past its mature state
- Applied with various brewed potions for different effects(see next section)
- Special effect particles are created on the entire tree when an acting substance is applied to the soil or bottom-most trunk block
- Comparator can be used to sense soil fertility level
Potions
- Biochar Base: Base tree potion for brewing
- Potion of Depletion: Depletes soil completely so tree stops growing
- Potion of Burgeoning: Fully fertilizes the tree, then grows faster until it runs out of fertility
- Potion of Transformation: Changes an existing Dynamic tree into another tree species
- Potion of Gigas: Transforms a tree into it's Mega variant (if available). By default it works with Spruce and Jungle trees.
Seeds
- Take the place of vanilla saplings
- Are randomly dropped from trees(configurable)
- Can self plant if setting on a dirt/grass/podzol block in a forest with a clear view of the sky above it(configurable)
Compatibility
- Vanilla trees function normally.
- Worldgen can be disabled to allow Vanilla trees to still spawn.
- All drops from growing trees are vanilla leaves, sticks, and logs. Branches are not obtainable in survival. Shears only obtain vanilla leaves.
- Vanilla textures are used for wood and leaves making it resource pack friendly.
- Seeds can be crafted from vanilla saplings and vice-versa by using a dirt bucket.
- Fire spreads and burns at the same rate as vanilla tree fires.
Season System
Dynamic Trees fully implements a season system for its trees, which is by default compatible with Serene Seasons. Trees will respond to the climate and slow / stop their growth accordingly. Fruits also have a specific harvesting season and a flowering season. For a complete list of fruits and their preferred seasons, visit the wiki.
At least one season mod is required for this system to be activated.
Addons can integrate seasonal systems as well if they are not compatible by default already.
Forests
- As trees drop seeds the forest line spreads.
- Trees compete for sunlight when placed near each other and grow taller and skinnier than trees in the open. This produces a forest canopy effect.
- Canopies block skylight producing dark forests where mobs can spawn during the day and saplings fail to thrive.
- Podzol forms from dirt or grass under the dark forest canopies of some tree species. Podzol is meant to emulate forest leaf litter appearance.
Harvesting
- Cutting the tree at it's base will fell the entire tree
- Thicker branches take longer to harvest
- Whole branches can be removed from the tree without disturbing the main body of the tree
- Harvesting results in vanilla logs and sticks the number of which is calculated as the total volume of wood in the tree or branch
- Fortune enchantments on axes are actually useful and work to increase log yield
- Tools are damaged by the number of logs harvested(configurable)
- Leaves grow back when destroyed if outer branches are left undamaged
- Trees fall over when harvested(configurable)
The Woodland Staff
The woodland staff is a multi-function tool intended for use in creative mode(can't be crafted). In the most basic usage it can be used to copy a tree. Right click on any dynamic tree with the staff to pull it's JoCode. Next, right click on viable soil to recreate the same tree. The tree is also rotated based on the player direction. If the player right clicks a tree with the staff while sneaking then only the tree specieswill be copied, leaving the JoCode unchanged.
In this way you can for instance create an acacia tree that is shaped like a tall jungle tree.
Another feature for the Woodland Staff is that any JoCode pulled from a tree is also copied to the system clipboard as text. This enables a player to share tree models with others easily.
Dynamic Trees Plus
Dynamic Trees Plus is an extension to the Dynamic Trees mod exclusive to the 1.16.5 version and up, which aims to add dynamic versions of other vegetation that would not fit the scope of this mod, such as Cacti and Huge Mushrooms.
Tree Packs
Tree Packs are a datapack-like JSON system implemented into Dynamic Trees that allows full customizability of dynamic trees and your world, they are the backbone of any addon and a powerful tool for users and pack makers alike.
What can Tree Packs do?
- Modify properties of any tree such as growth speed, size, leaf block, leaf types, growth shape, trunk thickness, drops, and more!
- Create entirely new trees using any blocks as a base.
- Create custom fruits and pods.
- Add custom features to any tree, such as vines flowering leaves.
- Easy to learn and use even for people without programming knowledge.
For more information and a guide on Tree Packs visit https://github.com/DynamicTreesTeam/DynamicTrees/wiki/Tree-Packs or join our discord.
Mod Compatibility
Add-Ons
Add-ons are mods that do the work of including modded trees in a more modular and maintainable fashion using the Dynamic Trees API. This prevents bloat in the base Dynamic Trees mod which only includes vanilla Minecraft trees. Below is the current list of add-ons developed by the DynamicTreesTeam and other modders. Refer to their individual project pages for information on which trees the mods are able to provide.
- For a comprehensive list of addons visit https://github.com/DynamicTreesTeam/DynamicTrees/wiki
Compatible Mods
Mods where features mix well with Dynamic Trees, the compatibility is notable or has been explicitly provided. Mods not on this list are not necessarily incompatible.
- Create: The tree cutter works with dynamic trees
- Distant Horizons: Trees render as they should in LOD chunks.
- Better Foliage: Leaves blocks will be enhanced as expected (does not work with trunk rounding feature)
- Better Beginnings: Can't chop down a tree with your bare hands, tools work as intended.
- Passable Leaves / Passable Foliage: Dynamic Tree leaves become passable when this mod is installed.
- No Tree Punching: Trees are succesfully unpunchable, good luck!
As mentioned before, mods that implement seasons become compatible with Dynamic Trees' seasonal system.
- Serene Seasons
- Better Weather: As of 0.10.0 Beta 23 in 1.16+
Incompatible Mods
- Applied Energistics 2: Meteor generation ruins dynamically generated trees.
- Tree Chopper: Known to cause crashes or make trees drop nothing.
- Liquid Luck: Dynamic Trees are known not to drop logs and sticks when this mod is installed.
- Cave Biomes API: Changes to chunk generation make Trees generate incorrectly
Project Scope
Project Scope
Examples of in scope features
- Trees and only trees.
- Provide advanced growing versions of vanilla trees
- Zero to minimal configuration. Should work out of the box with sane settings or defaults
- Provide interfaces for other mod developers to expand the mod with add-ons, new trees, effects, mobs and other things. If you need a hook then lemme know :)
- Response to seasonal changes
- To achieve compatibility with other popular mods when appropriate
- Stylization should not deviate from the Minecraft aesthetic. All parts of a block model should be comprised of rectangular prisms with each face aligned to 1/16 meter(a standard minecraft texel)
Examples of out of scope features
- Species of trees not implemented in vanilla Minecraft(such as those in Forestry, Pam's Harvestcraft, Natura, Biomes O' Plenty). For compatibility with these please refer to the Addons section.
- Creature entities, mobs, and/or particles(ents, squirrels, monkeys, fireflies, etc)
- Fruit(other than vanilla Minecraft tree fruit products: apples, cocoa beans)
- Dungeon loot(pointless for this mod)
- Tree villages, villagers and/or trading posts
- Swings or other gadgets commonly attached to trees
- Magic, energy systems, XP drops, enchantments
- Tools and/or apparel(in survival, admin tools might be okay)
- Grafting
- Tree genetics and/or pollination, such as that in forestry
- Automatic fertilizers, detectors, or any kind of machine for interacting with the tree
Features like these will never be implemented. I'm not suggesting that these are bad ideas or wouldn't be fun but they are indeed outside the scope of what this project is meant to accomplish.
Those wishing to implement out of scope features are welcome to do so in a separate expansion or compatibility mod. Popular mods tend to experience scope creep and featuritis. Ultimately you end up with jet packs, metal ore trees, nyan cats, flaming super death cactus swords, and 15 kinds of creepers. I won't have it.
Technical Details
Technical Details
Under the hood
Trees grow using a combination of a cellular automata algorithm for leaves and branch network logic for trunk and branches No tile entity rendering is used. Rendering is done with BakedModels for better performance with large numbers of tree nodes Leaves are only updated with updateTick() so chunks are re-rendered when dirty no more than with vanilla crops A DropCreator interface is used for creating seed drops and other items. New drop creators can be registered by other mods to expand existing or new tree behavior Worldgen uses a custom variation of Adaptive Incremental Stippling(AIS) using the PoissonDisk Distribution for high quality and non-overlapping tree placement Season data available here
License, Permission and Modpacks
Permission is hereby granted to use this mod in ANY mod pack or server. Please don't ask for permission to use the mod in your mod pack after I've already told you that you can, it's annoying. Attribution would be nice but I don't require it. You are not allowed to re-publish this mod to other sites without providing a CurseForge download link and my permission. Did I mention that you have permission to use this mod in your mod packs?.. Good! You were paying attention!
90% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+