Despawn-Timer & Altersvererbung (MC 26.2)
Dieses Dokument beschreibt den Despawn-Lebenszyklus, Tick-zu-Sekunden-Umrechnung, Altersvererbungsregeln und Farm-Schutzmechanismen in Item Clumps für Minecraft 26.2.
📊 Feature-Infobox
| Eigenschaft | Spezifikation |
|---|---|
| Systemname | Bewahrer 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) |
| Zielfeld | ItemEntity.age und ItemEntity.pickupDelay |
| Inaktivitäts-Despawn | Standardmäßiger 5-Minuten-Timer läuft ab, wenn keine Items verschmelzen |
⏳ 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}})$$
Existing Ground Clump Newly Dropped Item
- Count: 500 Cobblestone - Count: 1 Cobblestone
- Age: 5,800 ticks (4m 50s old) - Age: 0 ticks (Brand new)
│ │
└──────────────────────┬───────────────────────┘
│ (Item Clumps Merging)
▼
Merged Mega-Stack Entity
- Count: 501 Cobblestone
- Age: min(5800, 0) = 0 ticks (Fresh 5-minute timer)Warum dies ertragreiche Farmen schützt
- Das Problem der Vanilla-Lebensdauer: Wenn bei langsamen Sammelsystemen neu gedroppte Items in ältere Items verschmelzen, könnten sie 10 Sekunden später gelöscht werden, wenn das Zielitem bereits 4 Minuten und 50 Sekunden alt war.
- Die Item Clumps-Lösung: Kontinuierlicher Itemfluss in aktiven Mob-Farmen, Baumfarmen oder Steinbrüchen setzt das Alter des Stapels fortlaufend auf
0zurück. Solange die Farm Items generiert, despawnt kein einziges Item. - Bereinigung bei Inaktivität: Sobald die Farm stoppt, bleibt der Stapel ruhig liegen. Der Timer läuft ungehindert von $0$ bis $6000$, wodurch alle nicht aufgesammelten Items nach 5 Minuten sicher gelöscht werden, um das Anwachsen der Weltdatei zu verhindern.
🛑 Sicherheit der Aufhebeverzögerung
Um zu verhindern, dass Spieler gerade weggeworfene Items sofort wieder einsaugen, weist Minecraft ein pickupDelay zu (typischerweise 40 Ticks = 2 Sekunden).
Beim Verschmelzen von Items:
$$\text{pickupDelay}{\text{merged}} = \max(\text{pickupDelay}{\text{this}}, \text{pickupDelay}_{\text{other}})$$
Dies stellt sicher, dass beim bewussten Werfen eines Items auf einen Stapel dieser nicht sofort wieder ins Inventar gesaugt wird, bis die volle Verzögerung abgelaufen ist.
💻 Reale Java-Quellcode-Implementierung
Aus ItemEntityMixin.java in Minecraft 26.2:
// During Complete or Partial Merging:
this.pickupDelay = Math.max(this.pickupDelay, ((ItemEntityMixin)(Object)other).pickupDelay);
this.age = Math.min(this.age, ((ItemEntityMixin)(Object)other).age);