Description MineWatch AntiXray is a sophisticated Paper/Spigot plugin designed to detect suspicious ore mining behavior that commonly indicates X-ray usage. Unlike traditional detection methods, MineWatch uses contextual heuristics, intelligent scoring algorithms, and persistent tracking to provide accurate, actionable alerts to staff members.
Developed by: NootherG Version: 0.1.2 API Version: 1.21+ Download Size: ~1.2MB
Read First
The plugin is designed to work out-of-the-box, so fine tuning is more than likely not needed but the option to fine tune the plugin yourself exists
The plugin does not automatically perform any punishments; it is instead designed to identify cheaters and provide the tools necessary to further build a staff member's case against them
Key Features
Intelligent Detection System (elaborated on further down) - Context-aware analysis, ore-specific weighting, and streak monitoring to detect suspicious mining patterns
Advanced GUI System - Inspect players visually with real-time suspicion data and breakdowns
Smart Alert System - Two-tier alerts with clickable chat links and anti-spam throttling
Persistent Storage - Saves data across restarts with autosaving and decay management
Decoy System - Place fake ores to test suspicious players and automatically detect mining behavior (not automatic; this feature is designed fool cheaters while a staff member is observing)
Commands
/antixray suspicion - View a player’s current suspicion score
/antixray reset - Clear all suspicion data for a player
/antixray inspect - Open the inspection GUI for a player
/antixray history - View the player’s flag history GUI
/antixray reload - Reload configuration and message files
/antixray decoy [many options] - Place a decoy ore for a player
/antixray decoy list - List all active decoys for a player
/antixray decoy remove <id|all> - Remove decoy(s) for a player
/antixray decoy info - View detailed information about a decoy
Aliases:/ax, /xray, /minewatch, /mw
Decoy Command Examples:
Code (Text):
/ax decoy diamond_ore PlayerName
/ax decoy auto PlayerName –at 100 50 200
/ax decoy list PlayerName
/ax decoy remove 5 PlayerName
/ax decoy remove all PlayerName
Permissions
minewatch.antixray.command – Base command permission (default: OP)
minewatch.antixray.command.suspicion – Use /antixray suspicion
minewatch.antixray.command.reset – Use /antixray reset
minewatch.antixray.command.inspect – Use /antixray inspect
minewatch.antixray.command.history – Use /antixray history
minewatch.antixray.command.decoy – Use /antixray decoy commands
minewatch.antixray.notify – Receive FLAG and SEVERE alerts
LuckPerms Example:
Code (Text):
/lp group staff permission set minewatch.antixray.notify true
/lp group admin permission set minewatch.antixray.command.* true
Installation
Download MineWatch-AntiXray-0.1.X.jar
Place it in your server’s plugins/ folder
Restart your server or use /reload
Edit configuration or messages in plugins/MineWatchAntiXray/config.yml or messages.yml
Grant permissions to your staff group
Requirements: Paper/Spigot 1.21+, Java 17+
Configuration
All settings are fully configurable in config.yml
Messages, thresholds, suspicion decay, and decoy options can all be customized
GUI titles, alerts, and colors are editable in messages.yml
Detection System
Block Placement Tracking - Prevents false positives from player-placed ores
Suspicion Scoring - Weighted by ore type, exposure, and streaks
Decay System - Suspicion naturally decreases over time
Alert System - FLAG and SEVERE alerts with clickable inspection links
GUI Features
Inspection GUI - Shows suspicion scores, breakdowns, and last ore locations
Flag History GUI - Displays last 28 flags or severe flags with color-coded levels
Real-Time Updates - Data updates live as players mine
Decoy System
Staff can place realistic fake ores that trigger detection when mined
Decoys revert automatically on detection
Per-player rate limits and time-to-live controls prevent abuse
Supports multiple block decoys for realistic clusters
Tips & Best Practices
Start with conservative detection settings and tune as needed (for the most part, this plugin is designed to work out-of-the-box; it has been fine tuned by developers already)
Use the GUI to review suspicious players before acting
Deploy decoys strategically rather than in bulk
Reset suspicion only after confirming false positives
Edit your messages.yml for server branding
Troubleshooting Players not flagged?
Check your thresholds – may be too high
Ensure player is in survival/adventure mode
False positives?
Lower multipliers or raise thresholds
Ensure ore placement tracking is enabled
Decoys not working?
Verify player online and valid coordinates
Check decoy placement limits
Data not persisting?
Ensure flush-on-disable is true
Check file permissions
Alerts not showing?
Give staff minewatch.antixray.notify
Check console for errors (turn on debug in config.yml by ensuring that log-context is true)
Performance
Memory: ~2–5MB per 100 tracked players
CPU: Minimal – only triggers on ore breaks
Disk: Async saves every 2 minutes (configurable)
Network: None – fully server-side
Metrics
MineWatch AntiXray uses bStats to collect anonymous usage statistics (server version, Java version, player count, etc.). These metrics help guide development and are opt-in by default through plugins/bStats/config.yml on your server. These metrics greatly help me and have no affect on server performance, so if you could leave this on please do.
Support
First - Check this post to make sure your issue has not already been addressed on the discussions page
Issues or Questions - Report bugs using the discussions page on this resource
Requesting Changes - Please also use the discussions page on this resource to request changes
Updates - Check the resource page for the latest version
Credits
Developer: NootherG
API: Paper 1.21+
Libraries: Caffeine (for caching)
License This plugin is provided as-is. Use at your own risk.
Disclaimer: You do not have permission to decompile, edit, or redistribute this resource. You may request changes via discussion threads. This plugin is meant to be used as an aid to detect players using X-Ray and not as a definite punishment system; always review flags to confirm the accusations of cheating before punishing players.