Releases: BentoBoxWorld/DimensionalTrees
Release 1.9.0
Release Highlights
- ⚙️ Per-Tree-Type Material Overrides — Give individual tree species their own block replacements in the Nether and End, with global defaults as a fallback.
- ⚙️ Per-Gamemode Configuration — Running multiple BentoBox gamemodes on one server? Configure distinct Nether/End block replacements per gamemode.
- ⚙️ 🔺 Weighted Multi-Material Mixing — Blend multiple replacement materials with configurable percentage weights for more varied, natural-looking results.
Compatibility
✔️ BentoBox API 3.14.0+
✔️ Minecraft 1.21.x - 26.1.2
✔️ Java 21
Upgrading
- As always, take backups just in case.
- Stop the server.
- Replace the
DimensionalTreesjar with this one. - Restart the server — your existing
config.ymlwill be automatically migrated to the new format on first startup. - You should be good to go!
⚙️ Automatic config migration: If you are upgrading from 1.8.0, DimensionalTrees will automatically convert your existing single-string
logs/leavesvalues (e.g.logs: gravel) to the new weighted map format (logs: {gravel: 100}) on startup. A confirmation message is logged. No manual editing required.
⚙️ New config sections: Three new optional config blocks are available under both
netherandend:per-tree(per-species overrides),per-gamemode(per-BentoBox-gamemode overrides), and weighted material maps for all block slots. See the updated README for full examples and priority order.
🔡 Locale update: Error message strings now use MiniMessage color codes. If you have customised locale files, regenerate or update them.
Legend
- 🔡 locale files may need to be regenerated or updated.
- ⚙️ config options have been removed, renamed, or added.
- 🔺 special attention needed.
New Features
⚙️ Per-Tree-Type Material Overrides
[PR #41]
Previously a single global material was applied to all tree species in each dimension. This release adds optional per-tree-type overrides under per-tree.logs and per-tree.leaves in both the nether and end config blocks, letting you give oak, acacia, birch, jungle, spruce, and dark oak their own distinct replacements. Invalid or missing per-tree values silently fall back to the global default, so no config breakage occurs if you leave these sections empty.
⚙️ Per-Gamemode Block Configuration
[PR #42]
Servers running multiple BentoBox gamemodes (e.g. BSkyBlock + CaveBlock) can now configure different Nether and End block replacements per gamemode using the new per-gamemode.logs / per-gamemode.leaves config sections. Gamemode is resolved at event time via IWM.getAddon(world). The full resolution chain is: per-tree override → per-gamemode override → global default.
⚙️ 🔺 Weighted Multi-Material Mixing
[PR #43]
All material slots (global, per-tree, and per-gamemode) now accept a material: weight map instead of a single string, letting you blend multiple block types for each replacement. Weights summing to exactly 100 apply exact probabilities; weights above 100 are scaled proportionally (warning logged on load); weights below 100 leave the remainder as AIR (warning logged on load).
nether:
logs:
gravel: 80 # 80% gravel
netherrack: 20 # 20% netherrack
leaves:
glowstone: 70
soul_sand: 30Config format change: Existing single-string values (
logs: gravel) are automatically migrated to the map form (logs: {gravel: 100}) on first startup with 1.9.0.
Other Improvements
- ⚙️ 🔺 Auto-migration of 1.8.0 config format — single-string block values are silently converted to weighted maps on first startup
- Updated to Java 21, Paper 1.21.11, and BentoBox 3.14.0
- Added Pladdon support and
plugin.ymlfor standalone-compatible packaging - Added JUnit 5 test suite with MockBukkit for improved test coverage
- Replaced deprecated
Material.matchMaterialwith the modern Registry API - 🔡 Updated locale files to use MiniMessage color codes for error messages
- Updated dependencies and general code clarity improvements
What's Changed
- ⚙️ Add per-tree-type material overrides for Nether and End dimensions by @copilot-swe-agent in #41
- ⚙️ feat: per-gamemode block configuration for Nether/End trees by @copilot-swe-agent in #42
- ⚙️ 🔺 Add weighted multi-material mixing for log/leaf replacement by @copilot-swe-agent in #43
- docs: update README with new config format and features from recent PRs by @copilot-swe-agent in #44
- ⚙️ feat: auto-migrate 1.8.0 config.yml to 1.9.0 weighted-map format on startup by @tastybento in 935c129
Full Changelog: 1.8.0...1.9.0
Release 1.8.0
Compatibility
✔️ BentoBox API 3.0.0
✔️ Minecraft 1.21.3
✔️ Java 17
Upgrading
- Stop the server. Make a backup just in case.
- Copy this jar over the old one
- Restart the server
- You should be good to go!
Changelog
Legend
- 🔡 locale files may need to be regenerated or updated.
- ⚙️ config options have been removed, renamed or added.
- 🔺 special attention needed.
What's Changed
- 🔡 Czech translation by @gitlocalize-app in #37
- Improve description on README by @Awakened-Redstone in #38
- 🔺Release 1.7.0 by @tastybento in #39
New Contributors
- @Awakened-Redstone made their first contribution in #38
Full Changelog: 1.7.0...1.8.0
Release 1.7.0
This adds a lot of translations.
Compatibility
✔️ BentoBox API 2.0.0
✔️ Minecraft 1.20.x
✔️ Java 17
Upgrading
- Stop the server. Make a backup just in case.
- Copy this jar over the old one
- Restart the server
- You should be good to go!
Changelog
Legend
- 🔡 locale files may need to be regenerated or updated.
- ⚙️ config options have been removed, renamed or added.
- 🔺 special attention needed.
What's Changed
- Fixes a bug where admin command is not detected (#14)
🔡 Loads of locales added:
- Czech translation (#37)
- Translate zh-TW.yml via GitLocalize (#36) (commit: 42ecc54)
- Translate zh-CN.yml via GitLocalize (#35) (commit: 61441e3)
- Translate vi.yml via GitLocalize (#34) (commit: 37cb905)
- Translate uk.yml via GitLocalize (#33) (commit: ee6cacf)
- Translate tr.yml via GitLocalize (#32) (commit: a463148)
- Translate ru.yml via GitLocalize (#31) (commit: 201bc52)
- Translate ro.yml via GitLocalize (#30) (commit: 23b4c99)
- Translate pt.yml via GitLocalize (#29) (commit: a5003d8)
- Translate pl.yml via GitLocalize (#28) (commit: db73b25)
- Translate nl.yml via GitLocalize (#27) (commit: 17bc423)
- Translate lv.yml via GitLocalize (#26) (commit: cc6afd9)
- Translate ko.yml via GitLocalize (#25) (commit: 9c56bc7)
- Translate id.yml via GitLocalize (#22) (commit: b8002eb)
- Translate es.yml via GitLocalize (#19) (commit: e38f553)
- Translate de.yml via GitLocalize (#18) (commit: 0612bd2)
- Translate fr.yml via GitLocalize (#17) (commit: 9dc2362)
- Translate hu.yml via GitLocalize (#21) (commit: fb2ba96)
- Translate it.yml via GitLocalize (#23) (commit: 485c128)
- Translate hr.yml via GitLocalize (#20) (commit: 748212d)
- Japanese (#24) (commit: 8b031ab)
Full Changelog: 1.6.0...1.7.0
1.6.0 Release
Introduction
This release goes with the BentoBox 1.6.0 release.
Compatibility
Works on BentoBox 1.6.0 and compatible with Server version 1.13.2, 1.14.2, 1.14.3, 1.14.4.
Upgrading
- Stop server. Make sure the server is using BentoBox 1.6.0.
- Copy this jar into the addons folder and remove the old jar.
- Restart the server
DimentionalTrees [pre-release1]
Addon to BentoBox that substitute the NetherTrees
It have end trees to.
You can config:
- The Trees that will transform
- On which dimension the trees transform
- The blocks that will be the logs/leaves on each dimension
- If send the sapling position if something goes wrong
This is a pre-release.
Official release will be made by BentoBox.
The download of the addon will be available soon.
If you're using BentoBox 1.4 or lower, disable the NetherTrees.
It is for BentoBox 1.5, and I made it using BentoBox 1.4 '-'
I'll make some changes before the official release.
This will only release 1.0 afer BentoBox 1.5 get available
But pre-releases will come.