This fork is a Paper-only, performance-focused rewrite of LOOHP/InteractionVisualizer. It visualizes crafting and functional blocks with native display entities while preserving the familiar commands, preferences, and configuration layout.
- Paper 26.1.2 (primary target)
- Paper 26.2 (compile-verified compatibility target)
- Java 25
Other Minecraft versions, Spigot, and Folia are intentionally unsupported. The plugin checks the running Minecraft version during startup and disables itself outside the supported range.
- Native Paper
ItemDisplayandTextDisplayentities replace Armor Stands. - Dropped-item visuals use shaded
Sparrow Heart client-side vanilla
ITEMentities. Empty Paper display anchors retain tracker and chunk lifecycle without enabling server item collision physics. - One Paper API implementation replaces the old in-project per-version NMS modules. InteractionVisualizer uses Heart 0.72 only for the client-side item packet path on the supported 26.1/26.2 runtimes.
- Per-viewer anchor visibility uses Paper's
showEntity/hideEntityAPI; tracker enter/leave events create and destroy the matching virtualITEM. - Static items bob and spin entirely client-side with no animation task; only active gravity motion needs per-viewer correction because Heart marks its fake items as no-gravity.
- Block-to-player pickup uses Minecraft's native take-item packet through one isolated reflection bridge. The client supplies the vanilla sound and three-tick live-target absorption; arbitrary location-to-location throws keep the existing custom motion path. No Sparrow fork or ProtocolLib is required.
- Display updates are revision-coalesced; there is no 5 ms packet scan loop.
- Player/chunk proximity queries use one allocation-light snapshot per world and server tick.
- Configuration is loaded with Sparrow YAML and flattened into an immutable O(1)-lookup snapshot after every reload.
- Gradle replaces the former Maven multi-module build and verifies the same sources against both supported Paper API lines.
Other Sparrow modules were deliberately not added: metadata, reflection, NBT, and Redis messaging do not serve this single-server rendering path.
./gradlew clean check shadowJar
On Windows:
gradlew.bat clean check shadowJar
The production plugin JAR is written to build/libs/InteractionVisualizer-<version>.jar.
check includes unit tests, the Paper 26.1.2 compilation, and a second compile
against Paper 26.2.
- CraftEngine 26.7.2: optional
custom-item ID recognition. CraftEngine items can be selected by the third
field of an item-label blacklist rule, and their display pose can be
overridden in
material.ymlunderCustomItems. CraftEngine is not bundled and the plugin behaves exactly as before when it is absent. - LightAPI
- OpenInv
- PlaceholderAPI
- Essentials, SuperVanish, PremiumVanish, and CMI
Language resources remain available from InteractionVisualizerLanguages.
This project remains licensed under GPL-3.0. Original project pages: