DataLens

DataLens

Real-time data inspector for Minecraft

95 downloads 0 followers

๐Ÿ” DataLens

Real-time data inspector for Minecraft โ€” inspect, edit, compare and export any block, entity or item.

PaperMC CodeFactor


Overview

DataLens is a Paper plugin that gives server operators and developers a powerful lens into the internal data structures of Minecraft objects. Point at any block, entity or player, and instantly explore its full data tree โ€” PDC tags, attributes, potion effects, enchantments, block states and more โ€” through both a paginated chest GUI and chat commands.

Unlike simple NBT viewers, DataLens provides a complete inspect โ†’ edit โ†’ validate โ†’ diff โ†’ export pipeline with automatic rollback on failure, a built-in changelog, and a public API for third-party schema registration.

Supported platforms: Bukkit / Spigot / Paper 1.20.x โ€“ 1.21.x ยท Java 21+


Features

๐Ÿ”Ž Deep Inspection

  • Blocks, Entities, Items & Players โ€” inspect any object via raytrace targeting or by player name.
  • Full data tree extraction โ€” PDC keys, block states, entity attributes, potion effects, equipment, enchantments, lore, and more are captured into a hierarchical DataNode tree.
  • Version-adaptive โ€” pluggable adapter layer auto-detects the server version and loads the appropriate reader/writer.

โœ๏ธ Safe In-Place Editing

  • Set / Remove any primitive value by dot-notation path (e.g. pdc.myplugin:level).
  • Type validation & coercion โ€” raw string inputs are validated against the target node's DataType before committing.
  • Atomic rollback โ€” a deep-copy snapshot is taken before every write; if persistence fails the tree is restored automatically.

๐Ÿ“Š Diff Engine

  • Compare the live data tree against your working copy to see exactly what changed โ€” additions, removals and modifications are displayed with color-coded chat output.

๐Ÿ“ค Export

  • Dump the complete data tree as JSON or YAML directly to chat.

๐Ÿ–ฅ๏ธ Inspector GUI

  • 54-slot paginated inventory with navigation breadcrumbs.
  • Click into compound/list nodes to drill down; use Back to navigate up.
  • Color-coded type indicators, pagination controls, and one-click export.

๐Ÿ“ Changelog

  • Every SET and REMOVE operation is logged to plugins/DataLens/changelog.log with timestamps, actor, path, and old/new values.
  • Configurable โ€” can be disabled entirely.

๐Ÿ” Permission System

  • Granular permission nodes (datalens.inspect, datalens.edit, datalens.admin).

๐Ÿงฉ Public API

  • Third-party plugins can register schemas for their PDC namespaces to improve labelling and validation.
  • Programmatic access to InspectorService and SessionService via DataLensPlugin.getAPI().

โšก Performance

  • Per-player sessions backed by a Caffeine LRU cache with configurable TTL and capacity.
  • Read operations are thread-safe; writes enforce main-thread execution.

Commands

Command Description Permission
/inspect Inspect the block/entity you are looking at (raytrace) datalens.inspect
/inspect <player> Inspect a named online player directly datalens.inspect
/data set <path> <value> Edit a primitive value at the given path datalens.edit
/data remove <path> Delete the node at the given path datalens.edit
/data export [json|yaml] Export the inspected data tree to chat datalens.inspect
/data diff Show differences between live data and working copy datalens.inspect

Both commands include context-aware tab completion โ€” paths are autocompleted from the live data tree, and values suggest type-appropriate options.


Permissions

Node Description Default
datalens.inspect Inspect blocks, entities and items op
datalens.edit Edit inspected data values op
datalens.admin Full administrative access (inherits inspect + edit) op

Configuration

Configuration is stored in plugins/DataLens/config.yml:

debug: false

cache:
  session-ttl-seconds: 60     # Idle timeout for player sessions
  max-sessions: 100            # Maximum concurrent inspection sessions

inspect:
  max-ray-distance: 5.0        # Raytrace distance in blocks for /inspect

changelog:
  enabled: true                # Enable/disable edit logging
  max-entries: 10000           # Maximum changelog entries

๐Ÿ“š Documentation and support

All documentation, source code, and examples are available in the official repository:
๐Ÿ‘‰ https://github.com/Parallax-Development/DataLens

Version Minecraft Loader Download

DataLens 1.0.2

1.0.2

1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8
bukkit, paper, purpur, spigot
Download

DataLens 1.0.1

1.0.1

1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
bukkit, paper, purpur, spigot
Download

DataLens 1.0.0-SNAPSHOT

1.0.0-SNAPSHOT

1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
paper, purpur
Download