Skip to content

Despawn-Timer & Altersvererbung (MC 26.1.2)

Dieses Dokument beschreibt den Despawn-Lebenszyklus, Tick-zu-Sekunden-Umrechnung, Altersvererbungsregeln und Farm-Schutzmechanismen in Item Clumps für Minecraft 26.1.2.


📊 Feature-Infobox

EigenschaftSpezifikation
SystemnameBewahrer des Alters des jüngsten Items
Vanilla-Despawn-Schwelle$6.000\text{ Ticks}$ ($300\text{ Sekunden} = 5.0\text{ Minuten}$)
Altersvererbungsregel$\text{age}_{\text{merged}} = \min(\text{age}_A, \text{age}_B)$ (Jüngstes Item gewinnt)
Aufhebeverzögerungsregel$\text{pickupDelay}_{\text{merged}} = \max(\text{pickupDelay}_A, \text{pickupDelay}_B)$ (Längste Verzögerung bleibt)
ZielfeldItemEntity.age und ItemEntity.pickupDelay

⏳ Zeitberechnung: Ticks zu Sekunden

In Minecraft laufen Entitäts-Timer mit 20 Ticks pro Sekunde:

$$1\text{ second} = 20\text{ ticks}$$ $$1\text{ minute} = 60\text{ seconds} = 1,200\text{ ticks}$$ $$5\text{ minutes} = 300\text{ seconds} = 6,000\text{ ticks}$$

In Vanilla Minecraft erhöht eine ItemEntity ihr internes Feld age jeden Tick um $+1$. Bei $\text{age} \ge 6000$ wird das Item dauerhaft aus der Welt gelöscht.


🛡️ Schutzregel für das jüngste Item

Wenn zwei Items in Item Clumps verschmelzen, führt die verbleibende Entität Folgendes aus:

$$\text{age}{\text{merged}} = \min(\text{age}{\text{this}}, \text{age}_{\text{other}})$$

Kontinuierlicher Itemfluss in aktiven Farmen setzt das Stapelalter wiederholt auf 0 zurück. Solange die Farm Items erzeugt, verschwindet kein Item.

Sobald keine neuen Items nachkommen, zählt der Timer von 0 bis 6000 Ticks hoch und entfernt ungesammelte Items nach 5 Minuten Inaktivität sicher.


💻 Reale Java-Quellcode-Implementierung

Aus ItemEntityMixin.java in Minecraft 26.1.2:

java
// Complete Merge: larger stack absorbs the smaller stack
if (otherCount < thisCount) {
    thisStack.setCount(thisCount + otherCount);
    this.setItem(thisStack);
    this.pickupDelay = Math.max(this.pickupDelay, ((ItemEntityMixin)(Object)other).pickupDelay);
    this.age = Math.min(this.age, ((ItemEntityMixin)(Object)other).age);
    other.discard();
} else {
    otherStack.setCount(thisCount + otherCount);
    other.setItem(otherStack);
    ((ItemEntityMixin)(Object)other).pickupDelay = Math.max(((ItemEntityMixin)(Object)other).pickupDelay, this.pickupDelay);
    ((ItemEntityMixin)(Object)other).age = Math.min(((ItemEntityMixin)(Object)other).age, this.age);
    this.discard();
}

🔗 Verwandte Dokumentation (MC 26.1.2)

Official documentation & web portal for Dasik Igaijinn mods.