Перейти к содержимому
Mineforgian

Tan's Huge Trees

Generate trees and some nature stuffs around the world. With some detailed systems.

Загрузки
33K
Подписчики
130
Обновлён
2 мая 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 25 сентября 2024 г.

Исходный код

Banner

Patreon, logo Icon in Social Colored Icons

NeoForge 1.21.1 currently buggy on server

Introduction

Tan's Huge Trees (THT) is a nature enhancement mod. Focus on big trees, world generation, and some detailed systems. Designed with custom pack system as well, like datapack. People can edit tree settings, create own trees, and sharing to other people.

  • Here is Wiki Website for this mod. There you can read some info, and see all default species and biomes.
  • Community packs made by users can be found in our Discord Forum
  • If you want to disable most of vanilla trees. Here is my small datapack for that No Vanilla Trees.

Installation

This mod required TannyJung's Main Pack, the official pack with default trees and settings. The mod can install it automatically once you playing with this mod for the first time, so it's optional to manual install it. For more info about how to install and update can be read in Installation Guide.

Features

  • Custom Pack : In short, it's similar to data-driven system. Mod is the core, then custom packs will use to edit most things in the mod. Official pack or TannyJung's Main Pack designed to be able to update through the internet, new trees by me can be added into your game without updating the mod. This system also supported community packs. People can edit the trees and sharing to other people.
  • World Generation : The trees in world gen is not real time procedural generated, but pre-generated with a lot of shapes. They place in the world by my own system, I named it "Region Pre-Location", which will create location of trees every time new regions is loaded then placing once the chunk generated. This allow tree size up to 1,000x1,000 blocks. I also added spawn conditions such as group spawning and waterside style.
  • Dead Trees : Trees in world gen can be generated as dead trees. Sometimes no leaves, no twig, hollow, or even fallen. By chance and by their unviable ecosystems. Living trees can also become dead tree after all leaves is gone, or after cutting their center part, which located where roots and trunk meet.
  • Tree Generator : This mod also includes tree generator, made with combo of commands and handcode. I used it to generate all trees in the mod. There's no any tutorial of how to use it yet.
  • Saplings : There's some built-in saplings to plant in survival and creative mode, found in creative tab and sapling trader. Anyway, you can find all sapling blueprints in custom packs, get them using give command /give @p tanshugetrees:tree_generator{BlockEntityTag:{ForgeData:{path:"#main/redwood/redwood"}}} for 1.21+ it's /give @p tanshugetrees:tree_generator[minecraft:block_entity_data={id:"",NeoForgeData:{tanshugetrees:{path:"#main/redwood/redwood"}}}]. For sapling trader, he can be summonned by put flowering azalea leaves into campfire, you will get a special flower, place it and wait.
  • Leaf Drop and Regrowth : Most trees can be drop and regrow their leaves. I also added seasons system. Install with Serene Seasons mod to syncs our seasons to their seasons. Some trees will fall their leaves in autumn and regrow in spring. Process speed may very slow, depend on how big of the tree and how many trees in the area.
  • Leaf Litter : Built-in leaf litter system. Create leaf litter on the ground and water while in world gen and while leaves drop. Let's grab a broom and go sweep some leaves at front of your house.
  • Leaf Auto Decay : Some trees can automatic decay their leaves after cutting their twig parts. Process speed may very slow, depend on how big of the tree and how many trees in the area.

Compatibility

Here is list of mods that this mod designed to compatible to. Note that I’m not fan of modpacks and popular mods, I like to make mod that can work by itself, so it only support what I want to do. Anyway, most parts of the mod is already customizable, so you can manual adding mod support by config and custom packs.

  • Most Terrain Generation Mods : Just like a structure mod. My trees only required biome where to spawn.
  • Concurrent Chunk Management Engine (C2ME) : Our world gen now can work with multi-thread. But this still need tests, as it may still have some incompatibility that I overlooked.
  • Serene Seasons : Make my trees drop and regrow leaves based from their seasons
  • Biomes O' Plenty / Region Unexplored : Vanilla biomes just not enough for all my trees, so I moved some trees to their biomes. As this mod designed to revamped biomes with different themes.
  • NoCubes / No Cubes Reloaded : New versions I have added a small system called "Block Connector" to make my trees look better and connected when use with these mods, instead of like chained sausages.

