raytrace-anti-xray:
enabled: true
# Ore / block types to hide from clients.
# Use exact Minecraft material names (case-insensitive).
hidden-blocks:
- DIAMOND_ORE
- DEEPSLATE_DIAMOND_ORE
- IRON_ORE
- DEEPSLATE_IRON_ORE
- GOLD_ORE
- DEEPSLATE_GOLD_ORE
- EMERALD_ORE
- DEEPSLATE_EMERALD_ORE
- COAL_ORE
- DEEPSLATE_COAL_ORE
- LAPIS_ORE
- DEEPSLATE_LAPIS_ORE
- COPPER_ORE
- DEEPSLATE_COPPER_ORE
- REDSTONE_ORE
- DEEPSLATE_REDSTONE_ORE
- NETHER_QUARTZ_ORE
- NETHER_GOLD_ORE
- ANCIENT_DEBRIS
- CHEST
- SPAWNER
# Block sent to the client in place of hidden ores.
# Overworld → STONE or DEEPSLATE
# Nether → NETHERRACK
mask-block: STONE
# Ores further than this many blocks from the player's eyes
# are always hidden without a ray-trace check (performance).
max-ray-distance: 128.0
# Blocks at or above this Y level are never processed.
# Default 64 = sea level. Raise to protect surface ores too.
max-raytrace-y: 64
# When true the ray must be perfectly straight.
# When false slight diffusion around corners is allowed.
strict-line-of-sight: false
# How often (ticks) each player's visible ores are re-evaluated.
# 10 ticks = 0.5 s. Lower = more responsive, more CPU usage.
update-interval-ticks: 10
# Block radius around each player to scan for ores each cycle.
scan-radius: 128
# Hard cap on ore blocks processed per player per tick.
# Lower this if the engine causes TPS drops on large servers.
max-blocks-per-tick: 1024
# Only consider ores that have at least one air neighbour.
# Ores with no exposed face can't be seen anyway.
# Recommended: true — best balance of accuracy and performance.
require-air-exposure: true
enabled: true
# Ore / block types to hide from clients.
# Use exact Minecraft material names (case-insensitive).
hidden-blocks:
- DIAMOND_ORE
- DEEPSLATE_DIAMOND_ORE
- IRON_ORE
- DEEPSLATE_IRON_ORE
- GOLD_ORE
- DEEPSLATE_GOLD_ORE
- EMERALD_ORE
- DEEPSLATE_EMERALD_ORE
- COAL_ORE
- DEEPSLATE_COAL_ORE
- LAPIS_ORE
- DEEPSLATE_LAPIS_ORE
- COPPER_ORE
- DEEPSLATE_COPPER_ORE
- REDSTONE_ORE
- DEEPSLATE_REDSTONE_ORE
- NETHER_QUARTZ_ORE
- NETHER_GOLD_ORE
- ANCIENT_DEBRIS
- CHEST
- SPAWNER
# Block sent to the client in place of hidden ores.
# Overworld → STONE or DEEPSLATE
# Nether → NETHERRACK
mask-block: STONE
# Ores further than this many blocks from the player's eyes
# are always hidden without a ray-trace check (performance).
max-ray-distance: 128.0
# Blocks at or above this Y level are never processed.
# Default 64 = sea level. Raise to protect surface ores too.
max-raytrace-y: 64
# When true the ray must be perfectly straight.
# When false slight diffusion around corners is allowed.
strict-line-of-sight: false
# How often (ticks) each player's visible ores are re-evaluated.
# 10 ticks = 0.5 s. Lower = more responsive, more CPU usage.
update-interval-ticks: 10
# Block radius around each player to scan for ores each cycle.
scan-radius: 128
# Hard cap on ore blocks processed per player per tick.
# Lower this if the engine causes TPS drops on large servers.
max-blocks-per-tick: 1024
# Only consider ores that have at least one air neighbour.
# Ores with no exposed face can't be seen anyway.
# Recommended: true — best balance of accuracy and performance.
require-air-exposure: true
# ════════════════════════════════════════════════════════════
# ANTI FREE CAM ENGINE (y-level-hiding)
#
# How it works:
# Free-cam hacks let a player's camera float underground to
# scout ores without moving. This engine defeats that by
# replacing every block below y-threshold with mask-block in
# ALL packets sent to the client — chunk, block-change, etc.
# The server never sends real block data for the deep layer
# until the player physically descends below reveal-y.
# There is nothing for a free-cam to reveal.
#
# Example:
# y-threshold: 0 → deepslate layer stays hidden
# reveal-y: 16 → real blocks revealed when player is at Y ≤ 16
# ════════════════════════════════════════════════════════════
y-level-hiding:
enabled: true
# All blocks at Y values BELOW this threshold are hidden.
# 0 = deepslate layer (recommended, stops Ancient Debris leaks)
# 64 = everything below surface
y-threshold: 0
# Player must be AT OR BELOW this Y for blocks to be revealed.
reveal-y: 16
# Block used to replace the hidden layer in packets.
# Should blend naturally — DEEPSLATE for the deep layer.
mask-block: DEEPSLATE
# Chunk radius refreshed when a player enters the reveal zone.
refresh-chunk-radius: 4
# ════════════════════════════════════════════════════════════
# ENTITY VISIBILITY ENGINE (raytrace-entity-hiding)
#
# How it works:
# Entity-ESP hacks render mobs and players through walls.
# This engine traces a ray from the viewer to each nearby
# entity. If the path is blocked by solid blocks the entity
# is hidden from that client via Bukkit's hideEntity() API.
# When the entity comes back into line-of-sight it is shown
# again automatically.
# ════════════════════════════════════════════════════════════
# ANTI FREE CAM ENGINE (y-level-hiding)
#
# How it works:
# Free-cam hacks let a player's camera float underground to
# scout ores without moving. This engine defeats that by
# replacing every block below y-threshold with mask-block in
# ALL packets sent to the client — chunk, block-change, etc.
# The server never sends real block data for the deep layer
# until the player physically descends below reveal-y.
# There is nothing for a free-cam to reveal.
#
# Example:
# y-threshold: 0 → deepslate layer stays hidden
# reveal-y: 16 → real blocks revealed when player is at Y ≤ 16
# ════════════════════════════════════════════════════════════
y-level-hiding:
enabled: true
# All blocks at Y values BELOW this threshold are hidden.
# 0 = deepslate layer (recommended, stops Ancient Debris leaks)
# 64 = everything below surface
y-threshold: 0
# Player must be AT OR BELOW this Y for blocks to be revealed.
reveal-y: 16
# Block used to replace the hidden layer in packets.
# Should blend naturally — DEEPSLATE for the deep layer.
mask-block: DEEPSLATE
# Chunk radius refreshed when a player enters the reveal zone.
refresh-chunk-radius: 4
# ════════════════════════════════════════════════════════════
# ENTITY VISIBILITY ENGINE (raytrace-entity-hiding)
#
# How it works:
# Entity-ESP hacks render mobs and players through walls.
# This engine traces a ray from the viewer to each nearby
# entity. If the path is blocked by solid blocks the entity
# is hidden from that client via Bukkit's hideEntity() API.
# When the entity comes back into line-of-sight it is shown
# again automatically.
# ════════════════════════════════════════════════════════════
# ══════════════════════════════════════════════════════════════
# ENTITY VISIBILITY ENGINE (raytrace-entity-hiding)
#
# How it works:
# Entity-ESP hacks render mobs and players through walls.
# This engine traces a ray from the viewer to each nearby
# entity. If the path is blocked by solid blocks the entity
# is hidden from that client via Bukkit's hideEntity() API.
# When the entity comes back into line-of-sight it is shown
# again automatically.
# ══════════════════════════════════════════════════════════════
raytrace-entity-hiding:
enabled: true
# Entities beyond this distance are always hidden.
max-ray-distance: 64.0
# Block radius scanned around each player per tick.
scan-radius: 64
# Max entities processed per player per tick (performance cap).
max-entities-per-tick: 64
# Extra bounding-box padding to prevent edge flickering.
visibility-radius: 0.35
# Entity types that are NEVER hidden.
# Add boss mobs or anything that causes display issues.
excluded-entities:
- ENDER_DRAGON
# ENTITY VISIBILITY ENGINE (raytrace-entity-hiding)
#
# How it works:
# Entity-ESP hacks render mobs and players through walls.
# This engine traces a ray from the viewer to each nearby
# entity. If the path is blocked by solid blocks the entity
# is hidden from that client via Bukkit's hideEntity() API.
# When the entity comes back into line-of-sight it is shown
# again automatically.
# ══════════════════════════════════════════════════════════════
raytrace-entity-hiding:
enabled: true
# Entities beyond this distance are always hidden.
max-ray-distance: 64.0
# Block radius scanned around each player per tick.
scan-radius: 64
# Max entities processed per player per tick (performance cap).
max-entities-per-tick: 64
# Extra bounding-box padding to prevent edge flickering.
visibility-radius: 0.35
# Entity types that are NEVER hidden.
# Add boss mobs or anything that causes display issues.
excluded-entities:
- ENDER_DRAGON
