Hiệu ứng hậu kỳ và bể vật phẩm: hai nửa của một chiếc rương
Trọng số của bể vật phẩm quyết định thứ rơi ra; lệnh /posteffect quyết định cảm giác khi nhận được. Cả hai đều là những con số bạn có thể kiểm tra trước khi viết datapack.
Một bể vật phẩm có trọng số (weighted loot pool) và một lệnh /posteffect thường được viết trong những tệp khác nhau bởi những người khác nhau, và chúng hỏng theo cùng một cách: các con số chẳng bao giờ được kiểm tra trước khi datapack được phát hành. Cả hai đều dễ kiểm chứng trước.
Bể vật phẩm là số học, không phải cảm tính
Mỗi mục trong bể có một weight, và xác suất của bất kỳ mục nào là trọng số của nó chia cho tổng tất cả trọng số trong bể đó. Không có chuẩn hóa ẩn và không có mức tối thiểu — trọng số bằng 0 nghĩa là mục đó không bao giờ được rút, và một bể có tổng trọng số bằng bất cứ giá trị nào cũng hành xử y hệt nhau. Cái bẫy nằm ở việc trộn số lần rút: một bể có rolls: 2 sẽ lấy mẫu hai lần, nên một mục có một phần tư trọng số sẽ xuất hiện trong khoảng một nửa số rương, chứ không phải một phần tư.
| Mục | Trọng số | Tỷ lệ trong một lần rút |
|---|---|---|
| Phôi sắt | 20 | 20 ÷ 40 = 50% |
| Phôi vàng | 12 | 30% |
| Kim cương | 8 | 20% |
Thêm một mục thứ tư với trọng số 40 và mọi con số ở trên đều giảm một nửa. Đó là toàn bộ công việc cân bằng, và đó là lý do vì sao "tỷ lệ kim cương nghe sai sai" hầu như luôn là do một trọng số bạn quên điều chỉnh theo Quy mô.
Bảng vật phẩm (loot table) là một trong những họ registry lớn hơn của trò chơi — dữ liệu 26.3 mà trang này đo được liệt kê 1.447 bảng — nên một bể mà bạn không thể suy luận bằng con số là một bể bạn sẽ không bao giờ tinh chỉnh xong bằng tay.
/posteffect là tính năng mới trong Java 26.3
/posteffect của Java ra mắt như một lệnh chính thức trong 26.3 và không tồn tại trong 26.2 hay các bản trước đó. Đây là lệnh của Java, và Bedrock không có thứ nào cùng tên, nên một hướng dẫn cho Java ở đây sẽ không chuyển sang được.
Lệnh này thêm hoặc gỡ một hiệu ứng màn hình theo định danh (identifier) trên một nhóm Người chơi — /posteffect add <targets> <effect>, cùng với remove, clear <targets> và list <target> (một Người chơi). Không có đối số cường độ: hiệu ứng chỉ bật hoặc tắt. Máy khách vanilla chỉ có năm hiệu ứng — blur, creeper, entity_outline, invert và spider — nên danh sách định danh đủ ngắn để kiểm tra bằng tay thay vì đoán mò. Đặt tên một hiệu ứng không tồn tại vẫn báo thành công, vì máy chủ không kiểm tra nó, đó là lý do thứ hai để xác minh trước khi chốt.
Nơi hai thứ gặp nhau
Một chiếc Rương rơi ra vật phẩm hiếm và một chiếc Rương rơi ra vật phẩm phổ thông không nên trông giống hệt nhau. Hãy rút bể trước để có phân bố thực, rồi chọn hiệu ứng hậu kỳ khớp với tần suất Người chơi thực sự sẽ thấy nó. Làm theo thứ tự ngược lại sẽ tạo ra một hiệu ứng kịch tính kích hoạt liên tục, nghe như tạp âm.
Với một công trình thị trấn, điều đó thường có nghĩa là dùng một hiệu ứng tinh tế như blur cho bể phổ thông và để dành một hiệu ứng kịch tính như invert cho mục có trọng số nhỏ nhất — đúng tỷ lệ mà bạn đã tính sẵn.
Hãy dựng lệnh /posteffect và rút bể có trọng số trong Công cụ Hiệu ứng Hậu kỳ & Vật phẩm.