BuildUp

TD LeaderBoard Changelog

Alle TD-Mods

Aktuell veroeffentlicht: 1.4.1

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.