Skip to content

🐑 Stasis Mob & Penuaan Biologis Peternakan

📌 Pemberitahuan Sumber Repositori: Dokumentasi dalam Wiki ini mencerminkan kondisi kode sumber terkini dalam repositori, yang mungkin mencakup komit terbaru yang belum dirilis atau fitur dalam pengembangan sebelum rilis publik di CurseForge dan Modrinth.


🛡️ Mekanisme Stasis Mob (Pembekuan AI)

Selama percepatan waktu hipercepat, mob bermusuhan yang bergerak cepat (Zombie, Skeleton, Creeper) dapat membanjiri markas atau menyerang pemain yang tertidur sebelum sempat bereaksi.

True Sleep menghadirkan Stasis Mob (Mob Stasis): Saat truesleep:freeze_mobs diaktifkan (default: ON), navigasi AI, pencarian jalan, dan target serangan mob dijeda selama tidur.

Pengecualian untuk Mob Pekerja

Penduduk desa (Villager) dan Allay dikelompokkan dalam tag #truesleep:worker_mobs. Secara default, truesleep:freeze_workers disetel ke OFF (false), memungkinkan penduduk desa berjalan santai menuju tempat tidur atau stasiun kerja saat senja.


🌾 Penuaan Biologis Peternakan

Meskipun pergerakan mob dijeda, jam biologis internal mereka terus berdetak via BiologicalStasisHelper:

1. Pertumbuhan Bayi Hewan & Cooldown Pembiakan

Bayi sapi, domba, babi, ayam, dan serigala bertumbuh dewasa selama tidur:

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. Timer Pengeluaran Telur Ayam

Timer telur ayam berkurang sebesar strideTicks, memungkinkan peternakan pengumpul telur beroperasi lancar semalaman: $$\text{eggTime} = \max(1, \text{eggTime} - \text{strideTicks})$$


3. Pertumbuhan Ulang Wol Domba (Simulasi Merumput)

Domba yang dicukur membutuhkan animasi memakan rumput untuk menumbuhkan kembali wolnya. Dalam stasis, True Sleep mensimulasikannya secara matematis:

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

Jika domba yang telah dicukur berdiri di atas minecraft:grass_block, terdapat peluang $\text{grazeChance}$ per langkah untuk mengubah blok menjadi minecraft:dirt dan mengembalikan mantel wolnya (sheep.setSheared(false)).


🧪 Progresi Efek Ramuan

Efek ramuan aktif pada semua makhluk hidup berkurang durasinya dengan tepat selama tidur:

  • Efek positif (Kekuatan, Regenerasi) dan efek negatif (Racun, Wither) durasinya berkurang sebesar strideTicks.
  • True Sleep menggunakan duck typing (MobEffectInstanceExtensions) agar efek tersembunyi berjenjang kedaluwarsa tanpa bug rekursi.

🎛️ Aturan GameRules Pengendali

  • truesleep:freeze_mobs (Default: true): Menjeda pergerakan mob bermusuhan dan sekitar.
  • truesleep:freeze_workers (Default: false): Menjeda pergerakan penduduk desa dan allay.
  • truesleep:biological_aging (Default: true): Mengaktifkan pertumbuhan bayi, timer telur, dan wol.
  • truesleep:unfreeze_<namespace>_<path>: Tombol unfreeze tersendiri untuk setiap tipe entitas.

Official documentation & web portal for Dasik Igaijinn mods.