TDXPlugins
TDX LeaderboardsConfiguration

hooks

DecentHolograms, Discord webhooks, PlaceholderAPI integration.

The hook blocks live near the bottom of config.yml and toggle integration with optional plugins. Each hook silently no-ops if its target plugin isn't installed, so leaving them all enabled is harmless.

DecentHolograms

In-world hologram leaderboards that auto-refresh on every board update.

plugins/TDXLeaderboards/config.yml
holograms:
  enabled: true
  refresh-interval: 60      # seconds; usually matches general.update-interval
  default-lines:
    - "<#4DA6E8><b>%title%</b></>"
    - "<#A8D8F0>—————————</>"
    - "<gray>#1 <white>%top1_name% <gray>· %top1_value%"
    - "<gray>#2 <white>%top2_name% <gray>· %top2_value%"
    - "<gray>#3 <white>%top3_name% <gray>· %top3_value%"

Once enabled, manage holograms in-game with /lbadmin hologram create <board>, which spawns a new holo at your location keyed to that board.

Discord webhook

Posts a rich embed to a Discord channel when a leaderboard period rolls over. Useful for monthly recap posts.

plugins/TDXLeaderboards/config.yml
discord:
  enabled: true
  webhook-url: "https://discord.com/api/webhooks/.../..."
  username: "TDX Leaderboards"
  avatar-url: "https://docs.toosiedx.me/brand/tdx-logo.png"
  embed:
    color: "#4DA6E8"
    title: "📊 Monthly Leaderboards Reset"
    footer: "TDX Leaderboards · %month% %year%"

The webhook posts asynchronously and never blocks the main thread. If Discord rate-limits the post, the embed is dropped silently with a warning in latest.log — there is no retry queue.

Treat the webhook URL like a password. Anyone with it can post as your bot. Restrict file permissions on config.yml accordingly, and rotate the URL in Discord if you suspect it's leaked.

PlaceholderAPI

The PAPI expansion is on by default as long as PlaceholderAPI itself is installed. There's nothing in config.yml to enable — just install PAPI and you're done.

The expansion exposes per-player and top-N placeholders for every board. See the PlaceholderAPI section of the FAQ for the full list.

Custom tracking

The custom-tracking block defines which materials count for the BREAK, PLACE, CRAFT, and PICKUP custom counter keys (used by ACCUMULATE boards):

plugins/TDXLeaderboards/config.yml
custom-tracking:
  break:
    - DIAMOND_ORE
    - ANCIENT_DEBRIS
  place:
    - OAK_LOG
    - SPRUCE_LOG
  craft:
    - DIAMOND_SWORD
  pickup:
    - DIAMOND

A player breaking a DIAMOND_ORE increments the BREAK counter by 1. Tie that counter to a board with type: ACCUMULATE and statistic: BREAK.