1MB-XRayHunter is a standalone 1MoreBlock Paper plugin and CoreProtect add-on for reviewing suspicious mining patterns. It turns CoreProtect block-break history into ranked lookup reports, cached vein detail pages, and in-game teleport targets so staff can investigate potential X-ray abuse without digging through raw database data.
This repository is the technical source of truth for the plugin. Public-safe player and admin guides live under docs/, and the canonical published page is intended to be:
- Main command:
/xrayhunter - Public info entry point:
/xrayhunter info - Paper compile target:
26.1.2 - Declared plugin compatibility floor:
1.21.11 - Java target:
25 - Required dependency: CoreProtect
- Maintained CoreProtect target:
24.0-dev1with API12 - Plugin data folder:
plugins/1MB-XRayHunter/ - Build output folder:
build/libs/
- Suspicious-mining lookups across loaded worlds and CoreProtect database-only worlds
- Explicit all-world archive scans for staff review sessions
- Compact console reporting with a high-value-only mode enabled by default
- Lazy player detail loading so large archive lookups do not keep every tracked event in memory
- Cached vein detail pages and safe in-game teleport targets
- Automatic filtering for invalid CoreProtect pseudo-users such as
#piston - Operator-managed vetted-player exclusions through config and
/xrayhunter debug whitelist ... - Startup self-check logging that reports build/runtime/CoreProtect status
- Player Guide
- Commands
- Permissions
- Placeholders
- Configuration
- Installation
- Integrations
- Troubleshooting
- Docs Manifest
Primary commands:
/xrayhunter info/xrayhunter help/xrayhunter lookup [time|alltime] [world|allworlds] [-all]/xrayhunter <time|alltime>/xrayhunter detail <index|player> [page]/xrayhunter teleport <index>/xrayhunter debug/xrayhunter debug help/xrayhunter debug permissions/xrayhunter debug commands/xrayhunter debug config/xrayhunter debug set <key> <value>/xrayhunter debug whitelist <player|list|add|remove>/xrayhunter reload
Aliases:
/xhunt/xr
The plugin declares four permission nodes, all defaulting to op:
xrayhunter.usexrayhunter.adminxhunt.usexhunt.admin
See docs/permissions.md for the detailed matrix and inherited alias behavior.
config.yml currently covers:
- startup self-check behavior
- default lookup window
- top result and detail page sizing
- console all-world safety limits
- compact high-value-only console mode
- vetted-player exclusions
- overworld and nether tracking lists
Important config notes:
- command-driven config edits are currently limited to the scalar keys exposed by
/xrayhunter debug set - whitelist management writes directly to
filters.excluded-players - deepslate ore variants are tracked in lookup-material lists and normalized back into their base ore rows for summary display
raw_iron_blockandraw_copper_blockare trackedraw_gold_blockis intentionally not tracked
See docs/configuration.md for the full setting-by-setting reference.
This branch is intended to load the same jar on:
- Paper
1.21.11 - Paper
26.1.2
Build/runtime metadata:
- compiled against Paper API
26.1.2 - declares plugin.yml
api-version: 1.21.11 - targets Java
25
CoreProtect notes:
- the maintained integration target is CoreProtect
24.0-dev1 - the maintained API target is CoreProtect API
12 - the startup guidance for this branch expects CoreProtect API
11or12 - the runtime gate still accepts some older API values internally, but older CoreProtect versions are not the documented target for this maintained branch
This plugin does not currently register PlaceholderAPI placeholders.
Build the plugin with Gradle:
./gradlew buildOptional clean rebuild:
./gradlew clean buildArtifact naming pattern:
build/libs/1MB-XRayHunter-v<plugin-version>-<build-number>-j25-26.1.2.jar
Build behavior:
- each successful jar build increments
version.properties - each successful jar build writes a new jar into
build/libs/ - older jars remain unless you run
clean
- Install CoreProtect on a Paper server.
- Start the server once so CoreProtect initializes.
- Stop the server cleanly.
- Copy the XRayHunter jar into
plugins/. - Start the server again.
- Confirm
/xrayhunter info,/xrayhunter help, and/xrayhunter debugwork. - Review
plugins/1MB-XRayHunter/config.yml.
teleportis in-game only.detaildepends on a recent lookup cache.- implicit console all-world lookups are capped by config for safety.
- explicit
allworldsscans are supported for large archive reviews. - compact console mode narrows both the displayed columns and the query scope unless
-allis supplied.