EliteAntiXRay - RayTracing XRay icon

EliteAntiXRay - RayTracing XRay v1.1

Efficiently prevent players from using xray in your server hiding unexposed ores with RayTracing

1130.gif

Why EliteAntiXRay?

Future-proof & version-safe

The plugin is fully API-based with no reflections or version hacks. Works across updates without breaking.

How is it better than Paper AntiXRay (Engine Mode 1)?​

Paper’s Engine Mode 1 is a good basic protection, but it works on a very simple rule: Paper hides a block only if ALL 6 of its faces are fully occluded. If ANY face is exposed (which also counts blocks colliding with water, lava or non obclusing blocks,even if the player cannot actually see it, the ore is revealed to x-ray clients.
Engine Mode 1 is lightweight, but not secure.
EliteAntiXRay uses a precise raytracing-based visibility system: If the player cannot actually see the ore (even diagonally or partially), it is hidden. Not just fully occluded blocks, ANY block that is not truly visible will be replaced with realistic stone.
This means: 100% of x-ray visibility leaks are fixed, no false positives.
EliteAntiXRay simulates real line-of-sight
The plugin calculates:

  • The closest exposed face of the ore
  • A ray from the player’s eye to that face
  • Whether the ray is blocked by any solid block

This is the same information the player would actually see, so x-ray clients get nothing your players shouldn’t have.
Bonus: EliteAntiXRay also works on regular spigot


Smart Chunk Scanning

EliteAntiXRay scans chunks slice-by-slice and locates real ore blocks using a highly optimized asynchronous pipeline.

Invisible Block Replacements (Undetectable)

Players see realistic stone patterns instead of obvious blocked ores. No strange artifacts, no laggy transitions.

Legitimate Reveal System

When players legitimately expose a block (mining, explosions, piston movement, etc.), the hidden ores are instantly restored.

High-Performance Architecture

  • Fully async scanning (when possible, avoiding thread unsafe calls)
  • Avoids re-scanning unchanged chunks
  • Canonical block coordinate tracking
  • Configurable scan radius
  • Efficient caching system
  • Ultra-fast block change dispatch

 

Main Features

  • Accurate ore detection
  • Smart adjacent chunk handling
  • Optimized for large servers and networks
  • Plug-and-play configuration
  • Selective per-world controls

 

CONFIG.yml:

# DO NOT CHANGE THIS VALUE MANUALLY AS IT CAN BREAK THE PLUGIN!
file-version: 1

# max-height: The maximum height (Y coordinate) that will be considered for visibility checks.
max-height: 64

# min-real-radius: The radius (in blocks) around the player that will be
# considered as visible even if there are blocks in the way in order to
# not have weird blocks disappearing when the player is very close.
min-real-radius: 3

# max-chunks-per-tick: The maximum number of chunks that can be scanned per tick
# recommended is 4 to 8 depending on your server performance. Higher values can cause
# server lag with many players online/older cpus.
max-chunks-per-tick: 4

# max-chunks-per-tick-startup: The maximum number of chunks that can be scanned per tick
# during server startup. Recommended is 6 to 12 depending on your server performance.
max-chunks-per-tick-startup: 6

# slices-per-chunk: The number of slices to divide the chunk scanning into. More slices means less lag spikes
# but longer time to fully scan chunks.
slices-per-chunk: 8

# max-slices-per-tick: The maximum number of slices that can be processed per tick.
max-slices-per-tick: 3

# worlds: A list of worlds where the plugin is active.
worlds:
  - world

anticheat

cheat

xray

antixray