Zum Hauptinhalt springen

TD LeaderBoard Changelog

Mit BuildUp ausgelieferte Version: 1.9.0

1.9.0 · 1.8.0 · 1.7.1 · 1.7.0 · 1.6.0 · 1.5.1 · 1.5.0 · 1.4.1 · 1.4.0 · 1.3.1 · 1.3.0 · 1.2.4 · 1.2.3 · 1.2.2 · 1.2.1 · 1.2.0 · 1.1.0 · 1.0.0

1.9.0​

  • Requires TDLibrary 0.19.0 or newer. The shared client lifecycle retains the existing leaderboard tooltip order and dotted backdrop; period loading retains its 256 MiB NBT limit and local period rotation.

1.8.0​

Fixed

  • Preserve world-board controller positions, titles, metrics, model halves, text placement, and complete-structure removal when structure templates are mirrored or rotated.
  • Show offline-import progress and failures on world boards even when partial rows are available; mark refreshing and stale snapshots instead of showing a successful green footer.
  • Keep the resolved page's last valid rows during automatic refreshes and timeouts after using To me.

Changed

  • Consolidate the mod's licensing under a single All Rights Reserved license file and document the terms in the README, matching the existing mod metadata.
  • Align the manual AFK acceptance checks with TDUtilities and the standalone-WATUT fallback behavior.

Tests

  • Exercise real world-board placement/removal callbacks and shipped loot tables in an in-memory test fixture, covering both variants, every part, creative mode, mirroring, support removal, and chunk-boundary coordinates without starting a server.
  • Reject malformed network buffers in decoder regression tests, including invalid row counts, enum values, text, bounds, and truncated packets.

1.7.1​

Fixed

  • Reject world-board placement when any of its eight parts would extend outside the world border.
  • Limit the declared NeoForge compatibility range to 21.1.250 or newer within the 21.1 series, matching the documented requirements.
  • Queue TAB, full-screen, and world-board snapshot requests together so five different board metrics can load without repeatedly exceeding the per-player request limit; discard superseded queries and requests for closed views.
  • Reuse live-statistics samples and cached rankings within each 20-server-tick window instead of invalidating every ranking on each requested tick as play time increases. Login, logout, and the final shutdown sample still capture current counters.
  • Stop cancelled offline-statistics imports between files and during reads so a closed world does not keep its old scan running in the background.
  • Avoid saving unchanged client preferences on automatic refreshes and page changes.

1.7.0​

Added

  • Add vanilla play time (including AFK time) and mob-kill rankings to TAB, full-screen views, and world boards.
  • Group metric selection and column controls into Activity, Combat, and Travel categories.
  • Search player names while retaining their ranking positions, jump to your own page, and open player detail snapshots with all five metrics.
  • Allow operators to save plain-text world-board titles; titles survive chunk reloads and are synchronized to tracking clients.
  • Add current calendar-week and calendar-month rankings using UTC boundaries and persistent per-player baselines, without modifying vanilla statistics. Tracking starts at first observation and does not reconstruct earlier activity.

Changed

  • Read AFK indicators from TDUtilities 0.10.0 or newer instead of standalone WATUT in TAB and full-screen leaderboards, retaining the existing client setting.
  • Require network protocol 4 on both client and server for the expanded metrics, queries, and board titles.
  • Sample live counters every 20 server ticks for period tracking, preserve measurements across restarts, and restart a player's period measurement if their vanilla counters decrease.
  • Refuse to silently replace corrupt or unsupported period data.

1.6.0​

  • Require TDLibrary 0.1.0 for shared technical helpers; its runtime requires NeoForge 21.1.250 or newer.
  • Fit long button labels to their available width with shared LDLib2 controls and enforce row limits before allocating response lists.
  • Require exactly one matching installed LDLib2 JAR instead of choosing the newest candidate when several are present.

1.5.1​

Changed

  • Reduced server-thread work for repeated leaderboard requests by reusing unchanged player-index snapshots and checking only previously online players during online-status updates.

Fixed

  • Preserved newer live statistics and player names when a delayed offline-import batch arrives after the player logs out.
  • Kept cached TAB rows inside the panel immediately after resizing the window or changing GUI scale.
  • Fell back to the vanilla player list when the GUI height cannot fit one leaderboard row and the reserved HUD space.

1.5.0​

Added

  • Added optional What Are They Up To integration that replaces the green online dot with WATUT's Z icon for AFK players in the TAB and full-screen leaderboards, controlled by the default-enabled useWatutAfkStatus client setting.

1.4.1​

Changed

  • Published resolved offline profiles in batches of at most 256 per server tick instead of processing the complete import in one tick.
  • Counted every entry in the vanilla statistics directory against the 100,000-entry scan limit.

Fixed

  • Prevented a vanished player from being refreshed as online during login.
  • Kept undersized full-screen and board-configuration views inside their available area by showing a resize hint.
  • Kept the vanilla player list available when the custom TAB leaderboard cannot fit the GUI-scaled width.

1.4.0​

Added

  • Added server-side Vanishmod compatibility so vanished players are no longer shown as online.

1.3.1​

Fixed

  • Prevented the full-screen leaderboard's first row from overlapping the settings at 180 GUI pixels in height by using compact control spacing.

1.3.0​

Added

  • Added LDLib2 2.2.37 or newer as a required dependency on both the client and server.
  • Added metric tooltips and the shared TDEconemy-style backdrop to the rebuilt leaderboard interfaces.

