Rehberler / Komutlar ve Veriler
/attribute: temel değer ve değiştiriciler ve sizinki neden sürekli sıfırlanıyor
Temel değer ayarlamak kalıcıdır, değiştirici eklemek ise değildir — yanlış işlemi seçmediğiniz sürece. Üç işlem, yığılma sırası ve yuva tuzağı.
/attribute, üç alt komutu olan tek bir komut gibi görünür. Aslında aynı adı paylaşan iki farklı sistemdir ve bunları karıştırmak değerlerin sürekli geri sıçramasının sebebidir.
temel ve değiştirici
/attribute @s minecraft:max_health base set 40
/attribute @s minecraft:max_health modifier add my_buff 20 add_value
base setvarlığın kendi değerini yeniden yazar. Yeniden yüklemeler boyunca kalıcıdır ve başka birbase setdışında hiçbir şey tarafından kaldırılmaz.modifier addüzerine adlandırılmış bir ayarlama ekler. Tıpkı temel gibi varlıkla birlikte kaydedilir, bir id'si vardır ve o id ile kaldırılabilir.
Değişikliğiniz gitmiyorsa ya base set kullandınız ve base reset gerekli, ya da modifier remove <id> gerektiren bir değiştirici eklediniz.
Üç işlem ve uygulanma sırası
| İşlem | Yaptığı | Uygulanma |
|---|---|---|
add_value | değer + n | ilk |
add_multiplied_base | değer + (temel × n) | ikinci |
add_multiplied_total | güncel toplam × (1 + n) | son |
Sıra sabittir ve önemlidir. Temel 20'den başlayıp ardından add_value 10 ve add_multiplied_total 0.5:
20 → 30 → 45 not 20 → 30 → 30 + 10 = 40
add_multiplied_base, temeli add_value değiştiricileri eklendikten sonra çarpar — güncel toplamı değil — bu yüzden ikisi birleşik değil toplamalı olarak yığılır.
Değiştirici id'leri artık ad alanlı
Eski sürümler UUID kullanıyordu. Modern sürümler ad alanlı id kullanır:
/attribute @s minecraft:attack_damage modifier add my_pack:rage 5 add_value
Aynı id ile ikinci bir değiştirici eklemek, yığılmak veya değiştirilmek yerine "Modifier … is already present" hatasıyla başarısız olur. Bir buff'ı yenilemek için önce onu modifier remove.
Ekipman değiştiricileri varlıkta değil, eşyada bulunur
Bir kılıcın hasar bonusu bir attribute_modifiers eşya bileşenidir ve yalnızca eşya doğru yuvadayken uygulanır:
/give @s diamond_sword[attribute_modifiers=[{type:"attack_damage",amount:5,
operation:"add_value",slot:"mainhand",id:"my:bonus"}]]
slot öğesini atlamak en yaygın hatadır. Varsayılanı any olduğundan değiştirici her ekipman yuvasında uygulanır — bir kılıç sizi yalnızca ana elinizden değil, ikincil elinizden veya bir zırh yuvasından da güçlendirir.
Geçerli yuvalar: mainhand, offhand, hand, head, chest, legs, feet, armor, body, saddle, any.
Bir değeri geri okumak
/attribute @s minecraft:max_health get
değiştiriciler dahil etkin toplamı döndürür. /attribute @s minecraft:max_health base get ise yalnızca temeli döndürür.
Bunlardan herhangi birini — yuva ayarlanmış eşya bileşeni biçimi dahil — Entity & Combat Command Builder üzerinde oluşturun.