Package-level declarations
Types
Command names and aliases, read from the commands: section so /despi and /recycle can be renamed if they clash with another plugin. Names are validated (sanitize); invalid entries fall back to the default with a console warning. Commands register once at startup, so changes need a server restart (not just /despi reload).
Top-level configuration holder. Owns the effect settings (fileConfig) and the storage settings (storage). Despawn locations themselves live in the plugin's io.fairyfox.papermc.despawneditems.location.LocationManager, not here. Call load to re-read config.yml from disk and rebuild both.
The main config.yml — particle and sound settings for the effect played when an item lands in a despawn container.
Per-user despawn-location limits, read from the limits: section. The default cap applies unless a player has a despi.limit.<n> permission (highest wins) or despi.limit.bypass. See io.fairyfox.papermc.despawneditems.limit.DespawnLimits.
Pure resolution of a configured particle into a Particle plus any extra data it needs — extracted from FileConfig so it can be unit-tested without a server.
Large-server safety limits for the automatic despawn-relocation pipeline, read from the performance: section. These bound how much relocation work happens per tick so a flood of despawning items can never storm the server.
Storage backend selection and connection details, read from the storage: section of config.yml. Consumed by io.fairyfox.papermc.despawneditems.location.StorageFactory.