Skip to content

StoneLib 2.1.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 00:03
· 14 commits to master since this release
2440ae1

StoneLib 2.1.0 substantially expands the shared toolkit available to Anchorlight plugins, with new systems for events, regions, shops, displays, networking, world interactions and cross-server communication.

New

  • Event clocks and scheduling. New event utilities provide start/end windows, live progress, remaining time, event-day calculations and temporary simulation controls for testing timed events.
  • Population-based scaling. Shared objectives can now scale against player population while preserving progress already made. A rolling population window prevents targets unexpectedly shrinking when players log off.
  • Region toolkit. New cuboid regions, chunk-indexed lookups, player enter/exit tracking and two-point selection tools make spatial systems significantly easier to build.
  • Safe block operations. Plugins can fill and clear regions without blindly overwriting existing builds, including checks before world changes are made.
  • Reusable shop framework. Config-driven categories, items, menus, pagination and limited stock can now be shared between plugins, while individual plugins remain responsible for their own currencies, conditions and rewards.
  • Progress and display tools. Added text progress bars, global and proximity-based boss bars, configurable ARGB colours and translucent display panels.
  • Item sprites in messages. Minecraft item and block icons can now be embedded directly into MiniMessage-powered chat, titles, action bars, boss bars and menus.
  • HTTP and API utilities. Added asynchronous JSON requests, connection-health tracking, bounded retry queues and a request API compatible with projects migrating away from ModularEnigma Requests.
  • Request/reply messaging. Cross-server transports can now correlate requests with responses using automatically expiring request IDs and timeouts.
  • World and terrain helpers. Plugins can find safe terrain surfaces, valid standing positions, random locations inside the world border and evenly distributed points around an area.
  • Configurable sound helpers. Play sound cues globally, for individual players, at locations or within a radius using keys loaded from configuration.
  • Lightweight YAML state storage. YamlStore provides schema-version checks, dirty tracking and safe persistence for plugins that do not need a full database.
  • Plugin file hashing. JarHasher provides cached SHA-256 and SHA-512 hashes for identifying installed builds and detecting changed plugin files.
  • Event aggregation and rate limiting. New utilities can combine high-frequency activity into reporting windows and protect operations with per-key rate limits.
  • Vanish detection. Shared helpers now support vanish checks on both Paper and Velocity environments.

Improved

  • ItemBuilder is much more capable. Items can now use stack amounts, list-based lore, persistent-data tags, enchantments, glint effects, unbreakable state and item flags.
  • Custom items are safer to identify. Plugins can use persistent tags instead of relying on player-visible names that can be renamed or translated.
  • Permission-aware commands. Players now only see tab completions for subcommands they actually have permission to use.
  • Richer message placeholders. Pre-built Adventure components can be safely inserted into named placeholders, enabling structured content such as item sprites.
  • More precise countdown formatting. Durations.full() adds continuously updating formats such as 2h 5m 30s.
  • Better menu layouts. New slot-layout utilities support pinned entries while automatically centring remaining menu items.

Compatibility

  • StoneLib now runs on Java 21+. It still builds against Paper 26.2 using JDK 25, but emitted StoneLib bytecode targets Java 21.
  • This resolves compatibility problems where shaded StoneLib classes could previously force consuming plugins onto Java 25 and cause UnsupportedClassVersionError on Java 21 servers.
  • The release workflow now builds and tests releases automatically, produces checksums and generates a CycloneDX software bill of materials for published builds.

StoneLib 2.1.0 is primarily additive, giving consuming plugins a much larger set of reusable building blocks without another migration comparable to the 2.0.0 package changes.