
Chest Thief
Bring danger to your storage with the Chest Thief — an outcast trader who steals your most valuable items and vanishes into the night. This mod adds a new hostile mob that sneaks into bases and villages, turning your loot into a constant risk.
Screenshots



About this Mod

Your chests are being robbed. The thief doesn't vanish — it takes your loot to a real underground dungeon you can raid to get it back.
On a multiplayer server, everyone's loot ends up in the same place — and whoever gets there first takes everything.
Your base is a target.
A thief spawns near player chests, steals at night, and disappears. The more you own,
the more often it comes. Secure your base — or go on the offensive.
Find the dungeon.
Stolen items accumulate in a criminal base somewhere in your world, packed with loot
from every chest in the area. A Wandering Trader sells a map. Fight through the guards
and take it all — including what was stolen from your neighbours.
Run your own operation.
Kill the guards, mine their chest with a Silk Touch tool, and bring it home. Thieves
will start delivering stolen goods to you instead. On a multiplayer server, nobody
needs to know it's there.
Use the thief as a spy.
Put a lead on a captured Chest Thief and it will walk you toward the nearest chest it
can find — a dungeon, a hidden cache, or another player's base they thought was secret.
Compatibility
| Fabric API | Required |
| Cloth Config | Optional — in-game config screen |
| Xaero's Minimap | Optional — waypoints for located bases |
Configuration
Config files live in your Minecraft config/ folder. They are created automatically on
first launch. New fields added by mod updates appear automatically with sensible defaults
— no manual migration needed. All values can also be changed via the Cloth Config
in-game screen.
chest_thief_config.json
Spawning
| Field | Default | Description |
|---|---|---|
spawnWeight |
20 |
How common the thief is. Cows are 8 — higher means more frequent |
spawnMinGroup |
1 |
Minimum group size when spawning |
spawnMaxGroup |
2 |
Maximum group size when spawning |
spawnMinNearbyChests |
2 |
Minimum chests within detection range before a thief may spawn |
spawnBiomes |
(most overworld biomes) | List of biome IDs the thief spawns in |
Stealing
| Field | Default | Description |
|---|---|---|
chestDetectionRadius |
100 |
How far (blocks) the thief scans for chests |
chestDetectionMaxVerticalDist |
16 |
Max vertical distance to a chest. Low values exclude buried dungeons |
chestInteractionIntervalTicks |
60 |
Ticks between steal attempts (20 = 1 second) |
maxCarrySlots |
5 |
How many item stacks the thief can carry before leaving |
stealOnlyListedItems |
false |
If true, only items in chest_thief_values.json can be stolen |
Combat
| Field | Default | Description |
|---|---|---|
panicChance |
0.4 |
Chance (0–1) the thief flees and drops an item when attacked |
panicDurationTicks |
200 |
How long the thief sprints away in panic (200 = 10 seconds) |
berserkDurationTicks |
300 |
Duration of berserk mode (300 = 15 seconds) |
berserkSpeedMultiplier |
1.5 |
Speed multiplier during berserk (+50 % over base speed) |
berserkFollowRange |
50.0 |
Block radius the thief tracks targets during berserk |
Stealth
| Field | Default | Description |
|---|---|---|
nightSpeedBonus |
0.12 |
Flat speed added at night on top of base movement speed |
stealthChance |
0.85 |
Chance (0–1) to go invisible when the cooldown expires |
stealthMinTicks |
60 |
Minimum duration of each invisible period (60 = 3 seconds) |
stealthMaxTicks |
140 |
Maximum duration of each invisible period (140 = 7 seconds) |
stealthCooldownMinTicks |
200 |
Minimum pause between invisible periods (200 = 10 seconds) |
stealthCooldownMaxTicks |
400 |
Maximum pause between invisible periods (400 = 20 seconds) |
Departure
| Field | Default | Description |
|---|---|---|
departDelayTicks |
400 |
Ticks the thief waits with a full inventory before leaving (400 = 20 seconds) |
departDurationTicks |
600 |
Ticks the thief walks away before despawning — your last window to intercept |
maxAgeTicks |
48000 |
Maximum thief lifetime before it departs regardless (48000 = 2 Minecraft days) |
leavingSoundEnabled |
true |
Whether the thief plays a smug sound while departing |
leavingSoundMinTicks |
80 |
Minimum interval between departure sounds (80 = 4 seconds) |
leavingSoundMaxTicks |
160 |
Maximum interval between departure sounds (160 = 8 seconds) |
leaveDurationTicks |
200 |
How long the thief walks away from a chest when its inventory is full |
chest_thief_values.json
A map of item ID → priority value. The thief always steals the highest-priority item
it finds in a chest.
{
"minecraft:nether_star": 1000,
"minecraft:elytra": 900,
"minecraft:diamond": 500,
"minecraft:iron_ingot": 200
}
Items not in the list get priority 1 and can still be stolen — the list only controls
what gets taken first. Set stealOnlyListedItems: true in chest_thief_config.json
to restrict stealing to listed items only.
Default priorities (highest to lowest): Nether Star, Elytra, Enchanted Golden Apple,
Totem of Undying, Beacon, Netherite gear, Diamond gear, Gold, Iron, Ender Pearl, and more.
syndicate_config.json
World generation
| Field | Default | Description |
|---|---|---|
baseSpacingChunks |
32 |
Grid cell size in chunks. Larger = rarer bases |
baseSeparationChunks |
12 |
Minimum distance from cell edge to base centre |
Guards
| Field | Default | Description |
|---|---|---|
guardArrowDamage |
2.3 |
Base arrow damage (vanilla skeleton = 2.0) |
guardsPerItem |
0.5 |
Guards spawned per item in the base (rounded down) |
minGuards |
4 |
Minimum guards regardless of loot count |
maxGuards |
16 |
Maximum guards regardless of loot count |
guardRespawnIntervalTicks |
6000 |
Ticks between respawn checks (6000 = 5 minutes) |
guardRespawnPlayerBuffer |
8 |
Buffer (blocks) around the base AABB that blocks respawn |
Loot
| Field | Default | Description |
|---|---|---|
starterLootTotal |
10 |
Items placed in the base at world generation |
starterValuableCount |
3 |
How many of those are mid-tier valuables; the rest is filler |
raidThreshold |
0.3 |
Base is considered raided when loot drops below 30 % of peak |
lootDeliveryRadius |
1000000 |
Max distance (blocks) a thief travels to deliver loot |
Discovery
| Field | Default | Description |
|---|---|---|
mapTraderChance |
0.5 |
Chance (0–1) a Wandering Trader sells a map to the nearest base |
createXaeroWaypoints |
false |
Add a waypoint in Xaero's Minimap when a base is located |
Available Versions
How to Install Chest Thief on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (26.1.2).
Install Mod
Open the mod browser in the dashboard and search for "Chest Thief". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
26.1.2, 26.1.1, 26.1
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Chest Thief server crashes on startup – what to do?
Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (26.1.2). You can switch loaders with one click in the panel.
Is Chest Thief compatible with fabric?
Chest Thief officially supports fabric for Minecraft 26.1.2, 26.1.1, 26.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Chest Thief – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Chest Thief consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install Chest Thief with just one click on your server.