Skip to content

🐑 Estase de Mobs e Envelhecimento Biológico das Fazendas

📌 Aviso Legal do Código-Fonte do Repositório: A documentação nesta Wiki reflete o estado atual do código-fonte no repositório, que pode incluir commits recentes não lançados ou recursos em desenvolvimento antes dos lançamentos públicos no CurseForge e Modrinth.


🛡️ Estase de Mobs (Congelamento de IA)

Durante a dobra temporal em hipervelocidade, monstros hostis rápidos (zumbis, esqueletos, creepers) poderiam invadir bases ou atacar jogadores dormindo.

O True Sleep introduz a Estase de Mobs (Mob Stasis): Com truesleep:freeze_mobs ativado (padrão: ON), a navegação por IA, busca de caminhos e ataques dos mobs ficam congelados durante o sono.

Isenção para Criaturas Trabalhadoras

Aldeões e allays são agrupados sob a tag #truesleep:worker_mobs. Por padrão, truesleep:freeze_workers permanece em OFF (false), permitindo que aldeões caminhem tranquilamente até suas camas ou postos de trabalho.


🌾 Envelhecimento Biológico das Fazendas

Mesmo com a IA de locomoção paralisada, o relógio biológico interno dos animais continua progredindo pelo BiologicalStasisHelper:

1. Crescimento de Filhotes e Intervalo de Reprodução

Filhotes de vacas, ovelhas, porcos, galinhas e lobos amadurecem durante a noite:

java
if (mob instanceof AgeableMob ageable) {
    int currentAge = ageable.getAge();
    if (ageable.canAgeUp()) {
        ageable.setAge(Math.min(0, currentAge + strideTicks));
    } else if (currentAge > 0) {
        ageable.setAge(Math.max(0, currentAge - strideTicks));
    }
}

2. Temporizadores de Ovos de Galinhas

Os temporizadores de botar ovos diminuem por strideTicks, permitindo que fazendas de ovos operem normalmente: $$\text{eggTime} = \max(1, \text{eggTime} - \text{strideTicks})$$


3. Crescimento de Lã em Ovelhas (Simulação de Pastoreio)

Ovelhas tosquiadas precisam pastar na grama para regenerar a lã. Na estase, o True Sleep simula o pastoreio matematicamente:

$$\text{grazeChance} = \min\left(1.0, \frac{\text{strideTicks}}{1000.0}\right)$$

Se uma ovelha tosquiada estiver sobre um minecraft:grass_block, ela terá uma chance $\text{grazeChance}$ por passo de transformar o bloco em minecraft:dirt e restaurar sua lã (sheep.setSheared(false)).


🧪 Progressão de Efeitos de Poções

Efeitos de poções ativos em entidades vivas progridem com exatidão durante o sono:

  • Bônus positivos (Força, Regeneração) e negativos (Veneno, Wither) têm sua duração diminuída por strideTicks.
  • O True Sleep utiliza duck typing (MobEffectInstanceExtensions) para garantir que efeitos ocultos encadeados expirem sem travar o jogo.

🎛️ Regras de Jogo Reguladoras (GameRules)

  • truesleep:freeze_mobs (Padrão: true): Pausa o movimento de criaturas hostis e ambientes.
  • truesleep:freeze_workers (Padrão: false): Pausa aldeões e allays.
  • truesleep:biological_aging (Padrão: true): Habilita crescimento de filhotes, ovos e lã.
  • truesleep:unfreeze_<namespace>_<path>: Regra individual de descongelação para qualquer entidade.

Official documentation & web portal for Dasik Igaijinn mods.