Simple AutoPickup
No reviews yet
Instantly collect items from mined blocks directly into your inventory with the Auto Pickup mod. Mob loot & more configurable!
Does not follow a specific thematic focus apart from vanilla Minecraft.
Used for mods with little to no gameplay elements.
Includes quality of life improvements and small tweaks to enhance and customize gameplay.
Includes tools and features for server management.
Forge is a popular mod loader for versions 1.1+ of Minecraft.
Neoforge is a fork of the Minecraft Forge available for versions 1.20.1+ of Minecraft. Many Forge mods are compatible with Neoforge and vice versa.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
AutoPickup
AutoPickup is a highly configurable server-side mod that automates the collection of items and experience orbs. It features session tracking, a multi-tier permission system, and extensive mod compatibility to ensure drops are attributed to the correct players, even when using high-speed mining mods or engaging in group combat.
✨ Features
Core Functionality
- 🎒 Seamless Collection: Items from broken blocks and mob kills are instantly added to your inventory
- ⭐ Smart Experience Handling: Experience is cached and applied after a short delay, ensuring tools take durability damage before Mending activates
- 🚀 Lag-Free: Prevents item and experience orb entities from spawning, reducing server load
- 📦 Overflow Protection: If your inventory is full, items safely drop at your feet
- 🔧 Granular Control: Toggle individual features independently via commands or config GUI
Advanced Features
- 👥 Mob Loot Splitting: Share mob drops and XP with nearby players who participated in the kill
- 🎮 Per-Player Permissions: Server admins can override settings for specific players
- 💾 Client Profiles: Automatic per-server/world configuration profiles for seamless server switching
- 🔌 Extensive Mod Compatibility: Works automatically with VeinMiner, TreeHarvester, Traveler's Backpack, FallingTree, Panda's Falling Trees and more

⚙️ Configuration
AutoPickup uses a flexible three-tier permission system:
- Server Defaults - Global fallback settings
- Admin Overrides - Per-player forced settings (highest priority)
- Client Preferences - Individual player choices (only if server allows)
🖥️ Configuration Menu (Client)
You can configure your personal preferences via the menu. Use Mod Menu for a easy access on Fabric. Otherwise, use /autopickup gui
Settings available:
- Master Toggle
- Block Item Pickup
- Block Experience Pickup
- Mob Loot Pickup
- Mob Experience Pickup
- Split Mob Loot (share drops with nearby attackers)
- Split Mob XP (share experience with nearby attackers)
Note: Your client settings only apply if the server admin has enabled the corresponding "Allow" setting for that feature.

📜 Commands (Server Admin)
Server operators (OP Level 2+) can manage global defaults and player overrides using /autopickup.
Menu Access
| Command | Description |
|---|---|
/autopickup gui |
Access to configuration menu via command |
Global Configuration
| Command | Description | Default |
|---|---|---|
/autopickup |
Display current configuration status | - |
/autopickup master <true|false> |
Master toggle - disables mod entirely if false | true |
/autopickup blocks <true|false> |
Autopickup items from broken blocks | true |
/autopickup blockxp <true|false> |
Autopickup experience from broken blocks | true |
/autopickup mobloot <true|false> |
Autopickup loot from killed mobs | false |
/autopickup mobxp <true|false> |
Autopickup experience from killed mobs | false |
/autopickup splitmobloot <true|false> |
Share mob loot among nearby attackers | false |
/autopickup splitmobxp <true|false> |
Share mob XP among nearby attackers | false |
Client Control Allowances
These commands determine whether players can override server defaults with their client settings.
| Command | Description | Default |
|---|---|---|
/autopickup allow master <true|false> |
Allow clients to toggle master switch | false |
/autopickup allow blocks <true|false> |
Allow clients to toggle block item pickup | false |
/autopickup allow blockxp <true|false> |
Allow clients to toggle block XP pickup | false |
/autopickup allow mobloot <true|false> |
Allow clients to toggle mob loot pickup | false |
/autopickup allow mobxp <true|false> |
Allow clients to toggle mob XP pickup | false |
/autopickup allow splitmobloot <true|false> |
Allow clients to toggle mob loot splitting | false |
/autopickup allow splitmobxp <true|false> |
Allow clients to toggle mob XP splitting | false |
Per-Player Overrides
Force specific settings for individual players (overrides both server defaults and client preferences).
| Command | Description |
|---|---|
/autopickup override <player> master <true|false|default> |
Override player's master toggle |
/autopickup override <player> blocks <true|false|default> |
Override player's block pickup |
/autopickup override <player> blockxp <true|false|default> |
Override player's block XP |
/autopickup override <player> mobloot <true|false|default> |
Override player's mob loot |
/autopickup override <player> mobxp <true|false|default> |
Override player's mob XP |
/autopickup override <player> splitmobloot <true|false|default> |
Override player's loot splitting |
/autopickup override <player> splitmobxp <true|false|default> |
Override player's XP splitting |
/autopickup override <player> clear |
Remove all overrides for a player |
Use
defaultto remove a specific override while keeping others.
📂 Configuration Files
Server Config: config/AutoPickup/global_config.json
{
"autoPickup": true,
"autoPickupBlocks": true,
"autoPickupBlockXp": true,
"autoPickupMobLoot": false,
"autoPickupMobXp": false,
"autoPickupSplitMobLoot": false,
"autoPickupSplitMobXp": false,
"allowMaster": true,
"allowBlocks": true,
"allowBlockXp": true,
"allowMobLoot": true,
"allowMobXp": true,
"allowSplitMobLoot": true,
"allowSplitMobXp": true
}
Client Config: config/AutoPickup/client_default.toml (or per-server profiles in presets/)
# AutoPickup Client Configuration
master = true
blocks = true
blockXp = true
mobLoot = false
mobXp = false
splitMobLoot = false
splitMobXp = false
Player Overrides: config/AutoPickup/player_overrides.json
{
"player-uuid-here": {
"overrideMaster": true,
"overrideBlocks": null,
...
}
}
Optional But Recommended Client Dependencies
- Mod Menu - Access config screen in-game
- YetAnotherConfigLib (YACL) - Required for YACL config GUI (Vanilla GUI fallback)
✅ Compatibility
AutoPickup hooks into core Minecraft mechanics and works seamlessly with most mods out of the box.
🔧 Explicitly Supported Mods
| Mod | Status | Notes |
|---|---|---|
| VeinMiner | Full | All vein blocks picked up instantly with XP |
| TreeHarvester | Full | Logs/leaves collected; saplings auto-replanted if enabled |
| Traveler's Backpack | Full | Items route to backpack filter first (If the Auto Pickup upgrade is there it works) |
| FallingTree | Full | Tree items handle the different break modes |
| Panda's Falling Trees | Full | Tree items are handled by AutoPickup after fall animation |
| RightClickHarvest | Full | Right-click crop harvests (including tall sugarcane) picked up automatically |
| General Block Breakers | Compatible | Any mod using vanilla break hooks |
📋 Technical Details
AutoPickup intercepts drops at these injection points:
Block.dropResources()- Primary block drop handlingServerLevel.addFreshEntity()- Item entity spawning and falling-block entity tracking (FallingTree and any mod that spawns drops directly)LivingEntity.dropFromLootTable()- Mob loot generationLivingEntity.dropExperience()- Mob XP orbsBlock.popExperience()- Block XP orbsExperienceOrb.award()- Captures XP spawned directly by block-breaking mods (e.g. VeinMiner)ServerPlayerGameMode.useItemOn()- Right-click harvesting (sweet berries, jukebox disc ejection, crops via the RightClickHarvest mod, etc.)ItemFrame.hurt()/hurtServer()- Items removed from item frames by left-clickingMob.interact()/ShearsItem.interactLivingEntity()- Shearing drops (wool, snow golem pumpkins, mooshroom mushrooms)BrushableBlockEntity.dropContent()- Brushing suspicious sand/gravelLivingEntity.dropFromEntityInteractLootTable()- Brushing armadillos for scutes
This broad compatibility means most mods work automatically without explicit support.

🎮 Mob Loot Splitting
When Split Mob Loot or Split Mob XP is enabled, rewards from mob kills are shared among participants:
How It Works
- Damage Tracking: The mod tracks the last 10 unique players who damaged each mob
- Eligibility Check: On mob death, only players who:
- Are online and not spectating
- Have Master enabled
- Have the specific Mob Pickup feature enabled
- Have the specific Split feature enabled
- Are in the same world as the killer
- Distribution:
- Items are split evenly; the killer receives any remainder
- Experience is split evenly; the killer receives any remainder
- Items that don't fit in inventories are dropped at the mob's location
Example
Player A (killer), B, and C all damaged a zombie. Settings:
- Player A: Master ✅, Mob Loot ✅, Split Mob Loot ✅
- Player B: Master ✅, Mob Loot ✅, Split Mob Loot ✅
- Player C: Master ✅, Mob Loot ✅, Split Mob Loot ❌
Result: Only A and B receive split loot. Player C gets nothing because they disabled splitting.
👩💻 Developer API
Adding as a Dependency
Gradle:
dependencies {
compileOnly(files("libs/autopickup-platform-x.x.x.jar"))
}
Using the API
import com.lukarbonite.autopickup.AutoPickupApi;
public class QuestRewards {
public void giveReward(Player player, List<ItemStack> items, int xp) {
if (!isModLoaded("autopickup")) {
// Fallback: manual drops
items.forEach(stack -> player.dropItem(stack, false));
player.addExperience(xp);
return;
}
// AutoPickup handles:
// - Inventory insertion
// - Traveler's Backpack routing
// - Config checks (Master, Blocks, etc.)
List<ItemStack> remaining = AutoPickupApi.tryPickup(player, items);
// Drop items that didn't fit
remaining.forEach(stack -> player.dropItem(stack, false));
// AutoPickup handles:
// - Mending calculations
// - Config checks
AutoPickupApi.tryPickupBlockExperience(player, xp);
}
// For mob-related rewards
public void giveMobReward(Player player, List<ItemStack> loot, int xp) {
List<ItemStack> remaining = AutoPickupApi.tryPickupFromMob(player, loot);
remaining.forEach(stack -> player.dropItem(stack, false));
AutoPickupApi.tryPickupMobExperience(player, xp);
}
}
API Methods
| Method | Description |
|---|---|
tryPickup(PlayerEntity, List<ItemStack>) |
Pickup items from blocks (respects Master + Blocks settings) |
tryPickupFromMob(PlayerEntity, List<ItemStack>) |
Pickup items from mobs (respects Master + MobLoot settings) |
tryPickupBlockExperience(PlayerEntity, int) |
Give block XP (respects Master + BlockXP settings) |
tryPickupMobExperience(PlayerEntity, int) |
Give mob XP (respects Master + MobXP settings) |
isMasterEnabled(PlayerEntity) |
Check if autopickup is enabled for player |
isBlocksEnabled(PlayerEntity) |
Check block item pickup setting |
isBlockXpEnabled(PlayerEntity) |
Check block XP pickup setting |
isMobLootEnabled(PlayerEntity) |
Check mob loot pickup setting |
isMobXpEnabled(PlayerEntity) |
Check mob XP pickup setting |
Note: All
try*methods return lists of items that could not be picked up (full inventory).
📜 License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
You are free to:
- ✅ Use in modpacks
- ✅ Modify for personal use
- ✅ Distribute modified versions (must also be AGPL-3.0)
See the LICENSE file for full details.
AutoPickup
AutoPickup is a highly configurable server-side mod that automates the collection of items and experience orbs. It features session tracking, a multi-tier permission system, and extensive mod compatibility to ensure drops are attributed to the correct players, even when using high-speed mining mods or engaging in group combat.
✨ Features
Core Functionality
- 🎒 Seamless Collection: Items from broken blocks and mob kills are instantly added to your inventory
- ⭐ Smart Experience Handling: Experience is cached and applied after a short delay, ensuring tools take durability damage before Mending activates
- 🚀 Lag-Free: Prevents item and experience orb entities from spawning, reducing server load
- 📦 Overflow Protection: If your inventory is full, items safely drop at your feet
- 🔧 Granular Control: Toggle individual features independently via commands or config GUI
Advanced Features
- 👥 Mob Loot Splitting: Share mob drops and XP with nearby players who participated in the kill
- 🎮 Per-Player Permissions: Server admins can override settings for specific players
- 💾 Client Profiles: Automatic per-server/world configuration profiles for seamless server switching
- 🔌 Extensive Mod Compatibility: Works automatically with VeinMiner, LiteMiner, TreeHarvester, Traveler's Backpack, FallingTree, Panda's Falling Trees and more
- 🚜 Farm-Safe: Only picks up what your own actions break. Automated farms (pistons, water, bonemeal/moss, droppers) running nearby are never siphoned into your inventory

⚙️ Configuration
AutoPickup uses a flexible three-tier permission system:
- Server Defaults - Global fallback settings
- Admin Overrides - Per-player forced settings (highest priority)
- Client Preferences - Individual player choices (only if server allows)
🖥️ Configuration Menu (Client)
You can configure your personal preferences via the menu. Use Mod Menu for a easy access on Fabric. Otherwise, use /autopickup gui
Settings available:
- Master Toggle
- Block Item Pickup
- Block Experience Pickup
- Mob Loot Pickup
- Mob Experience Pickup
- Split Mob Loot (share drops with nearby attackers)
- Split Mob XP (share experience with nearby attackers)
Note: Your client settings only apply if the server admin has enabled the corresponding "Allow" setting for that feature.

📜 Commands (Server Admin)
Server operators (OP Level 2+) can manage global defaults and player overrides using /autopickup.
Menu Access
| Command | Description |
|---|---|
/autopickup gui |
Access to configuration menu via command |
Global Configuration
| Command | Description | Default |
|---|---|---|
/autopickup |
Display current configuration status | - |
/autopickup master <true|false> |
Master toggle - disables mod entirely if false | true |
/autopickup blocks <true|false> |
Autopickup items from broken blocks | true |
/autopickup blockxp <true|false> |
Autopickup experience from broken blocks | true |
/autopickup mobloot <true|false> |
Autopickup loot from killed mobs | false |
/autopickup mobxp <true|false> |
Autopickup experience from killed mobs | false |
/autopickup splitmobloot <true|false> |
Share mob loot among nearby attackers | false |
/autopickup splitmobxp <true|false> |
Share mob XP among nearby attackers | false |
Client Control Allowances
These commands determine whether players can override server defaults with their client settings.
| Command | Description | Default |
|---|---|---|
/autopickup allow master <true|false> |
Allow clients to toggle master switch | false |
/autopickup allow blocks <true|false> |
Allow clients to toggle block item pickup | false |
/autopickup allow blockxp <true|false> |
Allow clients to toggle block XP pickup | false |
/autopickup allow mobloot <true|false> |
Allow clients to toggle mob loot pickup | false |
/autopickup allow mobxp <true|false> |
Allow clients to toggle mob XP pickup | false |
/autopickup allow splitmobloot <true|false> |
Allow clients to toggle mob loot splitting | false |
/autopickup allow splitmobxp <true|false> |
Allow clients to toggle mob XP splitting | false |
Per-Player Overrides
Force specific settings for individual players (overrides both server defaults and client preferences).
| Command | Description |
|---|---|
/autopickup override <player> master <true|false|default> |
Override player's master toggle |
/autopickup override <player> blocks <true|false|default> |
Override player's block pickup |
/autopickup override <player> blockxp <true|false|default> |
Override player's block XP |
/autopickup override <player> mobloot <true|false|default> |
Override player's mob loot |
/autopickup override <player> mobxp <true|false|default> |
Override player's mob XP |
/autopickup override <player> splitmobloot <true|false|default> |
Override player's loot splitting |
/autopickup override <player> splitmobxp <true|false|default> |
Override player's XP splitting |
/autopickup override <player> clear |
Remove all overrides for a player |
Use
defaultto remove a specific override while keeping others.
📂 Configuration Files
Server Config: config/AutoPickup/global_config.json
{
"autoPickup": true,
"autoPickupBlocks": true,
"autoPickupBlockXp": true,
"autoPickupMobLoot": false,
"autoPickupMobXp": false,
"autoPickupSplitMobLoot": false,
"autoPickupSplitMobXp": false,
"allowMaster": true,
"allowBlocks": true,
"allowBlockXp": true,
"allowMobLoot": true,
"allowMobXp": true,
"allowSplitMobLoot": true,
"allowSplitMobXp": true
}
Client Config: config/AutoPickup/client_default.toml (or per-server profiles in presets/)
# AutoPickup Client Configuration
master = true
blocks = true
blockXp = true
mobLoot = false
mobXp = false
splitMobLoot = false
splitMobXp = false
Player Overrides: config/AutoPickup/player_overrides.json
{
"player-uuid-here": {
"overrideMaster": true,
"overrideBlocks": null,
...
}
}
Optional But Recommended Client Dependencies
- Mod Menu - Access config screen in-game
- YetAnotherConfigLib (YACL) - Required for YACL config GUI (Vanilla GUI fallback)
✅ Compatibility
AutoPickup hooks into core Minecraft mechanics and works seamlessly with most mods out of the box.
🔧 Explicitly Supported Mods
| Mod | Status | Notes |
|---|---|---|
| VeinMiner | Full | Whole vein chain collected with XP, at any length |
| TreeHarvester | Full | Logs/leaves collected; saplings auto-replanted if enabled |
| Traveler's Backpack | Full | Items route to backpack filter first (If the Auto Pickup upgrade is there it works) |
| FallingTree | Full | Tree items handle the different break modes |
| Panda's Falling Trees | Full | Tree items are handled by AutoPickup after fall animation |
| RightClickHarvest | Full | Right-click crop harvests (including tall sugarcane) picked up automatically |
| LiteMiner | Full | Whole vein chain collected with XP, at any length |
| General Block Breakers | Compatible | Any mod or mechanic that breaks blocks and attributes the break to the player |
📋 Technical Details
AutoPickup intercepts drops at these injection points:
Block.dropResources()- Primary block drop handlingServerPlayerGameMode.destroyBlock()- Tracks the player's own block break and marks their break as "on the stack," so drops caused synchronously by that break (chain-mining, plant-column collapse) are attributed while independent farm drops are notLevel.destroyBlock()- Non-player breaks from mods/vanilla (chain-miners like LiteMiner, and bamboo/sugarcane/cactus columns collapsing after their base is broken)ServerLevel.addFreshEntity()- Item entity spawning and falling-block entity tracking (FallingTree and any mod that spawns drops directly)LivingEntity.dropFromLootTable()- Mob loot generationLivingEntity.dropExperience()- Mob XP orbsBlock.popExperience()- Block XP orbsExperienceOrb.award()- Captures XP spawned directly by block-breaking mods (e.g. VeinMiner)ServerPlayerGameMode.useItemOn()- Right-click harvesting (sweet berries, jukebox disc ejection, crops via the RightClickHarvest mod, etc.)ItemFrame.hurt()/hurtServer()- Items removed from item frames by left-clickingMob.interact()/ShearsItem.interactLivingEntity()- Shearing drops (wool, snow golem pumpkins, mooshroom mushrooms)BrushableBlockEntity.dropContent()- Brushing suspicious sand/gravelLivingEntity.dropFromEntityInteractLootTable()- Brushing armadillos for scutes
This broad compatibility means most mods work automatically without explicit support.

🎮 Mob Loot Splitting
When Split Mob Loot or Split Mob XP is enabled, rewards from mob kills are shared among participants:
How It Works
- Damage Tracking: The mod tracks the last 10 unique players who damaged each mob
- Eligibility Check: On mob death, only players who:
- Are online and not spectating
- Have Master enabled
- Have the specific Mob Pickup feature enabled
- Have the specific Split feature enabled
- Are in the same world as the killer
- Distribution:
- Items are split evenly; the killer receives any remainder
- Experience is split evenly; the killer receives any remainder
- Items that don't fit in inventories are dropped at the mob's location
Example
Player A (killer), B, and C all damaged a zombie. Settings:
- Player A: Master ✅, Mob Loot ✅, Split Mob Loot ✅
- Player B: Master ✅, Mob Loot ✅, Split Mob Loot ✅
- Player C: Master ✅, Mob Loot ✅, Split Mob Loot ❌
Result: Only A and B receive split loot. Player C gets nothing because they disabled splitting.
👩💻 Developer API
Adding as a Dependency
Gradle:
dependencies {
compileOnly(files("libs/autopickup-platform-x.x.x.jar"))
}
Using the API
import com.lukarbonite.autopickup.AutoPickupApi;
public class QuestRewards {
public void giveReward(Player player, List<ItemStack> items, int xp) {
if (!isModLoaded("autopickup")) {
// Fallback: manual drops
items.forEach(stack -> player.dropItem(stack, false));
player.addExperience(xp);
return;
}
// AutoPickup handles:
// - Inventory insertion
// - Traveler's Backpack routing
// - Config checks (Master, Blocks, etc.)
List<ItemStack> remaining = AutoPickupApi.tryPickup(player, items);
// Drop items that didn't fit
remaining.forEach(stack -> player.dropItem(stack, false));
// AutoPickup handles:
// - Mending calculations
// - Config checks
AutoPickupApi.tryPickupBlockExperience(player, xp);
}
// For mob-related rewards
public void giveMobReward(Player player, List<ItemStack> loot, int xp) {
List<ItemStack> remaining = AutoPickupApi.tryPickupFromMob(player, loot);
remaining.forEach(stack -> player.dropItem(stack, false));
AutoPickupApi.tryPickupMobExperience(player, xp);
}
}
API Methods
| Method | Description |
|---|---|
tryPickup(PlayerEntity, List<ItemStack>) |
Pickup items from blocks (respects Master + Blocks settings) |
tryPickupFromMob(PlayerEntity, List<ItemStack>) |
Pickup items from mobs (respects Master + MobLoot settings) |
tryPickupBlockExperience(PlayerEntity, int) |
Give block XP (respects Master + BlockXP settings) |
tryPickupMobExperience(PlayerEntity, int) |
Give mob XP (respects Master + MobXP settings) |
isMasterEnabled(PlayerEntity) |
Check if autopickup is enabled for player |
isBlocksEnabled(PlayerEntity) |
Check block item pickup setting |
isBlockXpEnabled(PlayerEntity) |
Check block XP pickup setting |
isMobLootEnabled(PlayerEntity) |
Check mob loot pickup setting |
isMobXpEnabled(PlayerEntity) |
Check mob XP pickup setting |
Note: All
try*methods return lists of items that could not be picked up (full inventory).
📜 License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
You are free to:
- ✅ Use in modpacks
- ✅ Modify for personal use
- ✅ Distribute modified versions (must also be AGPL-3.0)
See the LICENSE file for full details.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers