Skip to content

TextDisplayShapes v2.0.1-SNAPSHOT Release Notes

Choose a tag to compare

@TWME-TW TWME-TW released this 02 May 05:13
· 35 commits to master since this release
943f163

TextDisplayShapes v2.0.1-SNAPSHOT Release Notes

What's New

Multi-Platform Modular Architecture

The project has undergone a major refactoring into a multi-module Maven architecture to cleanly support different server platforms and simplify integration.

Details:

  • New Modular Structure
    • api: A clean, platform-agnostic API module for improved extensibility and independence from specific platform implementations.
    • paper: Paper-specific implementation (formerly bukkit).
    • spigot: Dedicated Spigot implementation.
    • packet: Packet-based implementation using EntityLib (formerly entitylib-spigot).

Performance and Stability Improvements

  • Memory Leak Fix: Resolved a memory leak issue associated with Set<Player> by switching to UUID-based viewer management. This prevents lingering references to disconnected players.
  • Display Transformations: Refactored paper and packet modules to leverage proper TRS (Translation, Rotation, Scale) structures for display transformations.
  • Origin Rebasing: Added a new teleportOrigin method to allow adjusting the origin position of a shape dynamically.
  • Display Control: Added new display control functions to adjust the field of view (FOV).

CI/CD and Publishing Automation

  • GitHub Actions: Added automated CI/CD workflows for Java compilation and Maven package publishing.
  • Maven Deployments: Configured automated artifact publishing to the TWME Maven remote repository (https://repo.twme.dev/).

Dependency Updates

  • Bumped EntityLib to 3.2.3+52da287-SNAPSHOT.
  • Bumped packetevents-spigot to 2.12.0.
  • Various updates to Maven build plugins (maven-compiler-plugin, maven-shade-plugin).

API Changes

  • Modularization: The library is no longer a monolithic artifact. You must now depend on the specific module for your target platform (textdisplayshapes-api, textdisplayshapes-paper, textdisplayshapes-spigot, textdisplayshapes-packet).
  • Viewer Management: Internal viewer management now uses UUID instead of Player objects.

Migration

This release involves a major architecture change (version bump to 2.0.1-SNAPSHOT):

  1. Update your project's build file (e.g., pom.xml, build.gradle.kts) to point to the new modular artifacts instead of the root project.
  2. If your code directly interacts with viewer management sets or tracks players, update your implementation to handle UUIDs instead of Player instances.

Notes

  • Bumped version from 1.3.0 to 2.0.1-SNAPSHOT.

Acknowledgements

  • Thanks to the contributors who worked on the multi-module refactoring, CI/CD improvements, and memory leak fixes.

Full Changelog: 1.3.0...2.0.1-SNAPSHOT