Here is list of mods that incompatible to this mod. Only what I got from people reported or encountered by myself, so there maybe more mods other than these.

  • OptiFine : This mod now incompatible to OptiFine, due to Forge resource location code changed. There's no way to fix this, OptiFine 1.20.1 itself also not receive any update since 2023. I would recommended to use Embeddium and Oculus mod instead.
  • Valkyrient Skies : Tree generator will not work properly because of entity physic changed or something, this causing the generator to generate with only one direction. One of user reported that this is now fixed, I'm not sure.
  • Distant Horizons : It's incompatible only when you use "Features" mode for distant generator. It will cause the trees to generate incorrectly, like when chunk corrupted. This because my trees only generate once the chunk generated, even with Distanct Horizons fake chunks. Then after they generated in fake chunks, they will not appear in real chunks. Use "Full" mode instead, some versions may refer as "Internal Server" mode.

Customization

You can edit most parts of the mod through config. There's 2 ways for 2 different parts, basic and advance editing.

  • Using config files. Good for users. Easiest way but only basic editing such as disable trees, change tree biome, turn off some mod features. Config for this mod will be in Game Directory > config > tanshugetrees. How to use and most descriptions already written there, please read before using them.
  • Using custom packs. Good for modpacks. More complicated but good for long-term, pre-config before change by users. Advance customization such as add new tree species, new variants, new decorations. You can create your own using my packs as example or from other made. Custom packs made by me and others can be found in Discord Forum.

From Creator

Thank you for playing my mods! I'm very happy to see people enjoy my hobby. You can also support me by donate on Patreon and buying my artworks if you want. Your support can keep me motivated to continue developing my mods. Anyway, you can easily support me by playing them, sharing screenshots or videos with them, and following my artworks on Twitter.

Hope you understand and respect. I maybe not a good modder who open to all requests and suggestions. I made mods for my feeling first just like doing artworks, and meant to be personal project more than public project. I do what I want to do using the way I like. Almost all my mods made with the combine of my command block skills, my ordinary coding skills, and the help of MCreator for some hard to manage systems.

Will I do Fabric port of my mods? Unfortunately, no. I'm not fan of it. Also please understand that I have more than one mod, each one also complicated and detailed. Fabric port will be too much hard work for me. There maybe someone in the future who interested in helping to port it, but I have to consider that first.

There's also terms of use. By using my mods and my source codes, you must agree with my decisions.

  • You can use my mods in your modpacks. But note that if you use edited versions made by others or versions that still in development from my GitHub, I don't provide support while using them.
  • Suggestions and requests is not open for my mods. Do not suggest to add new features, change methods, and request to port to other versions. Except contents in the mod that is half open, means you can suggest, but I may ignore them if I don't interest in them.
  • Source code is open publicly. You can read, study, and edit my codes privately. But do not suggest about your edit and publish your own edit without permission.
  • Any of my creations are copyrighted, such as textures and models. Do not use them in your works. For generated things is half copyrighted, such as trees generated by my tree generator. You can use them in your custom maps and part of your builds. Just put credit to the mod. But do not use them in your mods or datapacks that look likely to copying of my mod.

screenshot image

Mod By TannyJung | Started on Around April 2021

Ченджлог

1.8.0Бета1.21.1 · 2 мая 2026 г.

Update the mod from older versions to this may cause some issues, please backup your config and your world before doing it. You can read changelog below to see what changes, what will break.

Support Custom Pack Version 1.8.0


Version Compatibility Impactive

  • Renamed TannyJung's Main Pack from "#TannyJung-Main-Pack" to just "#main". This can rename automatically, but other custom packs that edit the main pack will need to update the old name manually.
  • Bring back data structure version as A.B.C like one moment in the past. This will cause version test error in older mod versions.
  • Changed sapling preset file from NBT command to normal structure. The reason is that command can be change by game version, so make it normal structure for global support. This will affect to custom pack makers, they will need to update the preset structure.
  • Added mod ID into our NBT data to prevent ID conflicts with other mods. This will affect to some exist entities from this mod, they will no longer update, and not disappear automatically. If I'm not wrong, you can use command "/kill @e[tag=TANSHUGETREES]" or similar, in case you found them and want to remove.
  • Renamed "world_gen" option to "enable" in world gen config. This will affect to custom pack makers and maybe some people that make the changes to config.
  • Reorganized world data files, reduced number of data stored there, this also reduced the folder size. This will cause tree cut in the new areas.

Highlights

  • Added support for 1.21.1 NeoForge
  • Some code reorganized, converted commands into codes. Should improve some server tick though.
  • Added built-in main pack. The mod now stored main pack inside its JAR, and will install this built-in instead when failed to connect to the internet or not support version.
  • Some performance improved. Fixed slow world gen caused by running tree decorations in every blocks. Bring back spiral tree distance test. Added pre-convert tree place BIN, areas with a lot of trees should generate faster.

