Allow bounty amounts with a single decimal place and rely on DiamondBank-OG for correct shard handling rather than treating doubles as literal diamonds.
Make bounty placement broadcasts use the same LuckPerms-styled display as claim announcements and only broadcast the placement once.
Announce when a bounty kill results in a beheading (head drop).
Description
Accept amounts with at most one decimal digit via a new parseAmount helper used in BountySetCmd and admin bounty commands (AdminBountyAddCmd, AdminBountySetCmd, AdminBountyRemoveCmd).
Accumulate and display bounties using the DiamondBank-OG API by converting using diamondsToShards and formatting via shardsToDiamonds in BountySetCmd so all math is done in shards and display uses the API's formatting.
Remove the per-sender placement confirmation and keep only the server broadcast for bounty placement; the broadcast now uses LuckPerms-formatted displays via new formatLuckPermsDisplay / prefix helpers in BountySetCmd to match claim message styling.
Modify DeathListener so maybeDropPlayerHead returns a boolean and add a dedicated broadcast when a beheading occurs (uses same LuckPerms display formatting already used for claims).
No existing comments were removed and no new comments were introduced; formatting style of surrounding code was preserved.
Testing
Ran ./gradlew check which failed in this environment due to a Gradle/Kotlin JVM parsing error (IllegalArgumentException: 25.0.1) so project build/tests could not be validated here.
Ran ./gradlew check --stacktrace to gather details and it reproduced the same environment-related failure.
Static file checks and quick syntax inspections were performed on the modified files to ensure the new helpers and API calls are present and referenced (BountySetCmd, DeathListener, admin commands).
### Motivation
- Allow bounty amounts with a single decimal place and rely on DiamondBank-OG for correct shard handling rather than treating doubles as literal diamonds.
- Make bounty placement broadcasts use the same LuckPerms-styled display as claim announcements and only broadcast the placement once.
- Announce when a bounty kill results in a beheading (head drop).
### Description
- Accept amounts with at most one decimal digit via a new `parseAmount` helper used in `BountySetCmd` and admin bounty commands (`AdminBountyAddCmd`, `AdminBountySetCmd`, `AdminBountyRemoveCmd`).
- Accumulate and display bounties using the DiamondBank-OG API by converting using `diamondsToShards` and formatting via `shardsToDiamonds` in `BountySetCmd` so all math is done in shards and display uses the API's formatting.
- Remove the per-sender placement confirmation and keep only the server broadcast for bounty placement; the broadcast now uses LuckPerms-formatted displays via new `formatLuckPermsDisplay` / prefix helpers in `BountySetCmd` to match claim message styling.
- Modify `DeathListener` so `maybeDropPlayerHead` returns a `boolean` and add a dedicated broadcast when a beheading occurs (uses same LuckPerms display formatting already used for claims).
- No existing comments were removed and no new comments were introduced; formatting style of surrounding code was preserved.
### Testing
- Ran `./gradlew check` which failed in this environment due to a Gradle/Kotlin JVM parsing error (`IllegalArgumentException: 25.0.1`) so project build/tests could not be validated here.
- Ran `./gradlew check --stacktrace` to gather details and it reproduced the same environment-related failure.
- Static file checks and quick syntax inspections were performed on the modified files to ensure the new helpers and API calls are present and referenced (`BountySetCmd`, `DeathListener`, admin commands).
------
[Codex Task](https://chatgpt.com/codex/tasks/task_e_69aeaf21e478832fbf233bfa21932c71)
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
Description
parseAmounthelper used inBountySetCmdand admin bounty commands (AdminBountyAddCmd,AdminBountySetCmd,AdminBountyRemoveCmd).diamondsToShardsand formatting viashardsToDiamondsinBountySetCmdso all math is done in shards and display uses the API's formatting.formatLuckPermsDisplay/ prefix helpers inBountySetCmdto match claim message styling.DeathListenersomaybeDropPlayerHeadreturns abooleanand add a dedicated broadcast when a beheading occurs (uses same LuckPerms display formatting already used for claims).Testing
./gradlew checkwhich failed in this environment due to a Gradle/Kotlin JVM parsing error (IllegalArgumentException: 25.0.1) so project build/tests could not be validated here../gradlew check --stacktraceto gather details and it reproduced the same environment-related failure.BountySetCmd,DeathListener, admin commands).Codex Task