Guides / Commands & Data

/attribute: Giá trị gốc so với các yếu tố điều chỉnh, và tại sao giá trị của bạn cứ bị đặt lại

Đặt giá trị gốc là vĩnh viễn còn đặt yếu tố điều chỉnh thì không — trừ khi bạn chọn sai thao tác. Ba thao tác, thứ tự xếp chồng, và cái bẫy vị trí.

/attribute trông giống như một lệnh với ba lệnh con. Thực chất đây là hai hệ thống khác nhau nhưng lại có chung tên, và việc nhầm lẫn chúng là lý do khiến các giá trị cứ bị đặt lại.

Giá trị gốc so với yếu tố điều chỉnh

/attribute @s minecraft:max_health base set 40
/attribute @s minecraft:max_health modifier add my_buff 20 add_value
  • base set ghi đè giá trị của thực thể. Nó duy trì qua các lần tải lại và không bị loại bỏ bởi bất cứ thứ gì ngoại trừ một base set khác.
  • modifier add thêm một điều chỉnh tạm thời lên trên. Nó có một ID và có thể bị loại bỏ bằng ID đó.

Nếu thay đổi của bạn biến mất khi đăng nhập lại, bạn đã sử dụng một yếu tố điều chỉnh và có thứ gì đó đã xóa nó. Nếu thay đổi của bạn không biến mất, bạn đã sử dụng base set và cần base reset.

Ba thao tác và thứ tự áp dụng

Thao tácThực hiệnÁp dụng
add_valuegiá trị + nđầu tiên
add_multiplied_basegiá trị + (gốc × n)thứ hai
add_multiplied_totaltổng tích lũy × (1 + n)cuối cùng

Thứ tự là cố định và rất quan trọng. Bắt đầu từ giá trị gốc 20, sau đó add_value 10add_multiplied_total 0.5:

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

add_multiplied_base luôn nhân với giá trị gốc ban đầu, không phải tổng tích lũy — đó là lý do tại sao hai trong số chúng cộng dồn thay vì gộp lại.

ID yếu tố điều chỉnh hiện đã được đặt tên (namespaced)

Các phiên bản cũ hơn sử dụng UUID. Các phiên bản hiện đại sử dụng ID được đặt tên (namespaced id):

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

Thêm một yếu tố điều chỉnh thứ hai với cùng ID sẽ thay thế cái đầu tiên thay vì xếp chồng. Đó là cách dự kiến để làm mới một hiệu ứng — bạn không cần phải xóa nó trước.

Yếu tố điều chỉnh trang bị nằm trên vật phẩm, không phải thực thể

Phần thưởng sát thương của một thanh kiếm được phù phép là một thành phần vật phẩm (item component) attribute_modifiers, và nó chỉ áp dụng khi vật phẩm ở đúng vị trí:

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

slot là bắt buộc và là lỗi thường gặp. Bỏ qua nó và yếu tố điều chỉnh sẽ áp dụng ở mọi vị trí, vì vậy một thanh kiếm trong kho đồ của bạn sẽ tăng cường cho bạn khi nó nằm ở đó.

Các vị trí hợp lệ: mainhand, offhand, head, chest, legs, feet, armor, body, any.

Đọc lại giá trị

/attribute @s minecraft:max_health get

trả về giá trị gốc, không phải tổng hiệu dụng. Để có được tổng bao gồm các yếu tố điều chỉnh, hãy sử dụng execute store result trên bảng điểm (scoreboard) và đọc giá trị đó.

Xây dựng bất kỳ thứ nào trong số này — bao gồm cả dạng thành phần vật phẩm với vị trí đã đặt — trong Trình xây dựng lệnh thực thể & chiến đấu (Entity & Combat Command Builder).

Trình tạo lệnh thực thể & chiến đấu →

More guides

Browse all →

Cần thêm công cụ Minecraft khác?

Bộ công cụ tạo, xem và chuyển đổi chạy ngay trên trình duyệt — tất cả đều miễn phí.