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.
### 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)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Motivation
/bountiesor/bountywith no arguments opens the bounty GUI for players.Description
getLuckPerms()accessor toPlayerBountiesOGto expose the LuckPerms API to other classes.BountyTopCmdto resolve a target's rank text via LuckPerms (preferprefix, fall back toprimaryGroup, then returnUnranked) and include that rank value when building GUI entries.MainBountyGuito include the resolved rank in theBountyGuiEntryrecord, show the rank in the item display name and lore, and keep position sorting/behavior intact.playGlobalCelebrationEffectsinDeathListenerand 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
./gradlew spotlessApply compileJavawhich failed in this environment due to a toolchain/Kotlin parsing error (IllegalArgumentException: 25.0.1) before compilation could proceed../gradlew compileJava --stacktracewhich produced the same parsing failure and confirmed the build could not be validated here.Codex Task