MC Toolkit

Hướng dẫn / Lệnh & dữ liệu

Bảng rơi đồ: pool, lượt rút và sự khác nhau giữa entry với function

Một bảng rơi đồ không rơi ra gì thường là do trọng số hoặc điều kiện bị đặt sai tầng. Dưới đây là những gì mỗi tầng lồng nhau kiểm soát, cùng các function đáng biết.

JSON của bảng rơi đồ có bốn tầng và mỗi tầng mang một ý nghĩa khác nhau. Gần như mọi trường hợp "bảng của tôi chẳng rơi ra gì" đều là do điều kiện bị gắn lệch một tầng so với chỗ đáng lẽ phải đặt.

Bốn tầng

table
└── pools[]          how many independent draws
    └── entries[]    what can come out of this draw
        └── functions[]   modify the item that came out
  • rolls trên một pool là số lần pool đó rút. Một pool với rolls: 3 sẽ rút ba lần từ cùng một danh sách entry.
  • weight trên một entry là trọng số tương đối trong pool của nó. Trọng số không cần cộng lại thành một con số cụ thể nào; một entry có trọng số 10 so với một entry có trọng số 90 sẽ xuất hiện với tần suất bằng một phần mười.
  • conditions tồn tại ở mọi tầng và mang ý nghĩa khác nhau. Trên một pool, chúng chặn toàn bộ lượt rút. Trên một entry, chúng chặn riêng lựa chọn đó. Trên một function, chúng chỉ chặn phần sửa đổi.

Muốn chắc chắn rơi ra thì phải có pool riêng

Trọng số không thể đảm bảo bất cứ điều gì, vì mỗi lượt rút một pool chỉ chọn đúng một entry. Một bảng buộc phải luôn rơi ra một Bản đồ cùng với đồ rơi ngẫu nhiên cần hai pool:

"pools": [
  { "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:filled_map" } ] },
  { "rolls": { "min": 2, "max": 4 }, "entries": [ … weighted list … ] }
]

Pool một chỉ có một entry, nên nó luôn tạo ra entry đó. Pool hai rút 2–4 lần từ danh sách có trọng số.

Những function đáng biết

FunctionCông dụng
set_countmột con số cố định hoặc một khoảng uniform
enchant_randomlyphù phép ngẫu nhiên, tùy chọn lấy từ một danh sách
enchant_with_levelsnhư Bàn phù phép ở N cấp độ — bất kỳ phù phép nào trừ khi options thu hẹp lại
set_componentstên tùy chỉnh, lore, bất kỳ data component nào
enchanted_count_increasecộng thêm theo mỗi cấp độ của một phù phép (Nhặt); chỉ dùng cho bảng thực thể
set_damageđộ bền theo tỷ lệ, nên 0.5 là đã mòn một nửa
furnace_smeltdạng đã nung khi mob chết trong Hoả

enchant_with_levels và enchant_randomly không thay thế được cho nhau. Cái đầu mô phỏng Bàn phù phép và tuân theo chi phí cấp độ; cái sau chọn tùy ý và có thể tạo ra những tổ hợp mà game sẽ không bao giờ sinh ra.

Những điều kiện người ta hay dùng

  • random_chance — một xác suất cố định
  • random_chance_with_enchanted_bonus — xác suất có tính đến Nhặt theo kiểu hiện đại
  • killed_by_player — lý do món đồ hiếm của bạn không bao giờ xuất hiện khi chết do ngã
  • entity_properties — kiểm tra loại, trạng thái hoặc trang bị của nạn nhân
  • match_tool — kiểm tra dụng cụ đã dùng, dành cho bảng khối

Thử nghiệm mà không cần dựng lại thế giới

/loot give @s loot my_pack:chests/treasure

đưa thẳng bảng vào túi đồ của bạn. /loot spawn, /loot insert <pos> và /loot replace bao quát các vị trí còn lại. Cách này nhanh hơn hẳn so với đặt rương rồi tải lại, và đây là cách duy nhất hợp lý để kiểm tra phân bố trọng số.

Hãy dựng bảng nhiều pool với các function và điều kiện được gắn đúng tầng trong Advanced Loot Table Builder.

Trình tạo bảng vật phẩm rơi nâng cao →

Hướng dẫn khác

Xem tất cả →