ThrottleQuotas

Resolves a ThrottleQuota from permissions, mirroring the precedence io.fairyfox.papermc.despawneditems.limit.DespawnLimits already uses for location caps so admins only have to learn one pattern:

  1. throttle.enabled: false in config, or the despi.throttle.bypass permission → unlimited.

  2. The highest despi.throttle.rate.<n> / .concurrent.<n> / .weight.<n> node held.

  3. The configured defaults.

Offline actors (the thrower logged out before their items timed out) cannot be asked for permissions, so they fall back to the configured defaults — documented behaviour, not an accident.

Properties

Link copied to clipboard

Functions

Link copied to clipboard
fun resolve(player: Player, settings: ThrottleSettings): ThrottleQuota

Quota for a live player.

fun resolve(uuid: UUID?, settings: ThrottleSettings, online: (UUID) -> Player?): ThrottleQuota

Quota for an actor identified only by uuid — used on the despawn hot path, where the thrower may well be offline. online is the player lookup (injected so tests need no server).