Skip to content

EllanServer/InteractionVisualizer

 
 

Repository files navigation

InteractionVisualizer — EllanServer Paper 26 fork

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.

Supported server versions

  • 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.

Rewrite highlights

  • Native Paper ItemDisplay and TextDisplay entities replace Armor Stands.
  • Dropped-item visuals use shaded Sparrow Heart client-side vanilla ITEM entities. 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 / hideEntity API; tracker enter/leave events create and destroy the matching virtual ITEM.
  • 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.

Building

./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.

Optional integrations

  • 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.yml under CustomItems. 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.

License and upstream

This project remains licensed under GPL-3.0. Original project pages:

About

Visualize Function Blocks like Crafting Tables with Animations client-side!

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages

  • Java 100.0%