Skip to content

Comments

Add per-player border color command#161

Merged
tastybento merged 1 commit intodevelopfrom
feature/border-color-command
Feb 20, 2026
Merged

Add per-player border color command#161
tastybento merged 1 commit intodevelopfrom
feature/border-color-command

Conversation

@tastybento
Copy link
Member

@tastybento tastybento commented Feb 20, 2026

Summary

  • Adds /is border color <red|green|blue> (and standalone /is bordercolor) so players can set their own vanilla border color independently of the global config
  • Each color is gated by a dedicated permission node: [gamemode].border.color.<color> (e.g. bskyblock.border.color.red)
    • Use [gamemode].border.color.* to get all of them
  • Tab completion only shows the colors the player has permission to use
  • ShowWorldBorder now reads the per-player color from metadata, falling back to the global config setting if none is set

Changes

File What changed
BorderColorCommand New command class
PerPlayerBorderProxy Added BORDER_COLOR_META_DATA constant
ShowWorldBorder Reads per-player color metadata before falling back to config
IslandBorderCommand Registers color as a subcommand
Border Registers standalone bordercolor command
en-US.yml Adds set-color locale strings
BorderColorCommandTest 15 new tests covering all paths
IslandBorderCommandTest Updated expected subcommand count (2 → 3)

Test plan

  • All 86 tests pass (mvn test)
  • /is border color red sets red border for the executing player only (others unaffected)
  • Command is denied without bskyblock.border.color.red permission
  • Tab completion shows only colors the player has permission for
  • Falling back to global config color works when no per-player color is set

🤖 Generated with Claude Code

Adds /is border color <red|green|blue> (and standalone /is bordercolor)
so players can set their own vanilla border color without changing the
global config. Each color is gated by a dedicated permission node
([gamemode].border.color.<color>, e.g. bskyblock.border.color.red).

- BorderColorCommand: new command with tab-complete filtered by permission
- PerPlayerBorderProxy: adds BORDER_COLOR_META_DATA constant
- ShowWorldBorder: reads per-player color metadata, falls back to config
- IslandBorderCommand: registers color as a subcommand
- Border: registers standalone bordercolor command
- en-US.yml: adds set-color locale strings
- BorderColorCommandTest: 15 tests covering all command paths
- IslandBorderCommandTest: updated subcommand count (2 → 3)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
4.2% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@tastybento tastybento merged commit b564a7c into develop Feb 20, 2026
2 of 3 checks passed
@tastybento tastybento deleted the feature/border-color-command branch February 20, 2026 00:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant