Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
ShadowTrace Server Plugin
ShadowTrace Server Plugin is a powerful backend companion for the ShadowTrace mod, designed specifically for Minecraft servers running on the Paper platform. It provides the essential server-side functionality that enables ShadowTrace’s in-game visualization features. The plugin integrates with CoreProtect to analyze and track block mining activity from specific players over a defined time period.
By processing CoreProtect data asynchronously, ShadowTrace can visually display where ores have been mined - helping admins and moderators detect potential X-ray usage in real time or after the fact. The plugin communicates directly with the ShadowTrace mod via plugin messaging channels to deliver this data.
ShadowTrace mod requires this plugin to function properly on servers.
ShadowTrace plugin requires CoreProtect to function.
Download the ShadowTrace Client Mod here.
Features
- View historical mining activity of players.
- See exact coordinates of mined blocks.
- Filter lookups by player and timeframe (e.g.
1m,1h,1d). - Supports up to 300 blocks per search, optimized for visibility.
- Works both for online and offline players.
- Uses a custom packet system for efficient data transfer.
Commands
Players need the permission shadowtrace.command.shadowtrace to use any of the commands.
/shadowtrace getores [player] [time]
This command allows you to retrieve and visualize ore mining activity for a specific player within a given time frame. It pulls data from CoreProtect and sends it to the ShadowTrace mod for in-game display.
Arguments
-
[player]- The target player whose mining activity you want to inspect. -
[time]- The time range to search within, using suffixes like:1m= 1 minute1h= 1 hour1d= 1 day
Example usage:
/shadowtrace getores Steve 2h
This will show where Steve has mined ores in the past 2 hours.
/shadowtrace blocks [player] [time] [blocks]
This command lets you visualize specific block break events performed by a target player within a defined time window. You can specify exactly which block types you're interested in by listing them in the [blocks] argument.
Arguments
-
[player]- The player whose block-breaking activity you want to inspect. -
[time]- The time range to search within, using suffixes like:1m= 1 minute1h= 1 hour1d= 1 day -
[blocks]- A comma-separated list of block types (as enum names, e.g., DIAMOND_ORE,GOLD_ORE).
Example usage:
/shadowtrace blocks Steve 1d DIAMOND_ORE,GOLD_ORE,SPAWNER
This shows where Steve has broken any of the specified blocks (diamond ore, gold ore, and spawners) in the past day.
config.yml
query:
# Max blockquery per blocktype.
max-blocks-per-type: 800
messages.yml
shadowtrace-command:
only-player-usage: '&cThis command can only be used by a player.'
invalid-argument-getores: '&cUsage: /shadowtrace getores <player> <time>'
invalid-argument-blocks: '&cUsage: /shadowtrace blocks <player> <time> <blockid>'
invalid-argument-teleport: '&cUsage: /shadowtrace teleport <x> <y> <z>'
no-permission: '&cYou do not have permission to use this command.'
invalid-player: '&cPlayer not found.'
no-ores-world: '&cNo ores where found in this world.'
invalid-blocks: '&cNo valid blocks in the argument.'
no-blocks-found: '&cNo blocks where found in this world.'
reload-command: '&eConfiguration reloaded successfully.'
help:
- '&e----==== &6SHADOWTRACE &e====----'
- '&e/shadowtrace getores &7<player> <time> &f- Show ore history for a player.'
- '&e/shadowtrace blocks &7<player> <time> <blocks> &f- Show block history for a player.'
- '&e/shadowtrace teleport &7<x> <y> <z> &f- Teleport to location.'
- '&e/shadowtrace reload &f- Reload the configuration.'
search:
actionbar-search: '&e---------- &6Collecting block data &e----------'
no-data-found: '&cNo data was found.'
actionbar-no-data-found: '&c---------- No data was found ----------'
data-found: '&eBlock data is now ready for inspection.'
actionbar-data-found: '&e---------- &6Success &e----------'
misc:
prefix: '&6[&eShadowtrace&6]'


