Pickup Deleter

Deletes items from player inventories and on pickup using a configurable list

Pickup Deleter

Control exactly what each player can and can’t have, per player, per mod, per item.

Pickup Deleter silently removes items, strips enchantments, and blocks potion effects based on rules you set.

Requires: Minecraft 1.20.1 and Forge 47+
Optional: Curios API (Curios slots are scanned when it’s installed)

Features

  • Per-player item bans. Delete items the moment a player picks them up, by item, by whole mod (modid:*), or by item tag.
  • Assign-a-mod workflow. Keep a master list of content mods and assign each player their own. Everyone else’s mods are automatically blocked for them.
  • Enchantment stripping. Remove specific modded enchantments, or every enchantment from a mod, while keeping the item itself.
  • Potion and mob effect blocking. Stop chosen effects from being applied to a player, and remove them if already active.
  • Global item ban. Remove items from the game for everyone: dropped items never spawn, and banned items are cleared from inventories and from containers when opened.
  • Inventory sweep. Optionally scans inventory, armor, offhand, and Curios slots on a timer, so items from chests, crafting, trades, or commands are caught too.
  • Live reload. Edit the config file and changes apply within a couple of seconds, with no server restart.
  • In-game commands for everything, with tab completion for players and mod IDs.

Quick start

Assign each player their mod, and everyone else’s are blocked automatically:

 
/pickupdeleter assign Player1 botania
/pickupdeleter assign Player2 cataclysm
/pickupdeleter assign Player3 irons_spellbooks some_addon_modid

You can list several mod IDs per player for addons. Assigning a mod also adds it to the master mod list. Players without an assignment aren’t affected by content-mod bans.

Commands (op level 2)

Content mods

 
/pickupdeleter assign <player> <modid> [more modids...]
/pickupdeleter unassign <player>
/pickupdeleter assignments
/pickupdeleter contentmods list | add <modid> | remove <modid>

Precise per-player rules (use global instead of player <name> to apply to everyone)

 
/pickupdeleter add    player <name> <entry>
/pickupdeleter remove player <name> <entry>
/pickupdeleter list   player <name>

Global item ban

 
/pickupdeleter ban add <entry> | remove <entry> | list

Other

 
/pickupdeleter reload

<name> can be a username or a UUID.

Entry formats

Entry Effect
modid:item Delete that item
modid:* Delete every item from that mod
#namespace:tag Delete every item in that item tag
enchant:modid:name Strip that enchantment (item is kept)
enchant:modid:* Strip every enchantment from that mod
effect:modid:name Block and remove that potion effect
effect:modid:* Block and remove every effect from that mod

The global ban list accepts item entries only (modid:item, modid:*, #tag).

Configuration files

config/pickupdeleter-players.json holds all your rules. The commands edit it, and so can you by hand:

 
json
{
  "contentMods": ["botania", "cataclysm", "irons_spellbooks"],
  "assignments": {
    "Player1": ["botania"],
    "Player2": ["cataclysm"]
  },
  "bannedItems": ["examplemod:some_item"],
  "players": {
    "*": ["minecraft:bedrock"],
    "Player1": ["#forge:ingots/iron", "enchant:cataclysm:*", "effect:cataclysm:*"]
  }
}
  • Player keys can be a username (case-insensitive) or a UUID.
  • "*" under players applies to everyone.
  • If the JSON is invalid, the mod logs an error and keeps the previous rules.

config/pickupdeleter-common.toml holds general settings:

Option Default Description
notifyPlayer false Show an action-bar message when an item is deleted
ignoreCreative false Per-player rules skip creative-mode players
sweepIntervalTicks 20 How often to enforce rules on what a player already has (0 = off)
sweepCurios true Also sweep Curios slots if Curios is installed
stripContentModEnchantments true Strip other mod's enchantments from assigned player's items
blockContentModEffects true Block other mod's effects on assigned players

What it does and doesn’t cover

  • Covered: ground pickups, main inventory, hotbar, armor, offhand, and Curios slots (when Curios is installed). The global ban also covers dropped items and containers when opened.
  • Not covered: items inside shulker boxes, backpacks, and chests nobody opens. Nested container contents aren’t scanned.
  • Mods that share items: banning a whole mod also removes items from that mod that other mods use as ingredients.

Pickup Deleter Team

profile avatar
  • 2
    Projects
  • 59
    Downloads

More from aceofphoenix