RTP Update beta.3
This update focuses on a redesigned in-game menu surface, an admin-panel prefab workflow, and a batch of effects-pipeline fixes.
Fabric is a bit harder to bring fully up to speed since books are a little different there but im working on it.
New: interactive /rtp menu
- New platform-neutral menu framework. /rtp menu opens an in-game book UI built from the live /rtp command tree.
- Curated front page instead of a flat alphabetised command dump
- Curated admin panel organises operator tooling into four self-hiding sections: Configuration (Config editor), Diagnostics (Server info, Full diagnostics, Memory tracker snapshot, Scan control), Lifecycle (Reload, with a warning hover), and Browse (Browse all commands -> reflected-tree fallback). Section dividers disappear automatically when their entire body is hidden, so a partial-admin viewer never sees an orphan header.
- All labels, hovers, and rejection strings flow through messages.yml, so every string in the new UI is operator-configurable. New messages.yml keys are mirrored into every shipped locale.
New: curated admin prefabs (/rtp admin)
- /rtp admin opens the curated panel directly. Its Setup section lists the bundled prefabs: survival-default, low-performance, high-performance, folia-tuned, multi-world.
- Best-effort hot reload after apply; rollback chain is browsable from the same panel.
Effects fixes
- Effect-group config files (effects/.yml). Declarative groups with when: (pipeline stage), optional permission: / players: / inherit:, and a required effects: token list. Loaded via the existing multi-config plumbing, so per-locale field-key remap and /rtp reload hot-swap work out of the box. Admins now have a permission-less complement to the existing rtp.effect.* permission tree.
- effects-api hardening for PotionEffect and FireworkEffect. Removed a stray host-plugin lookup that violated the module's platform-agnostic boundary, and PotionEffect now swallows downstream addPotionEffect failures through the internal safeRun so a misrouted or invalid effect can no longer propagate back through the teleport caller.
Other fixes worth calling out
- Biome and unsafe-block names accept either bare or minecraft:-namespaced form in safety.yml and on the command line, with modded namespaces preserved verbatim.