Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Chest Radar
Chest Radar indexes the contents of every chest, barrel and placed shulker box you open, so that later you can ask "where did I put the diamonds" and actually get an answer: the item, the quantity, the container it is in and how far away it is.
It works with custom server items too. Items with their own name, lore and datapack enchantments are recorded exactly as your client received them, so a §bVoid Sword with three lines of lore is searchable by any of those words, not just by "sword".
The whole thing is client-side. Nothing is installed on the server, no packet is ever sent, and the servers you join do not need to know it exists. The mod only ever records what your own client already saw you open, which is also its main limitation: a chest you never opened is a chest the radar does not know about.
Only real blocks are indexed. A container has to exist in the world, at coordinates, to be recorded. Ender chests, your own inventory and blockless plugin menus are deliberately left out, because their contents are not at the place the radar would send you to.
Features
- Opening a container indexes it. Chests, barrels, and shulker boxes placed in the world. No command, no scan, no "index my base" button. You play normally and the index fills itself.
- Search from your hand. Press
Rwhile holding an item and the mod reports in chat every container within range holding it, with coordinates and distance. HoldShiftand it widens to every variant of that item instead of the exact one you hold. - The search key also works inside a container screen. It closes the screen and runs the search on the stack under your cursor, or the one you are dragging, or your main hand, in that order. You never have to put an item back in your hand just to ask where the rest of it is. A focused text field wins, so renaming at an anvil still types an
r. - A full radar screen (
G) listing everything indexed around you, filterable and sortable by name, quantity or distance, with an item count and a container count at the top. - Two views. A list with one row per item, or a grid of icons with quantity overlays. Toggle it with the button in the toolbar. Your search text survives the switch.
- Left click takes you there. It closes the radar, outlines the container and turns your camera towards it. Right click shows the item's containers without leaving the screen. Middle click pins it.
- A search grammar in the search box: multiple terms, exclusions, exact phrases, and prefixes for enchantment, item id, lore, container name, kind, dimension, quantity, distance and age.
- The container highlight (ESP). After a search, every matching container gets an amber wireframe box drawn through walls, for a configurable number of seconds. The countdown only starts once you close the radar, not when you click.
- Highlight labels. Each box is captioned with the container's name and how much of the searched item it holds. That is what turns a row of eight identical chests into an answer instead of eight boxes.
- Slot highlighting. After a search, opening a container outlines the exact slots holding what you were looking for, with a pulsing amber frame, including a shulker box or a bundle that holds the item nested inside it. It has its own duration setting, because reaching the chest can take longer than the wireframe lives.
- A compass. Once you pick a container, a heading arrow and the remaining distance stay on screen until you arrive. The wireframe expires after a few seconds; the walk across your base usually does not.
- Look-at preview. Aim at a container the mod has already seen and its known contents appear in the corner, sorted by quantity, with the age of the record, without opening it.
- "In your chests" on every tooltip. Any item, anywhere in the game, gets a line telling you how many you own in total. Hold
Shiftand it also shows the container count and the distance to the nearest one. Off by default. - Ages on everything. Every container line carries "seen 3 d ago". Past a configurable threshold (7 days by default) the line is greyed out.
- Automatic purge. Walk past an indexed position whose chunk is loaded and where the block is no longer a container, and the record is deleted. It only ever fires on certainty: an unloaded chunk reads as air exactly like a broken chest, so unloaded positions are left alone.
- A master switch for all of that. "Let the mod tidy up on its own" turns off purging and staleness at once, and the mod stops touching your index by itself.
- Change reports. Close a chest the mod already knew and it says in chat what moved since your last visit:
+3 diamonds,-64 stone. By default it compares against the state at the moment you opened it, so your own transfers are not read back at you. Turn "Ignore your own deposits and withdrawals" off to get the exhaustive log instead. - Cross-dimension search. A search from the Nether can also return your Overworld base, with horizontal distances converted by the portal rule. Those results are tagged with the dimension, because a "100 m" that needs a portal is not the same 100 m.
- Nested contents. Items inside shulker boxes and bundles sitting in a chest are counted as those items, not as one opaque shulker. A shulker full of iron counts as iron.
- Bulk quantity reading. On some servers a single item stands for thousands, with the real number written in its lore or in the menu title. The mod reads that number instead of counting 1. Configurable patterns.
- Server menus. Some servers open a chest as a small hopper-style menu rather than a real chest screen. There is a setting to record those too.
- Pins. Middle click an item to pin it. Pinned items sort to the top whatever the active sort, and the star button filters the view down to them.
Shift+ middle click sets a target quantity, which draws a progress bar and a1234 / 2000fraction that turns green when you reach it. Pins live in the global config, not in the world index, so "I need 6 stacks of iron" means the same thing on every server. - A craft planner. Tells you, for any recipe your recipe book knows, what you are missing and which chests to raid for the rest. Details below.
- Collection routes. Chains the containers to visit into one trip, nearest first, and walks you through it with the compass. Details below.
- Six keybinds, all ordinary vanilla keybinds under a Chest Radar category in Options → Controls: search held item (
R), open radar (G), open settings, toggle highlight, open craft planner, cancel collection route. The last four are unbound by default. - A tooltip on every single setting explaining what it actually does, plus a filter box to find one. Settings switched off by another are greyed out and say why.
- Everything is a setting. Every feature listed above can be turned off.
The search grammar
The search box takes more than one term. Every term is ANDed. Each prefix accepts an English and a French form.
| Term | Matches |
|---|---|
diamond |
free text: name, item id, enchantment ids, and lore if that setting is on |
-pickaxe |
excludes |
"void sword" |
exact phrase, spaces no longer split |
ench:sharpness |
by enchantment |
id:iron_ingot |
by item identifier |
lore:sold |
in the lore, whether or not the lore setting is on |
in:base |
by container name |
kind:chest |
chest, barrel or shulker |
dim:nether |
by dimension |
>64 <10 |
by total quantity |
m:32 |
within 32 blocks |
d:7 |
seen less than 7 days ago |
Enchantments match by identifier (knockback, minecraft:sharpness, serverpack:radioactivity), never by localized name. Searching Recul will not find a Knockback item.
A prefix is only an operator when it is one of the words above, so minecraft:stone is still plain text and still finds stone. An operator with no value yet, like ench: while you are still typing, is ignored rather than matching everything or nothing.
If your server's item names literally contain id: or a leading dash, turn Advanced filters in the search bar off. You get the old behaviour back: one literal substring, no splitting, no operators.
The craft planner
Open your inventory, a crafting table or a furnace and a small Plan tab appears under the bottom-right corner of the window. Or press the Open craft planner keybind anywhere, no table needed.
Pick a recipe in the vanilla recipe book, including one you cannot currently craft, and that tab becomes Route: it opens the planner straight on that recipe, no typing. Otherwise type what you want to make, say how many, and you get something like this:
Rail Crafting table · 2 crafts, 32 produced
Iron ingot (+0) x12 on you 4 chests 20 42m ↗
Stick x2 missing 2
- on you is your inventory, chests is your index within the search radius, missing is what neither covers. The three are kept apart on purpose: what you carry is available now, what a chest holds costs a walk, and what is missing costs a mining trip.
- How many is the box next to the search field. Type a number, click
-/+, or scroll over it. HoldShiftand a step is a whole stack instead of one craft. The number counts items, not crafts: ask for 128 rails and it works out the 8 crafts it takes. - Needed is the recipe multiplied by the number of crafts, rounded up. 32 rails is two crafts of 16, so 12 iron, not 6.
- An ingredient that accepts several items (any plank, any log) sums all of them, exactly like the crafting table will. The
(+10)after a name is how many other items that slot accepts. - Left click an ingredient to be taken to the nearest container holding it, compass and highlight included. Right click it to re-plan the panel on that ingredient, for the quantity you are short of.
◀walks back up the chain. The recursion is manual and one step at a time, because the useful depth depends entirely on what you already have. - Crafting, smelting, stonecutting and smithing recipes are all read. Furnace fuel is deliberately not counted as an ingredient, since "any fuel" is not something to go fetch from one particular chest.
- Escape returns you to the crafting table with your grid untouched.
The recipes come from your own recipe book. Since 1.21.2 the client receives recipe displays rather than recipes, so the planner knows exactly what the book shows: what you have unlocked on that world, including recipes a server datapack added.
The collection route
Five separate answers to "where is this item" mean walking across your base three times. A route turns them into one trip: nearest container first, then the nearest to that one, each stop carrying the list of what to pick up there.
- From the radar screen, the Route button builds it from your pinned goals. For each pin with a target it needs
target − what you already carry. Pins without a target are ignored, because "I'm watching this" does not say how many to take. - From the craft planner, Collection route builds it from the missing ingredients, skipping whatever is already in your inventory.
- The compass points at the current stop and the HUD adds
2/5 · Iron chestwith what to take there. Arriving advances to the next stop on its own. - A stop whose container turns out to be gone is dropped from the trip rather than kept as a destination.
- Containers in another dimension are excluded and counted in a chat line. A walking route does not cross a portal, and a portal-converted distance says nothing about how long the detour actually takes.
- Anything no indexed container of this dimension can cover is reported as such rather than silently dropped. Same for what does not fit within Maximum stops on a route (8 by default), because a forty-chest itinerary is a list, not a route.
The order is nearest-neighbour rather than the shortest possible tour, on purpose: an itinerary you cannot predict in your head does not inspire much confidence in a base you can see.
Jade (optional)
If Jade is installed, the look-at preview stops drawing its own panel and appends its lines to Jade's tooltip instead: the age of the record, then one line per item with its icon and quantity. Both were describing the same block in the same corner of the screen, and stacked they only got in each other's way.
Nothing changes about where the data comes from. It is still your own index, read from memory, with no packet sent and no server-side Jade required. The provider is registered as a normal Jade plugin, so it also shows up in Jade's own settings and can be switched off from there. On our side the switch is Show the preview inside Jade, which falls back to the mod's own panel. Without Jade the setting is greyed out and the panel is used, exactly as before.
ModMenu (optional)
If ModMenu is installed, Chest Radar adds an entry to its mod list that opens the same settings screen as the Open settings keybind.
Entirely optional. Without it every setting is still reachable, through the keybind or through the settings button inside the radar screen.
Where your data lives
config/chestradar.jsonis the mod's settings plus your pinned items.config/chestradar/<world>.jsonis one index file per world or server, keyed by save name in singleplayer and by server address in multiplayer.
Deleting one of those index files just means that world's index starts empty next time you play. Exit Minecraft before editing config files by hand, and make backups from time to time.
FAQ
Server rules and fair play
Is this a cheat? It records what your own client was already shown. Opening a chest sends you its contents; the mod writes them down instead of forgetting them the moment you close the screen. It sends nothing, requests nothing, and cannot see a container you have not opened.
That said, "allowed" is your server's call, not mine. The container highlight draws through walls, which some servers consider an ESP regardless of where the data comes from. If you are unsure, turn the highlight off (there is a keybind for exactly that) or ask your staff first.
Missing containers
A chest you know exists is not showing up. Almost always one of three things.
- You never opened it. The mod cannot index a container you have not seen inside. This is the whole design and there is no way around it client-side.
- It is outside your search radius. Past that distance a container no longer appears in results. It is not forgotten though: widen Search radius in the settings and it comes back.
- It is in another dimension and Search every dimension is off.
If it is none of those, check whether Hide chests with outdated info is on and the record is older than your staleness threshold.
Outdated contents
The radar says a chest holds diamonds and it does not. The contents reflect the last time you opened that container. If someone emptied it afterwards, the index is wrong until you open it again.
The mod tries to be honest about this rather than pretend otherwise: every line carries its age, old ones are greyed out, and a container whose block is gone gets deleted automatically the next time you walk past it with the chunk loaded. Enable Show "last seen" if you have turned it off. On a busy server, lower Treat info as outdated after.
Duplicate lines for custom items
Your custom server items each show up as their own line. Some plugins stamp every individual copy of a custom item with a unique marker, a per-item UUID or a creation timestamp. Two physically identical items then stop being recognized as the same item.
Add the offending component's key to ignoredComponentKeys in chestradar.json and re-index. That groups them back together.
This does not help against a plugin that re-randomizes the marker on every interaction rather than once at creation. In that case the value differs between two openings of the same container, and no client-side filtering can fix it.
Ender chests
They are never indexed, on purpose: their contents follow you rather than sitting at coordinates. Same for your own inventory, for a shulker box opened from inside it, and for any blockless plugin menu.
Missing recipes
The craft planner only knows the recipes your recipe book has received, which is to say the ones you have unlocked on that world. Since 1.21.2 the client is never sent the recipes themselves, only the displays the book draws, so there is nothing else to read client-side. A recipe you have never unlocked simply does not appear in the search.
If the panel says "No recipe received: your recipe book is empty on this world", the server has not sent you any yet.
Empty routes
A route stays inside the dimension you start it in, and never counts what you are already carrying. Both are deliberate. It does mean a route can find nothing to do while the radar still lists plenty of that item, in another dimension or in your own pockets.
Check the chat line after building the route: containers skipped for being in another dimension are counted there.
Disabling automatic cleanup
You can stop the mod touching your index on its own. Turn off Let the mod tidy up on its own, the first setting of the "Outdated info" section. It is the master switch for both purging and staleness: nothing is removed, nothing is ever marked outdated, and the index only changes when you open a container or clear it yourself.
The two fine-grained settings stay below it if you want to keep just one half. They grey out while the master switch is off.
Clearing one world
To wipe a single world without losing the rest, use Forget everything in this world in the settings, which erases only the current world or server and keeps your pins. Or delete the matching config/chestradar/<world>.json by hand with the game closed.
Both are irreversible. There is no undo and no recycle bin.
Shulker boxes
The radar does not tell you which shulker box an item is in. It tells you which container (chest, barrel or placed shulker) the item was seen in. Narrowing it down further means opening that container's shulkers yourself.
Note that a total can include copies sitting inside a shulker or a bundle, which are not directly accessible without opening that shulker first. The chat result says "(N inside a shulker)" when this applies.