Changed

  • Rebuilt the full-screen leaderboard and board configuration interfaces with the shared TDEconemy-style LDLib2 visual design.
  • Aligned the TAB overlay, full-screen view, board configuration, and in-world display around the same gold, cyan, neutral, and status colour palette.
  • Updated the network protocol to version 3; clients and servers must use the same TD LeaderBoard version.
  • Consolidated distance and metric formatting so the full-screen, TAB, and in-world views present values consistently.
  • Consolidated loading, stale, timeout, import, and unavailable status text across the client interfaces.
  • Cached sorted rankings by data revision, offline mode, sort metric, and direction so page and visible-column changes reuse the same ranking.
  • Restored normal camera-frustum culling for 3D boards while retaining render bounds for the complete 2x4 structure and roof overhang.

Security

  • Added separate per-player and server-wide rate limits for board-configuration packets.
  • Bounded full-screen requests to page 100,000 before they enter server-side query handling.

Fixed

  • Ensured LDLib2 tooltips render above all full-screen and board-configuration content.

1.2.4​

Changed

  • Added explicit atlas-bounded UV mappings to the overhang and every outer frame face.
  • Matched the rear side-frame depth to the display panel.

Fixed

  • Prevented out-of-range automatic frame UVs from sampling adjacent texture-atlas sprites, removing the persistent black vertical strip on the stone-brick board.
  • Excluded Blockbench's extracted vanilla assets from release JARs.

1.2.3​

Fixed

  • Aligned the side frames with the display surface to remove recessed geometry on angled views.
  • Extended the roof beyond the outer frame to prevent coplanar texture flickering at both outside corners.

1.2.2​

Fixed

  • Split both display panels at the middle seam and removed internal panel faces that could overlap.
  • Removed internal roof-seam faces from both board variants.
  • Eliminated flickering textures and the black center strip on the stone-brick board.

1.2.1​

Added

  • Added a server-authorized configuration screen that lets operators choose deaths, distance walked, or total distance for each 3D leaderboard.
  • Added synchronized network messages for opening board configuration, applying validated metric changes, and updating tracking clients.
  • Added a separate light 3D leaderboard variant with a normal stone-brick frame.
  • Added a configuration shortcut from the board dialog to the complete personal leaderboard.

Changed

  • Allowed regular right-clicks by non-operators to open the personal full-screen leaderboard while keeping board configuration restricted to operators and the single-player host.
  • Improved placement validation, interaction routing, render bounds, support checks, and complete-structure cleanup for the 2x4 board.
  • Returned fresh board items without block-entity settings so they stack up to 64 and use deaths when placed again.

Removed

  • Removed the crafting recipe from the original 3D leaderboard; neither board variant has a crafting recipe.

Fixed

  • Fixed board metric persistence and synchronization across chunk reloads, reconnects, server restarts, and tracking clients.
  • Fixed text disappearing when the controller block left the camera frustum while another part of the board remained visible.
  • Split the roof overhang into non-overlapping left and right models to prevent z-fighting at the center seam.
  • Ensured breaking any controller or proxy part removes the complete structure and produces at most one board item.

1.2.0​

Added

  • Added independent, server-side metric selection and block-entity persistence for every placed 3D leaderboard.
  • Added per-board snapshot storage so multiple boards can simultaneously display deaths, distance walked, or total distance.

Changed

  • Kept world-board metric selection independent from each client's personal TAB and full-screen preferences.

1.1.0​

Added

  • Added the original craftable, placeable 2x4 3D leaderboard with a blackstone frame, gold accents, and a world-space display.
  • Added safe eight-part placement with controller/proxy mapping, support validation, rotation-aware structure coordinates, and complete-structure removal.
  • Added a five-second refresh cycle showing the six highest-ranked known players for the board metric.
  • Added the board item, block models, block state, loot table, recipe, creative-tab entry, localization, and client block-entity renderer.

1.0.0​

Added

  • Released TD LeaderBoard for Minecraft 1.21.1, Java 21, and NeoForge 21.1.249 or newer within the 21.1 series.
  • Added a server-authoritative replacement for Minecraft's player list while TAB is held.
  • Added the /tdleaderboard command and a paginated full-screen leaderboard with up to 50 rows per page.
  • Added deaths, distance walked, and total distance metrics with ascending and descending sorting.
  • Added deterministic tie-breaking through the remaining metrics, player name, and UUID.
  • Added online status, player heads, names, formatted metric values, and ping information.
  • Added optional offline-player statistics loaded once from local vanilla stats files without external profile requests.
  • Added local profile-cache resolution for offline names while excluding unresolved profiles from results.
  • Added client preferences for visible metrics, sort metric, sort direction, and offline-player visibility in tdleaderboard-client.toml.
  • Added English and German localization, localized compact column headings, and an in-game acceptance checklist.

Changed

  • Made the TAB panel responsive to screen size, available HUD space, visible columns, and the number of returned rows.
  • Made the full-screen table, controls, pagination, and row capacity responsive from small windows through high resolutions.
  • Added loading, stale-data, timeout, import-progress, empty-result, and omitted-row feedback.
  • Allowed compatible NeoForge versions from 21.1.249 up to, but not including, 21.2.

Security

  • Added bounded request and response codecs with enum, metric, page, page-size, row-count, and request-ID validation.
  • Added per-player and server-wide snapshot request rate limits.
  • Limited offline import to 100,000 regular files and 8 MiB per file without following symbolic links.
  • Read live player statistics at most once per server tick and cached identical rankings by data revision.
  • Bound responses to the matching request and query state so rapid page, sort, filter, and column changes cannot mix old and new data.
  • Cleared all client snapshot state on disconnect so data from a previous server cannot be displayed after reconnecting.
  • Kept all leaderboard data read-only: no vanilla statistics, world data, databases, or external profile services are modified.

Fixed

  • Fixed control and row render ordering in the full-screen view.
  • Prevented the TAB panel from overlapping reserved HUD space or keeping empty rows in its background.
  • Prevented missing metrics from being displayed as false zero values while a different query was pending.

Alle TD-Mods