Gameplay Related

  • Removed online news. I just feel like it's out of theme and invasive to others.
  • World gen config file now requires restart command same as normal config
  • Removed auto install main pack in game loading step, only do it when in a world.
  • Bring back dead trees by unviable ecology, but only normal levels, not fallen.
  • Removed "waterside_chance" option in world gen config, and replaced with "spawn_type" instead. This new one makes trees spawn by types. Supports normal, waterside, landside, and shoreline.
  • Added XZ for mirrored. Means more variant of trees spawn in the world.
  • Tree generator now get from extracted ZIP first, then get from unextracted ZIP if failed. Make it easier to update sapling presets, no need to run restart every time you makes changes.
  • Improved chat messages. Added tooltip in prefix. Added private chat messages.
  • Prevent blocks to be place at and outside bedrock layers. At highest and lowest layers.
  • Fixed tree generator block building step not break process limit. Also make it not skip when in shaping spheres, this fixed spike lag when generate them.
  • Bring back tree generator TP limit config
  • Fixed leaf litter stacks underwater

Non-Gameplay Related

  • Moved loop systems to server tick, instead of using first player joined. This also fixed loop bug.
  • Adapt world gen path ID based from subfolders in the pack
  • Custom block testing now support property test. For example, minecraft:pink_petals[facing=north] and minecraft:pink_petals[facing=north,flower_amount=1] this will returns true. I can't find this in previous version, probably removed by accident. Oops.
  • Renamed "config_worldgen.txt" back to "config_world_gen.txt" - .-) Also some updates about it, added default values.
  • Some changes
1.8.0Бета1.20.1 · 2 мая 2026 г.

Update the mod from older versions to this may cause some issues, please backup your config and your world before doing it. You can read changelog below to see what changes, what will break.

Support Custom Pack Version 1.8.0


Version Compatibility Impactive

  • Renamed TannyJung's Main Pack from "#TannyJung-Main-Pack" to just "#main". This can rename automatically, but other custom packs that edit the main pack will need to update the old name manually.
  • Bring back data structure version as A.B.C like one moment in the past. This will cause version test error in older mod versions.
  • Changed sapling preset file from NBT command to normal structure. The reason is that command can be change by game version, so make it normal structure for global support. This will affect to custom pack makers, they will need to update the preset structure.
  • Added mod ID into our NBT data to prevent ID conflicts with other mods. This will affect to some exist entities from this mod, they will no longer update, and not disappear automatically. If I'm not wrong, you can use command "/kill @e[tag=TANSHUGETREES]" or similar, in case you found them and want to remove.
  • Renamed "world_gen" option to "enable" in world gen config. This will affect to custom pack makers and maybe some people that make the changes to config.
  • Reorganized world data files, reduced number of data stored there, this also reduced the folder size. This will cause tree cut in the new areas.

Highlights

  • Added support for 1.21.1 NeoForge
  • Some code reorganized, converted commands into codes. Should improve some server tick though.
  • Added built-in main pack. The mod now stored main pack inside its JAR, and will install this built-in instead when failed to connect to the internet or not support version.
  • Some performance improved. Fixed slow world gen caused by running tree decorations in every blocks. Bring back spiral tree distance test. Added pre-convert tree place BIN, areas with a lot of trees should generate faster.

Gameplay Related

  • Removed online news. I just feel like it's out of theme and invasive to others.
  • World gen config file now requires restart command same as normal config
  • Removed auto install main pack in game loading step, only do it when in a world.
  • Bring back dead trees by unviable ecology, but only normal levels, not fallen.
  • Removed "waterside_chance" option in world gen config, and replaced with "spawn_type" instead. This new one makes trees spawn by types. Supports normal, waterside, landside, and shoreline.
  • Added XZ for mirrored. Means more variant of trees spawn in the world.
  • Tree generator now get from extracted ZIP first, then get from unextracted ZIP if failed. Make it easier to update sapling presets, no need to run restart every time you makes changes.
  • Improved chat messages. Added tooltip in prefix. Added private chat messages.
  • Prevent blocks to be place at and outside bedrock layers. At highest and lowest layers.
  • Fixed tree generator block building step not break process limit. Also make it not skip when in shaping spheres, this fixed spike lag when generate them.
  • Bring back tree generator TP limit config
  • Fixed leaf litter stacks underwater

