Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
Let your players plant saplings below the surface without weird hacks. Underwater Trees keeps placement safe, auto-replants when you want it, and locks configs down so griefing doesn't spiral out of control.

Why server owners love it
- ๐ฑ Custom soil + sapling allowlists mean only the trees you approve can grow underwater.
- ๐ก๏ธ Stability guard cancels physics + fluid breakage so underwater builds stay intact.
- ๐ก Optional light override keeps saplings alive even in deep oceans.
- ๐ Live reload + config watcher merge new defaults automaticallyโedit, save, done.
- ๐ Update checker (Modrinth + Hangar) and join reminders keep your fleet current.
- ๐ MiniMessage-powered localization lets you style player + console feedback exactly the way you like.
Requirements
- Paper 1.21.x server (Spigot/vanilla forks are not supported).
- Java 21 runtime.
- Optional: a permissions plugin (LuckPerms, etc.) for fine-grained access to
/timberellacommands.
Setup in 3 steps
- Drop
underwatertrees-paper-<version>.jarintoplugins/. - Start the server once.
config.yml,lang/, and defaults appear underplugins/UnderwaterTrees/. - Adjust the config (materials, chat prefix, watcher flags) and run
/underwatertrees reload.
From here the async watcher keeps your external edits synced, and reloads also refresh listeners, locales, and update status.
Everyday tips
- Use
saplings/soilsmaps to whitelist exactly what blocks are allowed underwaterโunknown materials are ignored safely. protect-underwater-saplingsshields saplings from physics until your placement rules are broken; leave it on for survival worlds.- Enable
log-detailtemporarily to print a full list of active materials and catch typos fast. - Set
update-check.notify-console+update-check.notify-op-jointo true so updates are surfaced automatically, and flipupdate-check.notify-console-always-shownif you still want no-update provider summaries. - Metrics (
metrics-enabled) and update checks (update-check.enabled) are opt-out friendly if your policy requires it.
Supported languages
Underwater Trees bundles each locale as a MiniMessage YAML file so you can recolor or restyle them freely:
- ๐บ๐ธ English (en_US)
- ๐ฉ๐ช German (de_DE)
- ๐ธ๐ฆ Arabic (ar_SA)
- ๐ช๐ธ Spanish (es_ES)
- ๐ซ๐ท French (fr_FR)
- ๐ฎ๐น Italian (it_IT)
- ๐ฏ๐ต Japanese (ja_JP)
- ๐ฐ๐ท Korean (ko_KR)
- ๐ณ๐ฑ Dutch (nl_NL)
- ๐ต๐ฑ Polish (pl_PL)
- ๐ต๐น Portuguese (pt_PT)
- ๐น๐ท Turkish (tr_TR)
- ๐บ๐ฆ Ukrainian (uk_UA)
- ๐จ๐ณ Simplified Chinese (zh_CN)
Need deeper guidance?
This README keeps things short on purpose. All developer and deep-dive documentation (config matrices, command charts, operations guides) lives in the project wiki. Start there whenever you need advanced workflows or contribution notes.
More stuff
Check out my other projects:
Timberella: Tree capitator / cutting / felling, leaves decay and replanting abilities. Completely configurable.
Get it!
PermaClicker: Simulates continuous left mouse button holding. Ideal for farming while AFK. Optionally suppresses the pause screen, allowing it to run in the background. Motion lock can be activated.
Get it!
License & Credits
- Underwater Trees is released under the Apache License 2.0 (see
LICENSE). - Third-party components (MiniMessage MIT, bStats MIT, etc.) are acknowledged inside
THIRD_PARTY_LICENSES.mdand the bundledlicenses/directory. - Parts of this plugin and documentation were produced with AI assistance (e.g., GitHub Copilot) and reviewed by the maintainer before release.


