Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details

X-ray Fix
X-ray Fix is a high-performance Minecraft server plugin designed to defeat both visual X-ray mods and seed-based X-ray exploits. It works by decoupling ore generation from the world seed and using advanced packet-level obfuscation to hide underground blocks from clients.
Features
- Seed-Based X-ray Protection — Ores are stripped and re-placed using a private server secret. Even if a player knows the world seed, they cannot predict ore locations.
- Visual X-ray Protection — Sends fake block data (random ores and stone) to the client for all hidden underground blocks.
- Multi-Dimension Support — Custom obfuscation rules and fake material pools for both the Overworld and the Nether.
- Folia Compatible — Fully thread-safe and compatible with both Folia and traditional Paper servers.
- Performance Optimized — Uses
ChunkSnapshotfor efficient scanning and batchedsendMultiBlockChangeupdates, ensuring zero impact on server MSPT.
How It Works
Ore Stripping & Replacement
When a chunk is generated (or loaded for the first time after installation), X-ray Fix scans it and removes all naturally generated ores. New ore positions are then calculated using a PRNG seeded with the chunk coordinates combined with a private server-side secret — making placement consistent for the server, but completely unpredictable for players.
Packet Obfuscation
When a chunk is sent to a player, X-ray Fix identifies all blocks that are hidden (not exposed to air or transparent blocks) and replaces them in the outgoing packet with random selections from a configurable pool of fake materials. Players never see the real blocks until they're actually exposed.
Dynamic Revealing
When a block is broken, placed, or blown up, X-ray Fix instantly sends high-priority multi-block change packets for all 6 adjacent neighbors — ensuring newly exposed blocks are revealed immediately with no visual glitches.
Requirements
- Server: Spigot, Bukkit, Paper, Purpur, Pufferfish, or Folia (1.21.1+)
- Java: 21+
- ProtocolLib (Required)
Installation
- Download and drop the JAR into your server's
pluginsfolder. - Start the server to generate
config.yml. - (Optional) Set a custom
secretinconfig.yml. If left empty, one will be auto-generated. - Adjust
max_yandfake_materialsto suit your needs. - Restart the server and you're protected.


