Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details

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 |


