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 hoá ẩ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ó trọng số bằng một phần tư 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 thì mọi con số ở trên 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 chia lại.
Bảng vật phẩm là một trong những họ registry lớn hơn của game — dữ liệu 26.2 mà trang này đo được liệt kê tới 1355 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à một lệnh thời snapshot
/posteffect của Java là một lệnh thời snapshot và không tồn tại trong các bản phát hành hiện tại, đồng thời nó không có tương đương nào ở Bedrock. Bedrock xử lý việc nhuộm màu màn hình thông qua resource pack và hệ thống rung camera, nên một hướng dẫn dành cho Java ở đây sẽ không chuyển sang được.
Lệnh này nhận một định danh hiệu ứng và một độ mạnh (strength), và độ mạnh là số thực float chứ không phải phần trăm. Hiệu ứng là một registry nhỏ — 40 mục trong dữ liệu 26.2 — nên danh sách định danh đủ ngắn để tra bằng tay thay vì đoán mò. Gọi tên một hiệu ứng không tồn tại sẽ thất bại âm thầm ở một số bản snapshot, đó là lý do thứ hai để kiểm chứng 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 độ mạnh 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 hiệu ứng độ mạnh thấp cho bể phổ thông và để dành hiệu ứng mạnh 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.