Temporizador de Despawn e Herança de Idade (MC 26.2)
Este documento detalha o ciclo de vida de despawn, conversão de ticks em segundos, regras de herança de idade mais recente e proteções para farms no Item Clumps para Minecraft 26.2.
📊 Ficha Técnica do Recurso
| Propriedade | Especificação |
|---|---|
| Nome do Sistema | Preservador de Despawn por Idade Mais Jovem |
| Limiar de Despawn Vanilla | $6.000\text{ ticks}$ ($300\text{ segundos} = 5.0\text{ minutos}$) |
| Regra de Herança de Idade | $\text{age}_{\text{merged}} = \min(\text{age}_A, \text{age}_B)$ (O item mais jovem prevalece) |
| Regra de Atraso de Coleta | $\text{pickupDelay}_{\text{merged}} = \max(\text{pickupDelay}_A, \text{pickupDelay}_B)$ (Maior atraso mantido) |
| Campo Alvo | ItemEntity.age e ItemEntity.pickupDelay |
| Comportamento em Ociosidade | Temporizador padrão de 5 minutos faz a contagem quando não há novas fusões |
⏳ Matemática de Tempo de Ticks para Segundos
No Minecraft, temporizadores de entidades rodam 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}$$
No Minecraft Vanilla, uma entidade ItemEntity incrementa seu campo interno age em $+1$ a cada tick de jogo. Quando $\text{age} \ge 6000$, o item é descartado permanentemente do mundo.
🛡️ Regra de Proteção do Item Mais Jovem
Quando dois itens se fundem no Item Clumps, a entidade sobrevivente executa:
$$\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 Que Isso Protege Farms de Alto Rendimento
- O Problema com a Vida Útil do Vanilla: No vanilla, se você tiver um coletor lento, novos itens caídos que se fundem em itens mais antigos podem ser deletados 10 segundos depois se a entidade hospedeira já tiver 4 minutos e 50 segundos.
- A Solução do Item Clumps: O fluxo contínuo de itens em geradores de monstros ativos, fazendas automáticas de árvores ou linhas de perfuração reinicia repetidamente a idade do agrupamento para
0. Enquanto a farm estiver gerando itens ativamente, nenhum item sumirá por despawn. - Limpeza por Ociosidade: Assim que a farm para de produzir itens, o agrupamento fica ocioso no chão. O temporizador de idade sobe sem impedimentos de $0$ a $6000$, limpando com segurança todos os itens não coletados após 5 minutos de inatividade para evitar inchaço do arquivo do mundo.
🛑 Segurança do Atraso de Coleta
Para evitar que os jogadores reabsorvam instantaneamente itens que acabaram de soltar da mão, o Minecraft atribui um pickupDelay (normalmente 40 ticks = 2 segundos).
Quando os itens se fundem:
$$\text{pickupDelay}{\text{merged}} = \max(\text{pickupDelay}{\text{this}}, \text{pickupDelay}_{\text{other}})$$
Isso garante que se um jogador jogar deliberadamente um item sobre um agrupamento existente, ele não será sugado de volta instantaneamente para o inventário até que todo o atraso de coleta expire.
💻 Implementação do Código-Fonte Java Real
De ItemEntityMixin.java no 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);