Skip to content

Add placeholders for flag state (enabled/disabled)#2913

Merged
tastybento merged 2 commits intodevelopfrom
copilot/add-placeholders-for-flag-state
Apr 6, 2026
Merged

Add placeholders for flag state (enabled/disabled)#2913
tastybento merged 2 commits intodevelopfrom
copilot/add-placeholders-for-flag-state

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 6, 2026

Registers PlaceholderAPI placeholders for every flag, exposing island/world flag states to external plugins. Each flag gets flag_<FLAG_ID_LOWERCASE> scoped per game mode.

Placeholder values by flag type

  • PROTECTION → translated rank name of minimum allowed rank (e.g. Member)
  • SETTINGtrue/false from island setting
  • WORLD_SETTINGtrue/false from world setting
%bskyblock_flag_pvp_overworld%   → "false"
%bskyblock_flag_break_blocks%    → "Member"
%bskyblock_flag_ender_chest%     → "true"

Changes

  • PlaceholdersManager: Added registerFlagPlaceholder(GameModeAddon, Flag) (public, for dynamic registration) and resolveFlagValue() which dispatches on Flag.Type. Called from registerDefaultPlaceholders() for built-in flags.
  • FlagsManager: registerFlag() now calls PlaceholdersManager.registerFlagPlaceholder() for all active game mode addons, so addon-defined flags get placeholders at registration time.
  • Null guards on getFlagsManager()/getPlaceholdersManager()/getAddonsManager() for startup ordering safety.
  • Six new tests covering all three flag types, dedup, and null-manager edge cases.

Copilot AI linked an issue Apr 6, 2026 that may be closed by this pull request
2 tasks
Register placeholders for each flag (protection, setting, world setting)
so users can query flag states via PlaceholderAPI. For example:
- %bskyblock_flag_pvp_overworld% returns true/false
- %bskyblock_flag_break_blocks% returns the minimum allowed rank name
- %bskyblock_flag_ender_chest% returns true/false

Built-in flags get placeholders when registerDefaultPlaceholders() runs.
Addon-defined flags get placeholders dynamically when registered.

Agent-Logs-Url: https://github.com/BentoBoxWorld/BentoBox/sessions/5b7af0c7-302d-4943-bb55-7383a22040ae

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
Copilot AI changed the title [WIP] Add placeholders for flag state (enabled/disabled) Add placeholders for flag state (enabled/disabled) Apr 6, 2026
Copilot AI requested a review from tastybento April 6, 2026 00:31
@tastybento tastybento marked this pull request as ready for review April 6, 2026 01:39
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 6, 2026

@tastybento tastybento merged commit 851820a into develop Apr 6, 2026
3 checks passed
@tastybento tastybento deleted the copilot/add-placeholders-for-flag-state branch April 6, 2026 04:02
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.

Placeholders for flag state (enabled/disabled)

2 participants