MC Toolkit

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 set varlığın kendi değerini yeniden yazar. Yeniden yüklemeler boyunca kalıcıdır ve başka bir base set dışı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ı

İşlemYaptığıUygulanma
add_valuedeğer + nilk
add_multiplied_basedeğer + (temel × n)ikinci
add_multiplied_totalgü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.

Varlık ve savaş komut kurucusu →

Daha fazla rehber

Tümünü gör →