Skip to content

Releases: stoshelabs/plots

1.2.1

Choose a tag to compare

@gitgusilva gitgusilva released this 28 Jul 19:33

A permissions follow-up to 1.2.0. No config or data changes — drop the jar in and restart.

Fixed

  • plots.auto and plots.untrust are enforced. Both were documented but never actually checked: /plot auto asked only for the base plots node, so anyone able to run a command could auto-claim regardless of plots.claim, and /plot untrust checked plots.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 plots node missing while the specific one was granted, and nothing said so. Denials now name the node and point out that plots is required by every /plot command 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

Choose a tag to compare

@gitgusilva gitgusilva released this 28 Jul 18:58

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 spawn to 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 /plot arguments — 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 changelog re-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.joml vectors and the new world/entity APIs).
  • /plot help opens 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=0 while the terrain fill runs up to Y=64, so any normal prefab ended up buried. Prefab placement now has an explicit height policy: AutoHeight (default true) pastes at ground height plus OffsetY. 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

Choose a tag to compare

@gitgusilva gitgusilva released this 21 Jan 03:54

Fixed

  • Hylograms Detection: Fixed runtime detection of Hylograms plugin using PluginManager.getPlugin() instead of Class.forName() for proper plugin dependency resolution.
  • Plugin Identifier: Corrected Hylograms plugin identifier to use the correct group "ehko" and name "Hylograms".
  • Optional Dependencies: Added OptionalDependencies declaration 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 players
    • PlotEventAPI: 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 HologramManager implementation.

1.1.0

Choose a tag to compare

@gitgusilva gitgusilva released this 20 Jan 03:41

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_players translation key.

1.0.0

Choose a tag to compare

@gitgusilva gitgusilva released this 17 Jan 01:57
3af6fef