Use LuckPerms ranks in bounty GUI and add global celebration on claim #8

Merged
NotAlexNoyle merged 1 commits from codex/implement-bounty-gui-enhancements into main 2026-03-09 07:43:03 -04:00
NotAlexNoyle commented 2026-03-09 07:42:49 -04:00 (Migrated from github.com)

Motivation

  • Surface LuckPerms rank/prefix information in the bounty GUI so player names show their rank styling and group info.
  • Ensure running /bounties or /bounty with no arguments opens the bounty GUI for players.
  • Provide clear celebratory feedback (particles + global sound) when a bounty is successfully claimed.

Description

  • Added a getLuckPerms() accessor to PlayerBountiesOG to expose the LuckPerms API to other classes.
  • Extended BountyTopCmd to resolve a target's rank text via LuckPerms (prefer prefix, fall back to primaryGroup, then return Unranked) and include that rank value when building GUI entries.
  • Updated MainBountyGui to include the resolved rank in the BountyGuiEntry record, show the rank in the item display name and lore, and keep position sorting/behavior intact.
  • Added playGlobalCelebrationEffects in DeathListener and call it when a bounty announcement is broadcast; this plays a global celebration sound and spawns fireworks/totem particles around the killer and victim.

Testing

  • Attempted ./gradlew spotlessApply compileJava which failed in this environment due to a toolchain/Kotlin parsing error (IllegalArgumentException: 25.0.1) before compilation could proceed.
  • Attempted ./gradlew compileJava --stacktrace which produced the same parsing failure and confirmed the build could not be validated here.

Codex Task

### Motivation - Surface LuckPerms rank/prefix information in the bounty GUI so player names show their rank styling and group info. - Ensure running `/bounties` or `/bounty` with no arguments opens the bounty GUI for players. - Provide clear celebratory feedback (particles + global sound) when a bounty is successfully claimed. ### Description - Added a `getLuckPerms()` accessor to `PlayerBountiesOG` to expose the LuckPerms API to other classes. - Extended `BountyTopCmd` to resolve a target's rank text via LuckPerms (prefer `prefix`, fall back to `primaryGroup`, then return `Unranked`) and include that rank value when building GUI entries. - Updated `MainBountyGui` to include the resolved rank in the `BountyGuiEntry` record, show the rank in the item display name and lore, and keep position sorting/behavior intact. - Added `playGlobalCelebrationEffects` in `DeathListener` and call it when a bounty announcement is broadcast; this plays a global celebration sound and spawns fireworks/totem particles around the killer and victim. ### Testing - Attempted `./gradlew spotlessApply compileJava` which failed in this environment due to a toolchain/Kotlin parsing error (`IllegalArgumentException: 25.0.1`) before compilation could proceed. - Attempted `./gradlew compileJava --stacktrace` which produced the same parsing failure and confirmed the build could not be validated here. ------ [Codex Task](https://chatgpt.com/codex/tasks/task_e_69aeb12ecd0c832f9c3231376813e999)
Sign in to join this conversation.