Releases: stoshelabs/plots
Release list
1.2.1
A permissions follow-up to 1.2.0. No config or data changes — drop the jar in and restart.
Fixed
plots.autoandplots.untrustare enforced. Both were documented but never actually checked:/plot autoasked only for the baseplotsnode, so anyone able to run a command could auto-claim regardless ofplots.claim, and/plot untrustcheckedplots.trust.- A denied command now names the missing node (#2). The old message was a bare "you don't have permission", which left admins guessing — the usual cause is the base
plotsnode missing while the specific one was granted, and nothing said so. Denials now name the node and point out thatplotsis required by every/plotcommand on top of the specific one.
Upgrade notes
Nothing to change. The node each command relied on before still grants it:
| Command | New node | Still granted by |
|---|---|---|
/plot auto |
plots.auto |
plots.claim |
/plot untrust |
plots.untrust |
plots.trust |
Grant only the new node if you want the finer split; leave your setup alone and access stays exactly as it was.
Full table: Permissions
📖 Documentation · 💬 Discord · 🌍 Help translate
1.2.0
The biggest release since launch: Plots now runs more than one plot world, ships a full in-game menu and HUD, and moves its protection onto the shared TaleGuard bridge.
Warning
Upgrading from 1.1.x — the world layout is now described per world instead of by a single top-level PlotWorldName. Back up config.json and your plot data before the first 1.2.0 start, and read Multi-World for the new shape.
The package moved from com.overworldlabs.plots to dev.stoshe.plots. Plugins compiled against the 1.1.x API must update their imports — see API Usage.
Added
- Multi-world: several plot worlds side by side, each with its own grid, plot/road sizes and terrain. Create and browse them from the admin panel (Worlds tab) or with
/plot worlds. A first-run setup nudge walks a fresh server through creating its first world instead of leaving you on an empty void. - In-game menu & HUD: the everyday actions — claim, trust, flags, warps, rename, delete — without memorising commands, plus a HUD showing where you are and who owns the plot.
- Per-plot warps, with a public warps browser and
/plot warps. - Per-plot spawn point:
/plot setspawn, and/plot spawnto return to it. - Offline transfer: plots can be transferred to any player who has ever joined, not only one who is online.
- Weather picker, worlds browser and result popups, reachable from the menu.
- Tab-completion on
/plotarguments — subcommands, flag names and values suggest as you type. - PlaceholderAPI expansion: plot ownership and counts in scoreboards, tab lists and chat.
- What's new popup: admins get the release notes in-game once per version, three seconds after joining.
/plot changelogre-opens them. - Spanish and Russian are complete — they were missing every menu string and rendered raw keys such as
ui.menu.nav.trust.
Changed
- Protection mixins now come from the shared TaleGuard bridge, consumed at runtime through the hook registry. Plots keeps a pure-ECS fallback and still protects without TaleGuard installed; flags that genuinely need the bridge (such as explosions) are hidden when it is absent rather than silently doing nothing.
- Package renamed to
dev.stoshe.plots, with the manifest, group and repository moving to Stoshe Labs. - Ported to the current Hytale server build (
org.jomlvectors and the new world/entity APIs). /plot helpopens Hytale's own command UI, so it stays in sync with the subcommands instead of drifting from a hand-written page.- The menu's Merge and Danger tabs are one Plot tab, and the nav rail no longer leaves a column of dead space.
- An unknown subcommand gives a short, targeted correction instead of dumping the whole help text.
Fixed
- Prefabs no longer generate underground (#1). A prefab's lowest layer was mapped to world
Y=0while the terrain fill runs up toY=64, so any normal prefab ended up buried. Prefab placement now has an explicit height policy:AutoHeight(defaulttrue) pastes at ground height plusOffsetY. See Prefabs. - Terrain blocks never resolve to id
0— an unresolved block name could crash players on join. - Config block names updated for the current Hytale build.
- List rows, pagination bars and footer buttons line up. The widget templates force their own heights, so rows are sized to match instead of declaring heights that were silently dropped.
- Plots UI assets are namespaced, so they no longer collide with other packs.
Permissions note
plots is a mandatory base node required by every /plot command — granting only plots.claim is not enough (#2). The full table is at Permissions.
📖 Documentation · 💬 Discord · 🌍 Help translate
1.1.1
Fixed
- Hylograms Detection: Fixed runtime detection of Hylograms plugin using
PluginManager.getPlugin()instead ofClass.forName()for proper plugin dependency resolution. - Plugin Identifier: Corrected Hylograms plugin identifier to use the correct group
"ehko"and name"Hylograms". - Optional Dependencies: Added
OptionalDependenciesdeclaration in manifest.json for proper Hylograms integration.
Added
- Public API: Implemented comprehensive public API (
PlotsAPI) for external plugins to interact with plot system programmatically. Includes:PlotAPI: Query plots, check ownership, get trusted playersPlotEventAPI: Listen to plot events (claim, unclaim, trust, untrust, rename)
- BuilderTools Protection: Implemented plot protection for 85% of BuilderTools operations (67 tools) including Paint, Box, Sphere, Cylinder, Replace, Set, and all other tools using
ToolOperation.OPERATIONS.- Known Limitation: Extrude and Scripted Brushes cannot be protected at this time as the Hytale API does not provide hooks for packet handlers and command executors. We continue investigating alternative approaches for future versions.
Changed
- Code Cleanup: Removed unused hologram spawning methods and simplified
HologramManagerimplementation.
1.1.0
Changelog
Added
-
Holograms Integration: Added support for Hylograms to display plot information at the corner of claimed plots.
-
Java 25 Support: Successfully updated the project toolchain to Java 25.
-
Update Checker: Admins are now notified when joining the server if a new version is available on GitHub.
Changed
- Redundant Logic: Removed multiple redundant permission checks across all subcommand classes.
Removed
- Cleaned Up: Removed unused imports and deprecated logic in various command files.
Fixed
- Permission Validation: Fixed a critical issue where permissions were not being correctly validated, preventing non-OP players from using commands.
- Translations: Replaced hardcoded "player-only" error messages with the
general.only_playerstranslation key.
1.0.0
Full Changelog: https://github.com/overworldlabs/plots/commits/1.0.0