Temporizador de desaparición y herencia de edad (MC 26.2)
Este documento detalla el ciclo de vida de desaparición, el cálculo de conversión de ticks a segundos, las reglas de herencia de edad más reciente y salvaguardas para granjas en Item Clumps para Minecraft 26.2.
📊 Ficha técnica de características
| Propiedad | Especificación |
|---|---|
| Nombre del sistema | Preservador de desaparición por edad más reciente |
| Umbral de desaparición Vanilla | $6,000\text{ ticks}$ ($300\text{ segundos} = 5.0\text{ minutos}$) |
| Regla de herencia de edad | $\text{age}_{\text{merged}} = \min(\text{age}_A, \text{age}_B)$ (El objeto más reciente prevalece) |
| Regla de retardo de recogida | $\text{pickupDelay}_{\text{merged}} = \max(\text{pickupDelay}_A, \text{pickupDelay}_B)$ (Se conserva el retardo mayor) |
| Campo objetivo | ItemEntity.age e ItemEntity.pickupDelay |
| Comportamiento de desaparición en inactividad | Temporizador estándar de 5 minutos cuenta regresivamente cuando no se fusionan nuevos objetos |
⏳ Cálculo de tiempo de Ticks a Segundos
En Minecraft, los temporizadores de entidades funcionan a 20 ticks por segundo:
$$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}$$
En Minecraft Vanilla, una entidad ItemEntity incrementa su campo interno age en $+1$ cada tick del juego. Cuando $\text{age} \ge 6000$, el objeto se elimina permanentemente del mundo.
🛡️ Regla de salvaguarda del objeto más reciente
Cuando dos objetos se fusionan en Item Clumps, la entidad superviviente ejecuta:
$$\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)Por qué esto protege granjas de alto rendimiento
- El problema de la vida útil en Vanilla: En Vanilla, si tienes un recolector lento, los objetos recién caídos que se fusionan con objetos más antiguos podrían borrarse 10 segundos después si la entidad anfitriona ya tenía 4 minutos y 50 segundos.
- La solución de Item Clumps: El flujo continuo de objetos en trituradoras de mobs activas, granjas de árboles automáticas o líneas de canteras reinicia repetidamente la edad del grupo a
0. Mientras la granja genere objetos activamente, ningún objeto desaparecerá. - Limpieza por inactividad: Una vez que la granja deja de producir objetos, el grupo permanece inactivo en el suelo. El temporizador de edad avanza sin interrupciones de $0$ a $6000$, limpiando de forma segura todos los objetos no recogidos tras 5 minutos de inactividad para evitar el engrosamiento del archivo de mundo.
🛑 Seguridad del retardo de recogida
Para evitar que los jugadores reabsorban instantáneamente los objetos que acaban de soltar de la mano, Minecraft asigna un pickupDelay (normalmente 40 ticks = 2 segundos).
Cuando los objetos se fusionan:
$$\text{pickupDelay}{\text{merged}} = \max(\text{pickupDelay}{\text{this}}, \text{pickupDelay}_{\text{other}})$$
Esto garantiza que si un jugador arroja deliberadamente un objeto sobre un grupo existente, el grupo no se absorberá instantáneamente de nuevo en su inventario hasta que expire el retardo completo de recogida.
💻 Implementación del código fuente Java real
De ItemEntityMixin.java en 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);