Guides / Commands & Data

/attribute: nilai dasar versus pengubah, dan mengapa nilainya terus kembali ke semula

Mengatur nilai dasar bersifat permanen dan mengatur pengubah tidak — kecuali Anda memilih operasi yang salah. Tiga operasi, urutan penumpukan, dan jebakan slot.

/attribute terlihat seperti satu perintah dengan tiga subperintah. Sebenarnya ini adalah dua sistem berbeda yang kebetulan berbagi nama, dan mencampurkannya adalah alasan mengapa nilai terus kembali ke semula.

Nilai dasar versus pengubah

/attribute @s minecraft:max_health base set 40
/attribute @s minecraft:max_health modifier add my_buff 20 add_value
  • base set menulis ulang nilai entitas itu sendiri. Ini bertahan melalui pemuatan ulang dan tidak dihapus oleh apa pun kecuali base set lainnya.
  • modifier add menambahkan penyesuaian sementara di atasnya. Ini memiliki ID, dan dapat dihapus dengan ID tersebut.

Jika perubahan Anda hilang saat masuk kembali, Anda menggunakan pengubah dan sesuatu menghapusnya. Jika perubahan Anda tidak mau hilang, Anda menggunakan base set dan membutuhkan base reset.

Tiga operasi, dan urutan penerapannya

OperasiFungsiDiterapkan
add_valuenilai + npertama
add_multiplied_basenilai + (dasar × n)kedua
add_multiplied_totaltotal berjalan × (1 + n)terakhir

Urutannya tetap dan itu penting. Dimulai dari dasar 20, lalu add_value 10 dan add_multiplied_total 0.5:

20 → 30 → 45          not  20 → 30 → 30 + 10 = 40

add_multiplied_base selalu mengalikan basis asli, bukan total berjalan — itulah mengapa keduanya menumpuk secara aditif daripada secara majemuk.

ID pengubah sekarang memiliki namespace

Versi lama menggunakan UUID. Versi modern menggunakan ID dengan namespace:

/attribute @s minecraft:attack_damage modifier add my_pack:rage 5 add_value

Menambahkan pengubah kedua dengan ID yang sama menggantikan yang pertama daripada menumpuk. Itu adalah cara yang dimaksudkan untuk menyegarkan buff — Anda tidak perlu menghapusnya terlebih dahulu.

Pengubah peralatan berada pada item, bukan entitas

Bonus kerusakan pedang yang terpesona adalah komponen item attribute_modifiers, dan itu hanya berlaku saat item berada di slot yang tepat:

/give @s diamond_sword[attribute_modifiers=[{type:"attack_damage",amount:5,
  operation:"add_value",slot:"mainhand",id:"my:bonus"}]]

slot diperlukan dan merupakan kesalahan umum. Hilangkan itu dan pengubah berlaku di setiap slot, jadi pedang di inventaris Anda memberi buff saat berada di sana.

Slot yang valid: mainhand, offhand, head, chest, legs, feet, armor, body, any.

Membaca kembali nilai

/attribute @s minecraft:max_health get

mengembalikan basis, bukan total efektif. Untuk mendapatkan total termasuk pengubah, gunakan execute store result pada papan skor dan baca itu.

Buat salah satu dari ini — termasuk bentuk komponen item dengan set slot — di Entity & Combat Command Builder.

Perintah entitas dan pertarungan →

More guides

Browse all →

Cari alat Minecraft lainnya?

Kumpulan generator, penampil, dan pengonversi yang berjalan di peramban — semuanya gratis.