-
Notifications
You must be signed in to change notification settings - Fork 0
26.2 Holographic Labels and Thresholds
This document details the floating count indicator system, label_min_count threshold gating, and pure vanilla client name tag rendering of Item Clumps for Minecraft 26.2.
| Property | Specification |
|---|---|
| System Name | Server-Side Holographic Name Tag Provider |
| Rendering Strategy | Native Vanilla Custom Name Tags (setCustomName / setCustomNameVisible) |
| Client Mod Required? | No (100% rendered by un-modded vanilla Minecraft clients) |
| Label Format Pattern |
<item_localized_name> x<count> (e.g. Diamond x128, Oak Log x500) |
| Threshold GameRule |
item_clumps:label_min_count (Default: -1, uses DataComponents.MAX_STACK_SIZE) |
| Display Toggle GameRule |
item_clumps:render_labels (Default: true) |
| Tick Overhead |
setItem() mutation) |
Rather than requiring a client-side mod or sending custom OpenGL rendering packets, Item Clumps leverages vanilla Minecraft's built-in entity custom name tag rendering:
┌───────────────────────────────┐
│ Ground Item Stack Size Changes│
│ (ItemEntity.setItem) │
└───────────────┬───────────────┘
│
▼
┌───────────────────────────────┐
│ Is render_labels Enabled? │
│ Does count > maxStack? │
└───────────────┬───────────────┘
│
┌────────────────┴────────────────┐
│ (Yes) │ (No)
▼ ▼
┌───────────────────────────┐ ┌───────────────────────────┐
│ Set Entity Custom Name │ │ Clear Entity Custom Name │
│ setCustomName(name xCount)│ │ setCustomName(null) │
│ setCustomNameVisible(true)│ │ setCustomNameVisible(false│
└─────────────┬─────────────┘ └───────────────────────────┘
│
▼
┌───────────────────────────┐
│ SyncedEntityData Packet │
│ Sent to all nearby clients│
└─────────────┬─────────────┘
│
▼
┌───────────────────────────┐
│ Vanilla Client Renders │
│ Clean Floating Name Tag! │
└───────────────────────────┘
In Minecraft 26.2, administrators can customize exactly when labels appear using the item_clumps:label_min_count GameRule:
label_min_count Value |
Threshold Behavior |
|---|---|
-1 (Default) |
Vanilla Stack Size: Labels only appear once the clump exceeds its native maximum stack size ( |
0 |
Always Visible: Every dropped item entity in the world displays its count label (e.g. Dirt x1). |
100 |
Mega-Clump Filter: Labels are suppressed until a clump reaches |
1000 |
Ultra High-Yield Mode: Only massive storage clumps display labels. |
From ItemEntityMixin.java in Minecraft 26.2:
private void item_clumps$updateVanillaNameTag() {
if (this.level() == null || this.level().isClientSide()) return;
ItemStack stack = this.getItem();
if (stack.isEmpty()) {
this.setCustomName(null);
this.setCustomNameVisible(false);
return;
}
int count = stack.getCount();
int labelMin = DynamicGameRuleManager.getInt(this.level(), ItemClumpsFabric.LABEL_MIN_COUNT);
int maxStack = (labelMin == -1) ? stack.getOrDefault(DataComponents.MAX_STACK_SIZE, 1) : labelMin;
if (DynamicGameRuleManager.getBoolean(this.level(), ItemClumpsFabric.RENDER_LABELS) && count > maxStack) {
Component name = stack.getItemName().copy().append(" x" + count);
if (!this.hasCustomName() || !this.getCustomName().getString().equals(name.getString())) {
this.setCustomName(name);
this.setCustomNameVisible(true);
}
} else {
if (this.hasCustomName()) {
this.setCustomName(null);
this.setCustomNameVisible(false);
}
}
}
@Inject(method = "setItem", at = @At("TAIL"))
private void item_clumps$onSetItem(ItemStack itemStack, CallbackInfo ci) {
if (!this.level().isClientSide()) {
this.item_clumps$updateVanillaNameTag();
}
}Item Clumps is engineered with ❤️ by Dasik (Rifaditya) | Licensed under GNU General Public License v3.0 (GPL-3.0-or-later).
📌 Repository Source Disclaimer: The documentation in this Wiki reflects the current source code state in the repository, which may include recent unreleased commits or developmental features ahead of public release builds on CurseForge and Modrinth.
- 26.2 Hub
- 26.2 Mega-Stack Clumping
- 26.2 Smart Pickup System
- 26.2 Hopper Integration
- 26.2 Despawn Age Rules
- 26.2 Holographic Labels
- 26.2 Mod Compatibility
- 26.2 GameRules Table
- 26.2 Commands & Admin
- 26.2 Advancements
- 26.2 Configuration
- 26.2 ModVersionGuard
- 26.2 Architecture & Mixins
- 26.2 Developer Setup
- 26.2 API & Addons
- 26.2 FAQ & Diagnostics
- 26.1.2 Hub
- 26.1.2 Mega-Stack Clumping
- 26.1.2 Smart Pickup System
- 26.1.2 Hopper Integration
- 26.1.2 Despawn Age Rules
- 26.1.2 Holographic Labels
- 26.1.2 GameRules Table
- 26.1.2 Commands & Admin
- 26.1.2 Advancements
- 26.1.2 Configuration
- 26.1.2 Architecture & Mixins
- 26.1.2 Developer Setup
- 26.1.2 API & Addons
- 26.1.2 FAQ & Diagnostics