Skip to content

TextDisplayShapes 3.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 12 Aug 08:20
· 1 commit to master since this release
5a90a2e

TextDisplayShapes 3.0.0

What's New

VirtualEntities packet backend

The packet module now uses VirtualEntities 0.9.0 instead of EntityLib. Packet shapes remain server-entity-free while gaining a shared virtual entity lifecycle, PacketEvents transport, root-anchor relocation, and packet bundle support.

  • One application-owned VirtualEntityManager can be shared across all packet shapes.
  • Canonical VirtualViewer instances are reused per PacketEvents connection, preventing viewer replacement and entity replay storms.
  • PacketShapeFactory.viewer(User) and addViewer(VirtualEntity, User) let application-owned labels share the same viewer lifecycle.
  • Reconnected users receive a new viewer tied to the new connection.

Compatibility and packaging

  • Java 17 bytecode
  • Minecraft 1.19.4+ Text Display metadata support
  • PacketEvents 2.13.0
  • Paper, Spigot, API, and packet modules published as version 3.0.0
  • Sources and Javadocs are attached to every module
  • Mineflayer integration dependencies now pass npm audit with zero vulnerabilities

Breaking Changes

The packet API now exposes VirtualEntities types. PacketLine, PacketPolyline, PacketTriangle, and PacketParallelogram return List<VirtualEntity> from getEntities() instead of EntityLib wrappers.

Applications should create one manager at plugin scope and pass it to the factory:

VirtualEntityManager entities = VirtualEntities.create();
PacketShapeFactory shapes = new PacketShapeFactory(entities);

Close the manager during plugin shutdown. The no-argument factory remains available for standalone use and owns its internally created manager.

Verification

  • 7/7 Maven tests passed
  • Paper 1.21.11 + Mineflayer end-to-end test passed
  • E2E verified Text Display spawn and metadata, root-anchor relocation, and packet bundle ordering
  • Same-connection viewer reuse and reconnect replacement are covered by unit tests
  • Public artifacts target Java 17 and contain no EntityLib classes
  • GitHub Release and TWME Maven repository artifacts were verified after publishing

Installation

<repository>
    <id>twme-releases</id>
    <url>https://repo.twme.dev/releases</url>
</repository>

<dependency>
    <groupId>dev.twme</groupId>
    <artifactId>textdisplayshape-packet</artifactId>
    <version>3.0.0</version>
</dependency>

The same version is available for textdisplayshape-api, textdisplayshape-paper, and textdisplayshape-spigot.

Full Changelog: 2.0.2-SNAPSHOT...v3.0.0