Restrict creative mode to configured WorldGuard regions #4

Merged
NotAlexNoyle merged 5 commits from agent/restrict-creative-to-worldguard-regions into master 2026-07-24 13:25:30 -04:00
NotAlexNoyle commented 2026-07-24 13:21:19 -04:00 (Migrated from github.com)

What changed

  • Translate & color codes when loading messages.yml, so configured formatting works for player chat and console command output.
  • Add a creative_regions list to config.yml, defaulting to spawn.
  • Require players without gamemodeinventories.anywhere to be inside one of those WorldGuard regions before entering or remaining in creative mode.
  • Recheck creative players on movement, teleport, and join, forcing survival outside allowed regions.
  • Add narrowly scoped fall-damage protection when the plugin forces an airborne player back to survival.
  • Declare WorldGuard as a required dependency and document the new permission.

Why

Creative mode previously had no location gate, and configured & color codes were passed through literally. Forced creative-to-survival transitions also risked charging fall distance immediately after flight ended.

Validation

  • Compared the branch against master; only the five intended files changed.
  • Confirmed the branch is five commits ahead and not behind master.
  • A local Gradle build could not be run because this execution environment has neither GitHub CLI nor outbound DNS access; repository checks should validate compilation after the PR opens.
## What changed - Translate `&` color codes when loading `messages.yml`, so configured formatting works for player chat and console command output. - Add a `creative_regions` list to `config.yml`, defaulting to `spawn`. - Require players without `gamemodeinventories.anywhere` to be inside one of those WorldGuard regions before entering or remaining in creative mode. - Recheck creative players on movement, teleport, and join, forcing survival outside allowed regions. - Add narrowly scoped fall-damage protection when the plugin forces an airborne player back to survival. - Declare WorldGuard as a required dependency and document the new permission. ## Why Creative mode previously had no location gate, and configured `&` color codes were passed through literally. Forced creative-to-survival transitions also risked charging fall distance immediately after flight ended. ## Validation - Compared the branch against `master`; only the five intended files changed. - Confirmed the branch is five commits ahead and not behind `master`. - A local Gradle build could not be run because this execution environment has neither GitHub CLI nor outbound DNS access; repository checks should validate compilation after the PR opens.
Sign in to join this conversation.