Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for hro_basti

Allows placing and growing tree saplings underwater with optional lightning requirements override.

Report underwatertrees?

UnderwaterTrees 🌊

Let your players plant saplings below the surface without weird hacks. UnderwaterTrees keeps placement safe, respects your land-protection plugins, and helps underwater saplings actually grow.

UnderwaterTrees demo

Why server owners love it

  • 🌱 Custom soil + sapling allowlists mean only the trees you approve can grow underwater.
  • 🌳 Oak, spruce, birch, jungle, acacia, dark oak, pale oak, cherry and poplar saplings work underwater, and dark and pale oaks grow with their full trunk.
  • 🛡️ Stability guard keeps flowing water and physics updates from breaking saplings that sit underwater on an allowed soil.
  • 🔐 Saplings are only placed where the target is actually water, protection plugins (WorldGuard, GriefPrevention, …) can veto placement and the growth of underwater trees, and the underwatertrees.place permission lets you disable underwater planting per player or group.
  • 💡 Optional light override lets saplings grow underwater where the light is too low for vanilla, down to the pitch-dark deep-sea floor.
  • 🔁 Live reload + config watcher merge new defaults automatically—edit, save, done.
  • 🔔 Update checker (Modrinth + Hangar) and join reminders keep your fleet current.
  • 🌐 14 bundled languages, all MiniMessage-powered, so you can style player + console feedback exactly the way you like.

Requirements (as of UwTrees 2.0.0)

  • Paper 26.3.x (Spigot and vanilla are not supported).
  • Java 25 runtime.
  • Optional: a permissions plugin (LuckPerms, etc.) for fine-grained access to /underwatertrees commands and underwater planting.

Setup in 3 steps

  1. Drop underwatertrees-paper-<version>.jar into plugins/.
  2. Start the server once. config.yml, lang/, and defaults appear under plugins/UnderwaterTrees/.
  3. Adjust the config (materials, chat prefix, watcher flags) and run /underwatertrees reload.

From here, edits to config.yml are picked up automatically by the config watcher; after editing lang/, run /underwatertrees reload.

Upgrading from 1.x

Swap the jar and start the server: your old files move to plugins/UnderwaterTrees/backup-1.x/, fresh files are created with every setting you had changed carried over, and the console lists exactly what happened. The upgrade notes list what behaves differently in 2.0.0, such as the new underwatertrees.place permission.

Everyday tips

  • Use the saplings and soils lists to allow exactly the blocks you want underwater—unknown materials are ignored safely, and entries you delete stay deleted.
  • protect_underwater_saplings keeps flowing water from washing away underwater saplings; leave it on for survival worlds.
  • growth_light_override.minimum_level sets how dark it may be for saplings to still grow: 0 (default) works even on the deep-sea floor, 9 matches vanilla.
  • Negate underwatertrees.place to disable underwater planting for specific players or groups.
  • Enable log_detail temporarily to list every active soil and sapling in the console; a misspelled material won't show up there.
  • Update notifications show up in the console and, with underwatertrees.update.notify, for ops on join. Set update_check.notify_console_always_shown to true if you also want the "no update" summary.
  • Metrics (metrics_enabled) and update checks (update_check.enabled) can be switched off if your policy requires it.

Supported languages

UnderwaterTrees 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)

Updates add new texts to your language files without touching your edits, and /underwatertrees reload applies language changes.

Need deeper guidance?

This page keeps things short on purpose. The wiki explains every setting, commands and permissions, languages and troubleshooting. Building from source and contributing are covered in the developer guide.

License & Credits

  • UnderwaterTrees is released under the MIT License, Copyright (c) 2025-2026 kroet.net. Releases before 2.0.0 were published under the Apache License 2.0; kroet.net additionally makes them available under the MIT License.
  • The MIT License covers the code, not the name: forks should use a different plugin name and must not suggest they are the official UnderwaterTrees.
  • Includes TurtleLib by kroet.net (MIT) and bStats Metrics (MIT); MiniMessage and Gson are provided by Paper. All libraries and their licenses are listed in THIRD_PARTY_LICENSES.md, and the license texts ship inside the jar.
  • Parts of this plugin and its documentation were produced with AI assistance and reviewed by the maintainer before release.

Information

Category
Gameplay
Published
November 16, 2025
License
10Downloads
0Stars

Pinned Versions

Members

1