Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
Send player-owned drops and XP straight to inventories without messy ground clutter or unsafe reward guessing.
FoAutoCollect gives players a simple toggle for automatic collection while giving server owners precise control over where and how it works. It supports vanilla block, mob, fishing, shearing, and player-sourced explosion rewards, with a direct FoDrops hook for custom rewards when FoDrops is installed.

Features
- Let players toggle auto collect with
/foautocollect,/autocollect, or expliciton,off, andstatusstates. - Collect drops and experience from block breaks, mob kills, fishing, shearing, and supported explosions.
- Integrate with FoDrops through
FoDropRewardEventso custom rewards are collected directly and safely. - Configure enabled worlds, disabled worlds, disabled blocks, and disabled mobs per collection category.
- Choose how full inventories behave: drop overflow at the source or block collection entirely.
- Force auto collect on for everyone when the server needs a global collection mode.


Dependencies
- Optional: FoDrops for direct custom reward collection.
- Optional: FoDropBoosters for multiplying certain drops.
- Optional: FoConvertors for converting certain amount of items into something else.
- Optional: PlaceholderAPI for placeholder support.
Commands
/foautocollect- Toggle your current auto collect state./foautocollect status- Check whether auto collect is enabled./foautocollect on- Enable auto collect./foautocollect off- Disable auto collect./foautocollectadmin version- Show plugin info and check Modrinth for updates./foautocollectadmin reload- Reload config, messages, and cached settings./foautocollectadmin editor- Open the GUI editor./foautocollectadmin set <player> <on|off>- Set an online player's session state./foautocollectadmin force <on|off|status>- Control forced auto collect.
Permissions
foautocollect.use- Use the player toggle command.foautocollect.admin- Access admin commands and the editor.
Placeholders
%foautocollect_state%- Returns enabled or disabled for the player's current auto collect state.
Developer API
Compile against the matching jar (provided in Maven, compileOnly in Gradle); install it locally if needed. Declare FoAutoCollect in your plugin metadata (softdepend for an optional integration).
<dependency>
<groupId>me.foesio</groupId>
<artifactId>FoAutoCollect</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
import me.foesio.foAutoCollect.api.AutoCollectService;
import me.foesio.foAutoCollect.event.AutoCollectExperienceCollectedEvent;
AutoCollectService api = Bukkit.getServicesManager().load(AutoCollectService.class);
if (api != null) api.isActive(player);
@EventHandler
public void onAutoCollectExperienceCollectedEvent(AutoCollectExperienceCollectedEvent event) {
Bukkit.getLogger().info(event.getClass().getSimpleName());
}
API methods (overloads grouped):
AutoCollectService:isActive,getSessionPreference,requestPreference,offerReward.
Other API types: CollectionSource, PreferenceChangeResult, RewardOfferResult.
Events: AutoCollectExperienceCollectedEvent, AutoCollectItemsCollectedEvent, AutoCollectPreCollectEvent, AutoCollectPreferenceChangedEvent.
Browse API and event source for signatures and event details.