Non-Gameplay Related

  • Moved loop systems to server tick, instead of using first player joined. This also fixed loop bug.
  • Adapt world gen path ID based from subfolders in the pack
  • Custom block testing now support property test. For example, minecraft:pink_petals[facing=north] and minecraft:pink_petals[facing=north,flower_amount=1] this will returns true. I can't find this in previous version, probably removed by accident. Oops.
  • Renamed "config_worldgen.txt" back to "config_world_gen.txt" - .-) Also some updates about it, added default values.
  • Some changes
1.7.0Бета1.20.1 · 22 декабря 2025 г.

Update the mod to this version may cause some issues. Please backup your config and your world before doing it. You can read changelog below for what changes, what will break.

Support Custom Pack Version 20251216


Version Compatibility Impactive

  • Fixed create new worlds without restart the game can cause world data folder corrupted, make some trees not spawning and sometimes generate wrong trees. Caused by cache data not reset, so it uses previous world cache when generate new world, include dictionary cache which must be one per world. This fix will not restart the trees in your exist corrupted worlds, so you will need to delete world data folder in your corrupted worlds manually to restart it. The folder located in World Folder > data > tanshugetrees.
  • Some changes on custom pack structure. New folders, moved folders, leaf litter as TXT function. This will affect to some custom packs. They will need to reorganize some files that related to these changes.

Highlights

  • Bring back sapling trader. Now with data-driven style, so you can edit him through custom pack.
  • Added tree summoner staff. Just for fun.

Gameplay Related

  • Some fixes about multi-thread safety
  • Fixed game crash by decimal number as A,B instead of A.B caused by String.format("%.2f", value) result differently in some countries
  • Pack incompatibility and news message now only run once per world when first player joins, not every time there's one player in the world.
  • Trees with non leaves block now can decay by living tree mechanics, with instantly disappeared.
  • Saplings now can get with just a short path instead of all of its data. Short path like this /give @p tanshugetrees:tree_generator{BlockEntityTag:{ForgeData:{path:"#TannyJung-Main-Pack/redwood"}}}.
  • New command to summon trees. For example, /TANSHUGETREES command summon_tree #TannyJung-Main-Pack/redwood it will summon a tree generator at your position.

Non-Gameplay Related

  • Make TannyJung's Main Pack run first before all packs
  • Redesigned config maker. This affect to main config and shape file converter. Now it can reset your unchanged values automatically, so no need to fix them manually when there's important value changes.
  • Changed leaf litter file style from custom style to TXT function
  • Removed name option in tree presets, now use same name as file name instead.
  • Separate tree decoration folder from functions folder and make it global folder, so you can now add new decorations directly without using replace option to add them into TannyJung's Main Pack.
  • TXT function fill block now replace blocks match in list. Previous versions only support air and non air blocks.
  • Some changes and fixes in living tree mechanics. Trees without leaves not remove location.
  • Increased way function count per tree from 3 to 9
  • Fixed shape file converter again. Incorrected file name and generation speed not instantly after generate second tree. Caused by summon new tree generator too fast, data sync only affect one generator.
  • Fixed block test in TXT function not work, because the chunk it test is block pos, not chunk pos.
  • Fixed auto install TannyJung's Main Pack can install incompatible pack version.
  • Some cache code refactoring
  • Some changes
1.6.0Бета1.20.1 · 14 декабря 2025 г.

Update the mod to this version may cause some issues. Please backup your config and your world before doing it. You can read changelog below for what changes, what will break.

Support Custom Pack Version 20251023


Version Compatibility Impactive

  • World data folder changed again. Removed node style data and back to use region style again to reduce number of files. Redesigned data into BIN and added dictionary system, a lot less space. Old world will discontinue unfinished trees.
  • Redesigned shape files from TXT to BIN (Binary File). This improve world gen performance and lower space. Custom pack developers will need to regenerate their trees.
  • Shorter file location paths. This affect custom packs, the paths you wrote in world gen files, tree settings, etc. For example, A/presets/C/C.txt now it's A/C.
  • Config world gen now renamed from config_world_gen.txt to config_worldgen.txt, for cleaner name purpose. No need rename your old one manually, the mod can do it once you running new version.

Highlights

  • TannyJung's Main Pack now can auto install itself in the first time you played the mod
  • Custom pack ZIP format support. No need to extract pack now, just drag to the folder. Note that downloading TannyJung's Main Pack directly from GitHub still need to extract ZIP and rename folder.
  • New dead tree style "Coarse Woody Debris" or fallen trees
  • New tree decorations. Generate trees with chance of extra things. Such as bee nest, moss, mushroom, etc.
  • Some changes to make world gen support multi-thread. C2ME multi-thread compatibility. Note that this still needs more testing.
  • Added data migration system. So the mod can now update some data from previous mod version.

