Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details

Paper's anti-xray does a good job on ores. It does nothing for chests.
A chest is sent to the client twice: once as a block, and once in a separate list of block entities with its exact coordinates. Anti-xray only touches blocks, so that list goes out as is. With engine-mode: 2 even the chest block itself leaks. Storage ESP, stash finders and "base finder" modules in clients like Krypton read that list and see every container in render distance.
OutOfSight takes containers out of the chunk packet until the player could actually see them.
What it hides
- Chests, trapped chests, copper chests, barrels, ender chests, shulker boxes (every colour), spawners
- Furnaces, hoppers, brewing stands, beacons, enchanting tables, beds, signs and banners
- Chest minecarts, hopper minecarts and chest boats
- Anything else you add. Block tags like
#bedswork, and you can add entities such as item frames and armor stands
A container is sent once the player is within 48 blocks and a ray from their eye reaches it. Walk into your base and the chests are there. Stand on a hill above someone's base, or scan from 150 blocks out, and they aren't. Entities follow line of sight only, so a boat on open water or item frames on a wall look the same as they always did.
What it doesn't do
It doesn't touch movement or combat. KillAura, crystal aura, fly and speed need a simulation anticheat; use Grim, which runs next to this plugin without conflict. It can't hide tunnels or holes either, because the client needs the terrain shape to walk on it.
For ore X-ray and netherite finders you need Paper's anti-xray turned on. It ships off, and its default list leaves out ancient_debris, spawner and barrel. Run /oos advise and the plugin will tell you what your Paper config is missing.
Requirements
- Paper or a fork such as Purpur: 1.21.11, 26.1, 26.2 or 26.3
- PacketEvents 2.14.0 or newer (2.13.0 also works on 1.21.11)
- Java 21, or Java 25 on 26.x
- Folia and Spigot are not supported
The same jar works on every version listed. ViaVersion and ViaBackwards are fine too.
Installing
- Install PacketEvents.
- Drop OutOfSight into
plugins/and restart. - The shield starts off. Set
shield.test-mode: trueandshield.enabled: true, run/oos testme, relog, and check that you can still find and open your own chests. Only you are affected while test mode is on. - When you're happy, set
test-mode: falseto cover everyone.
Commands
All need outofsight.admin (op by default). /oos works as a shortcut.
| Command | What it does |
|---|---|
/oos shield |
Toggle the shield |
/oos testme |
Shield only yourself, for testing |
/oos advise |
Report what Paper's anti-xray settings leave open |
/oos xray [chunks] |
Audit outgoing chunk packets for leaks |
/oos hidechest |
Build a buried test chest, then relog to check it |
/oos perf |
Show what the shield costs |
Testing and limits
Every commit is checked on real Paper servers running 1.21.11, 26.1.2, 26.2 and 26.3. A headless client joins, decodes every packet it gets, and checks that buried chests and minecarts stay hidden while visible ones arrive, in the Overworld and the Nether. The same scene is then run with the shield off to confirm the test would catch a leak.
This is a beta. It hasn't run on a busy server yet and has only been load tested up to 40 bots. The shield works on network threads and TPS stayed at 20 in those runs. If something looks wrong, turn the shield off with /oos shield and open an issue.
Parts of the code and this page were written with AI assistance.
Source and full docs: GitHub. GPL-3.0.


