CleanChest CleanChest performs a deep, asynchronous scan of your world's loaded assets, ensuring no illegal item stays hidden.
Core Features
Asynchronous Processing: The plugin uses a scanning system (chunks-per-tick) to prevent server lag or TPS drops.
Deep Inspection: Scans Block Containers (Chests, Shulker Boxes, Hoppers, ...), Entities (Armor Stands, Item Frames), and Items dropped on the ground.
Modern Visuals: Full support for MiniMessage, RGB Gradients, and Action Bar progress reporting.
Command and Permission
Code (Text):
/cleanchest - Starts the global scanning and cleaning process.
Code (Text):
cleanchest.use - Allows you to use the full command.
cleanchest.update - Allows you to receive update notifications
Code (YAML):
# CleanChest - Configuration File
# List of materials that are strictly forbidden. # Any item of this type found will be deleted instantly. forbidden-materials: - BEDROCK
- BARRIER
- COMMAND_BLOCK
- COMMAND_BLOCK_MINECART
- STRUCTURE_BLOCK
- JIGSAW
- DEBUG_STICK
# Enchantment settings # If any enchantment on an item exceeds this level, the item is removed. # Set to 255 to effectively disable this check for vanilla-style limits. max-enchantment-level: 10
# Scan Settings # Whether to check Armor Stands, Item Frames, and dropped items on the ground. scan-entities: true
# Performance Settings # Higher values scan faster but may cause TPS drops or lag. # Recommended: 5 to 20 depending on your CPU. chunks-per-tick: 5
# Localization / Messages messages:
prefix: "<gradient:#FF5F6D:#FFC371><b>CleanChest</b></gradient> <dark_gray>»</dark_gray> " no-permission: "§cYou do not have permission to execute this command." start: "§eStarting global scan... §f(Performance may be slightly impacted)" progress: "§7Progress: §a%percent%% §8[§f%current%§7/§f%total% chunks§8]" finished: "§aCleanup complete! §f%items% §7illegal items removed across §f%chunks% §7chunks."
Technical Implementation CleanChest is optimized for Java 25+ and utilizes the
Adventure API for high-quality text rendering :
Block State Analysis: Every TileEntity in the chunk is checked. If it implements the Container interface, its entire inventory is parsed.
Entity Filtering: When enabled, the plugin iterates through all entities. Special care is given to ArmorStands and ItemFrames to ensure hidden slots are checked.
Memory Management: By utilizing BukkitRunnable with a configurable chunk-per-tick limit, the plugin avoids the common "main thread hang" associated with world-wide inventory scans.
Installation
Download the CleanChest.jar.
Place the file into your server's /plugins/ folder.
Restart your server.
Configure the forbidden-materials list in config.yml to match your server rules.
Run /cleanchest in-game.
Support If you encounter any issues or have suggestions for new "cheat" detection criteria, please contact me via the discussion thread or GitHub. Ensure you include your server version and any relevant log files.