🐑 Mob-Stasis & Biologische Farmalterung
📌 Hinweis zum Quellcode des Repositorys: Die Dokumentation in diesem Wiki spiegelt den aktuellen Quellcode-Zustand im Repository wider, der neuere, unveröffentlichte Commits oder Entwicklungsfunktionen vor den öffentlichen Release-Builds auf CurseForge und Modrinth enthalten kann.
🛡️ Mob-Stasis (KI-Einfrieren)
Während des Hyperspeed-Zeitraffers könnten sich feindliche Kreaturen (Zombies, Skelette, Creeper) ungehindert nähern und schlafende Spieler überwältigen.
True Sleep führt die Mob-Stasis ein: Ist truesleep:freeze_mobs aktiviert (Standard: ON), werden die Navigations-KI, Wegfindung und Angriffsziele feindlicher Kreaturen während des Schlafs pausiert.
Ausnahme für Dorfbewohner & Helfer
Dorfbewohner und Allays fallen unter das Tag #truesleep:worker_mobs. Standardmäßig steht truesleep:freeze_workers auf OFF (false), sodass Dorfbewohner bei Dämmerung ungestört zu ihren Betten oder Arbeitsstationen gehen können.
🌾 Biologische Farmalterung
Obwohl die Bewegung pausiert ist, läuft die interne biologische Uhr über den BiologicalStasisHelper weiter:
1. Tierbaby-Wachstum & Paarungs-Abklingzeit
Junge Kühe, Schafe, Schweine, Hühner und Wölfe wachsen während des Schlafs heran:
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. Hühner-Eierlege-Timer
Eierlege-Timer verringern sich um strideTicks, sodass Eierfarmen über Nacht kontinuierlich weiterarbeiten: $$\text{eggTime} = \max(1, \text{eggTime} - \text{strideTicks})$$
3. Woll-Nachwachsen bei Schafen (Gras-Weidesimulation)
Geschorene Schafe müssen fressen, um Wolle nachwachsen zu lassen. In der Stasis simuliert True Sleep dies mathematisch:
$$\text{grazeChance} = \min\left(1.0, \frac{\text{strideTicks}}{1000.0}\right)$$
Steht ein geschorenes Schaf auf minecraft:grass_block, wandelt es diesen mit der Wahrscheinlichkeit $\text{grazeChance}$ in minecraft:dirt um und regeneriert sein Fell (sheep.setSheared(false)).
🧪 Fortschreiten von Trankeffekten
Aktive Statuseffekte auf lebenden Kreaturen laufen während des Schlafs akkurat ab:
- Positive Buffs (Stärke, Regeneration) und negative Debuffs (Gift, Verfall) verringern ihre Restzeit um
strideTicks. - Durch Schnittstellen-Injektion (
MobEffectInstanceExtensions) laufen auch kaskadierende Effekte sauber ohne Rekursionsfehler ab.
🎛️ Steuernde GameRules
truesleep:freeze_mobs(Standard:true): Pausiert Bewegung feindlicher Mobs.truesleep:freeze_workers(Standard:false): Pausiert Dorfbewohner und Allays.truesleep:biological_aging(Standard:true): Aktiviert Tierwachstum, Ei-Timer und Wollnachwuchs.truesleep:unfreeze_<namespace>_<path>: Individuelle Entfrostungs-Regel für jeden Entitätstyp.
