Skip to content

Releases: BentoBoxWorld/DimensionalTrees

Release 1.9.0

14 Apr 05:42
2d1e729

Choose a tag to compare

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

  1. As always, take backups just in case.
  2. Stop the server.
  3. Replace the DimensionalTrees jar with this one.
  4. Restart the server — your existing config.yml will be automatically migrated to the new format on first startup.
  5. 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/leaves values (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 nether and end: 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: 30

Config 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.yml for standalone-compatible packaging
  • Added JUnit 5 test suite with MockBukkit for improved test coverage
  • Replaced deprecated Material.matchMaterial with 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

17 Nov 04:04

Choose a tag to compare

Compatibility

✔️ BentoBox API 3.0.0
✔️ Minecraft 1.21.3
✔️ Java 17

Upgrading

  1. Stop the server. Make a backup just in case.
  2. Copy this jar over the old one
  3. Restart the server
  4. 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

New Contributors

Full Changelog: 1.7.0...1.8.0

Release 1.7.0

14 Jan 18:16
01c74b4

Choose a tag to compare

This adds a lot of translations.

Compatibility

✔️ BentoBox API 2.0.0
✔️ Minecraft 1.20.x
✔️ Java 17

Upgrading

  1. Stop the server. Make a backup just in case.
  2. Copy this jar over the old one
  3. Restart the server
  4. 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

17 Aug 04:49

Choose a tag to compare

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

  1. Stop server. Make sure the server is using BentoBox 1.6.0.
  2. Copy this jar into the addons folder and remove the old jar.
  3. Restart the server

DimentionalTrees [pre-release1]

25 May 22:04

Choose a tag to compare

Pre-release

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.