TFBMCItemStack — Ground Item Stacking for The Final Block
![[IMG]](//proxy.spigotmc.org/41c850dc4525aca254332cd5badbd7cefb6b9298/68747470733a2f2f6779617a6f2e636f6d2f6432393937306532313766363961653634376362663233653463363430653561)
Clean, modern ground-item piles with live counts. One pile per type. Deterministic spacing. Drop-shield pickup. Plug-and-play.
Overview
- Built for “The Final Block” to keep long-term worlds tidy and readable.
- Works out of the box on Spigot/Paper 1.21.8 (other forks fine via fallbacks).
- Always shows the true amount on the ground (beyond 64) and gives that exact amount on pickup/hoppers.
- No commands. No permissions. No config. Drop the jar in /plugins and restart.
Features
- Live HUD counts above piles using TextDisplay (when available) with color tiers and compact numbers (64, 256, 1.2k, 3.4M). Vanilla nameplate fallback guarantees visibility on every fork.
- One pile per item type. Identical items hard-merge into a single oldest anchor—no duplicate piles of the same thing.
- Deterministic separation. Different item types auto-space to stable ring slots around the anchor; piles don’t overlap or flicker.
- Drop-Shield pickup. After you drop items, an action-bar countdown prevents re-picking your own drops; timer refreshes on new drops; shielded items gently repel from the dropper.
- Smart consolidation. Adaptive radius scales with pile size; reconsolidates after physics, player drops, block drops, hopper pulls, and chunk load. Deterministic anchor avoids tug-of-war.
- Hopper support. Hoppers and hopper minecarts pull the real amount from ground piles; totals decrement accurately (all leftovers are summed).
- Accurate player pickup. Inventory fill uses all leftovers—players get exactly what fits; the remainder stays on the ground and the HUD updates.
- Visual polish. Subtle glow pulse on merges; themed particles per family (natural / mineral / magical).
- Safety & cleanup. Anti-dupe merge path, extended lifetime for big piles, HUDs cleaned on despawn/remove, stale pointers auto-cleared.
- Performance-friendly. Short, bounded merge passes; minimal allocations; no ticking tasks per item.
How it works (short)
Items that land near each other are partitioned by type. Each type collapses into a single “true” anchor showing a live count. Other types are nudged to deterministic ring positions so piles stay separate. On pickup/hopper pull, the exact amount is granted and the pile’s count decreases; when it hits zero, the HUD is removed.
Player Experience
- Drop items → a clean pile with xamount above it (always visible).
- Throw more of the same item → it always merges into that pile (no second pile).
- Different items → form their own piles nearby, neatly spaced.
- The Drop-Shield countdown prevents re-picking your own drops until it ends (timer refreshes on new drops).
- Pick up anything → smooth animation + batched action-bar toasts like “+1.2k Stone, +384 Oak Log”.
Admin Notes
- Zero setup. Drop the jar and restart.
- Commands: none. Permissions: none. Config: none.
- Compatible: Spigot/Paper 1.21.8 (common forks supported via fallbacks).
- Piles beyond 512 items auto-extend lifetime to avoid despawns during long sessions.
Why this plugin?
A simple, clean, organized alternative to vanilla drops—purpose-built for The Final Block, but polished for any server that wants tidy ground items, accurate totals, and zero command/config overhead.