Fixed
- Menu clicks now use raw slots, so clicking your own inventory can no longer claim
rewards or open the settings menu.
- Clicks are cancelled before the empty-slot check and drags into the menu are
blocked, so items can no longer be moved into (and lost inside) a menu.
- NullPointerException on quit when a player disconnected before their data
finished loading.
- [player] reward actions no longer pass a leading slash, so they actually execute.
- Rewards can no longer be claimed twice by rapidly clicking; the cooldown is
applied before the reward actions run instead of after.
- Cancelling AutoClaimEvent now actually prevents the auto-claim.
- /reward claim <type> <player> now requires dailyreward.claim.others. Claiming
for yourself is unchanged.
- Join notifications and auto-claim no longer touch the Bukkit API from an async
thread, fixing sound playback and Folia support.
- Auto-claim entries are released on quit; they were kept forever and leaked the
player object.
- join-auto-claim-delay is respected again; auto-claim was reusing
join-notification-delay.
- The update notification for operators is registered again and no longer fires
before the version lookup has finished.
- Missing or malformed stored values no longer throw while joining or opening a
menu. Cooldowns fall back to "not claimable", and failed database reads are
logged instead of being swallowed.
- /reward import works on a server with no userdata folder, skips files that are
not player data, and runs off the main thread instead of freezing the server
while it waits.
- The join-notification setting shows its own name instead of the auto-claim one.
- Title and subtitle are only sent when the reward defines them.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }