1.2.2
Compatibility
Changes
CoreViz 1.2.2 — Paper 26.1+ (26.1.x / 26.2.x / 26.3 Wilderness Bound)
GUI front-end for CoreProtect. Aggregates repeated container/block actions into clean net totals — e.g. +13 and +14 Iron Ingot from the same player/chest/hour become one +27 Iron Ingot line. Everything is an inventory GUI, no /co lookup spam.
Supported versions
| Component | Version | Notes |
|---|---|---|
| Plugin | 1.2.2 | coreviz-1.2.2.jar |
| Minecraft (Java Edition) | 26.1 – 26.3 | 26.1 (Apr 2026), 26.2, and 26.3 Wilderness Bound (2026-09-15) — same jar for all |
| Server | Paper 26.1+ ([26.1.build,)) |
api-version: '26.1' — loads on 26.1.x, 26.2.x, 26.3.x and newer. Will not load on 1.21.x and older. Works on forks that track Paper API 26.1+ (Purpur, etc.). No Fabric/Forge. |
| Java | 25+ (build + runtime) | Minecraft 26.1+ requires Java 25. Compiled with <release>25</release>. |
| CoreProtect | 23.1+ (API v11+) | Full behavior (blocks + containers + sessions) on both 23.x and 24.0+. On 24.0+ (API v12+) containers use the typed containerLookup(); on 23.x (API v11) they use a direct query of CoreProtect's own container table — same results either way. |
One jar for the whole 26.x line.
plugin.ymldeclaresapi-version: '26.1'andpom.xmlcompiles against[26.1.build,)(forward-compatible).
What's new in 1.2.2
↩️ GUI rollbacks (NEW)
Per-entry rollbacks straight from the results GUI, powered by CoreProtect's own performRollback() (placements removed, breaks restored, container takes put back):
- More-options menu: "Roll back changes" button with two-step confirm.
- Double right-click a merged or raw row to roll it back directly.
- New permission
cpviz.rollback(default:op). - Native state display: entries already reverted via
/co rollback(by anyone, at any time) seed from CoreProtect'srolled_backtracking and render as dimmed icons with hover detail. - Sessions can't be rolled back — there's no block to undo. Scope is tight per location (radius 1, entry timestamps + 120 s buffer) so unrelated history is left alone.
🔌 CoreProtect 23.x containers now fully work (FIXED)
1.2.1 let blocks, sessions, and x-ray checks run on CoreProtect 23.x but skipped container history with a warning (typed containerLookup() only exists from API v12). That limitation is gone:
- On API v11 (23.x) the plugin now queries CoreProtect's own container table through its pooled connection (reflection — no v12 classes loaded, no
NoClassDefFoundError). - Both paths return the same normalized rows, so containers aggregate and display identically on 23.x and 24.0+.
- Block filters resolve to
Materialobjects first for cross-version reliability. - The "containers skipped" warning is removed. If the typed lookup ever fails on v12+, it falls back to the direct query automatically.
⛏️ X-Ray check: longer window, unlimited rows
- Default lookback
xray-default-lookback-hours:168(7 d) →720(30 d). - Max lookback
xray-max-lookback-hours:720(30 d) →4320(180 d). - Max rows
xray-max-lookup-rows:5000→0(= unlimited, time bound only).
Existing
config.ymlfiles keep their current values — update the threexray-*keys (or delete them and restart to regenerate) to pick up the new defaults.
✨ Highlight view range raised
Highlight display entities now render up to 1500 blocks away (was Paper's shorter default), so markers stay visible across large builds.
Dependencies
- Hard: CoreProtect 23.1+ on the server.
- None else — no database, no extra libs.
Installation
- Download
coreviz-1.2.2.jar(mvn clean package→target/coreviz-1.2.2.jarif building from source) - Put it in
plugins/alongsideCoreProtect.jaron a Paper 26.1+ server running Java 25+ - Restart, join on a matching 26.1+ client, run
/cpviz
Commands & Permissions
/cpviz [player] # menu-driven GUI (bare /cviz re-opens last results)
/cpviz u:<player> t:<time> r:<radius> a:<block|container|session> b:<item> # typed lookup
/cpv check u:<player> a:mining [t:<time>] # x-ray check (overworld + nether)
/cpv see # re-open last x-ray check
/cpviz clear # clear highlights
Aliases: /cpv, /coreviz, /cviz
cpviz.use(default:op) — GUI / highlightscpviz.teleport(default:op) — Teleport buttoncpviz.rollback(default:op) — Roll back entries (NEW)cpviz.check(default:op) —/cpv check//cpv see
Typed flags: u:/user:, t:/time: (1h, 2d12h, ... omit = all time), r:/radius: (#global or number), a:/action: (block, container, session, mining), b:/block:/item: (one Material), h: (highlight).
Compatibility notes
- Not compatible with Paper 1.21.x and older — that's Paper's major version break at 26.1 (
26.x.build.*scheme). - Java 25 is mandatory on all 26.x.
Built from net.thermedwolf:coreviz:1.2.2 — Paper API [26.1.build,) (api-version: '26.1') — CoreProtect 24.0 (compile) / 23.1+ (runtime floor)
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:jMeqLs90:BT97mO67"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:jMeqLs90:BT97mO67"
}

