Skip to content

Pembersihan Atribut Kedaluwarsa & Skala Ukuran

MasalahStrategi Pemecahan
Sisa Modifier AtributPembersihan modifier berawalan genetics_ saat kalkulasi ulang
Offset Penambahan UkuranPengurangan basis -1.0f pada operasi ADD_VALUE
Atribut Skala TargetEntityAttributes.SCALE

🧹 Pembersihan Otomatis Modifier Kedaluwarsa

Saat atribut entitas dihitung ulang (misalnya setelah tumbuh besar, bermutasi, atau diobati), modifier lama harus dihapus agar tidak terjadi penumpukan nilai yang tidak diinginkan:

java
public static void purgeStaleModifiers(LivingEntity entity, Holder<Attribute> attribute) {
    AttributeInstance instance = entity.getAttribute(attribute);
    if (instance != null) {
        instance.getModifiers().stream()
            .filter(m -> m.id().getPath().startsWith("genetics_"))
            .toList()
            .forEach(instance::removeModifier);
    }
}

📏 Matematika Offset untuk ADD_VALUE

Di Minecraft, nilai bawaan untuk SCALE adalah $1.0$. Saat modifier menggunakan operasi ADD_VALUE, nilai tambahan harus mengimbangi basis $1.0$:

$$\text{Modifier Amount} = \text{TargetScale} - 1.0f$$

Jika skala yang diinginkan adalah $1.5x$, nilai modifier yang dimasukkan adalah $+0.5f$.


🔗 Halaman Terkait

Official documentation & web portal for Dasik Igaijinn mods.