Gameplay Related

  • Updating packs and repairing config now almost safe to do while playing a world. World gen will be auto paused.
  • Seed based world gen. Create a world with same seed now can found same trees in the same location.
  • Surface detection now based from tree size. Included structure detection as well. Also surface smoothness now adapt from tree size. Smaller trees can now generate on mountains, but bigger trees will avoid them.
  • Dead tree level now write as 110, 120, 210, etc. Also added auto and auto_pine for auto select level.
  • Improved TXT function. Refactoring, new options, function in function, if-run conditions.
  • Reorganized commands. Also added permission test, so people can understand that command errors mean you need server permission.
  • Some updates on living tree mechanics. Added dormancy to prevent trees become dead after no leaves by seasons.
  • Added min build height test. This fixed trees generate under the world in skyland world gen style.
  • Fixed system loops sometimes stop or slow after rejoin worlds
  • Fixed Serene Seasons mod compatibility. Our seasons not not sync to their seasons.
  • Fixed unviable_ecology_skip_chance config not affect to dead trees

Non-Gameplay Related

  • Improved shape file converter. Generate a lot faster. Also no block placing in the world now, so no longer needed custom dimension datapack to be installed.
  • Small changes
1.5.2Альфа1.20.1 · 14 августа 2025 г.

Update the mod to this version may cause some issues. Please backup your config and your world before doing it. You can read changelog below for what changes, what will break.

Support Custom Pack Version 20250814


Version Compatibility Impactive

  • Data structure version back to use old style. Changed from "A.B" to "YYYYMMDD".

Highlights

  • Fixed world gen config keep resetting, because of small ")" in the path directory -_-)
  • (Need Tests) Fixed trees cut at region border again!? By +-4 size of chunk status scanner and +-4 region scanner start point.

Gameplay Related

  • Improved grass area using full handcode and renamed it from "disk_grass" to "grass_area"
  • Fixed trees with offset not spawning because of max height spawn config (it should only test origin height)

Non-Gameplay Related

  • Added new options in tree generator "Function Style" to specify how function will be run on that part. Such as above, below, side, and all.
  • Small changes

1.5.1Альфа1.20.1 · 12 августа 2025 г.

Update the mod to this version may cause some issues. Please backup your config and your world before doing it. You can read changelog below for what changes, what will break.

Support Custom Pack Version 1.5


Highlights

  • Fixed game crash when playing with this mod for the first time
  • Fixed some arrays is null

1.5.0Альфа1.20.1 · 11 августа 2025 г.

Update the mod to this version may cause some issues. Please backup your config and your world before doing it. You can read changelog below for what changes, what will break.

Support Custom Pack Version 1.5


Version Compatibility Impactive

  • Renamed "TannyJung-Main-Pack" to "#TannyJung-Main-Pack". This cause incompatible to older versions for sure. Old main pack will automatic mark as incompatible.
  • Reordered some dev folders, also make them hidden.

Highlights

  • (Need Tests) Fixed trees cut at region border. By -1 from chunks and +1 to chunks.

Gameplay Related

  • Fixed tree generator skipping sprig part, because of code systems wrong order.
  • Fixed disable surrounding area or waterside detection config causes waterside trees spawn everywhere
  • Fixed file location incorrected inside tree location. This disable shape reader in living tree mechanics.
  • Fixed living tree mechanics not run process when set process limit to 0 (no limit)
  • Fixed tree location not disappear when run out of process and with no leaves

Non-Gameplay Related

  • Mark the trees as incompatible when detects empty storage directory
  • Fixed shape file converter not use instant speed
  • Fixed dependencies incompatibility test keep resetting. Caused by version test returns true and remove incompatible mark.
  • Fixed floating leaves sphere zone in sometimes, because I did -1 distance from sprig.
  • Fixed place block function from sapling, with keep option disabled, not replacing exist blocks. Because code wrong order.
  • Fixed data structure version test not mark that pack as incompatible when not write it in version file
  • Minor changes

1.4.0Альфа1.20.1 · 2 августа 2025 г.

First upload on Modrinth! This version is alpha of new update, not the same as older versions that the trees placed when player nearby.

A lot of changelogs, read in Discord.

Комментарии

Загружаем…