Tabel loot: pool, roll, dan perbedaan antara entri dan fungsi
Tabel loot yang tidak menjatuhkan apa pun biasanya punya bobot atau kondisi di lapisan yang salah. Berikut ini apa yang dikendalikan setiap tingkat penyarangan, dan fungsi yang layak diketahui.
JSON tabel loot memiliki empat tingkat kedalaman dan setiap tingkat punya arti berbeda. Hampir semua kasus "tabel saya tidak menjatuhkan apa pun" disebabkan kondisi yang dipasang satu tingkat dari tempat yang seharusnya.
Empat tingkat
table
└── pools[] how many independent draws
└── entries[] what can come out of this draw
└── functions[] modify the item that came out
rollspada sebuah pool adalah berapa kali pool itu menarik. Satu pool denganrolls: 3menarik tiga kali dari daftar entri yang sama.weightpada sebuah entri bersifat relatif di dalam pool-nya. Bobot tidak perlu berjumlah tertentu; entri dengan bobot 10 melawan entri dengan bobot 90 muncul sepersepuluh dari waktu.conditionsada di setiap tingkat dan artinya berbeda-beda. Pada pool, ia membatasi seluruh penarikan. Pada entri, ia membatasi satu opsi itu saja. Pada fungsi, ia hanya membatasi modifikasinya.
Menjamin sebuah drop butuh pool tersendiri
Bobot tidak bisa menjamin apa pun, karena satu pool memilih tepat satu entri per roll. Tabel yang harus selalu menjatuhkan peta plus loot acak membutuhkan dua pool:
"pools": [
{ "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:filled_map" } ] },
{ "rolls": { "min": 2, "max": 4 }, "entries": [ … weighted list … ] }
]
Pool pertama punya satu entri, jadi ia selalu menghasilkannya. Pool kedua melakukan roll 2–4 kali dari daftar berbobot.
Fungsi yang layak diketahui
| Fungsi | Kegunaan |
|---|---|
set_count | angka tetap atau rentang uniform |
enchant_randomly | pesona acak, opsional dari sebuah daftar |
enchant_with_levels | seperti Meja Pesona pada N level — pesona apa pun kecuali options mempersempitnya |
set_components | nama kustom, lore, komponen data apa pun |
enchanted_count_increase | bonus per level sebuah pesona (Penjarahan); hanya tabel entitas |
set_damage | daya tahan sebagai pecahan, jadi 0.5 berarti setengah aus |
furnace_smelt | bentuk hasil peleburan saat mob mati dalam keadaan terbakar Api |
enchant_with_levels dan enchant_randomly tidak bisa saling menggantikan. Yang pertama meniru Meja Pesona dan menghormati biaya level; yang kedua memilih secara sembarangan dan bisa menghasilkan kombinasi yang tidak akan pernah dibuat oleh game.
Kondisi yang sering dipakai orang
random_chance— probabilitas datarrandom_chance_with_enchanted_bonus— peluang sadar-Penjarahan yang modernkilled_by_player— alasan drop langka Anda tidak pernah muncul dari kematian akibat jatuhentity_properties— memeriksa tipe, status, atau perlengkapan korbanmatch_tool— memeriksa alat yang digunakan, untuk tabel blok
Menguji tanpa membangun ulang dunia
/loot give @s loot my_pack:chests/treasure
langsung menjatuhkan tabel itu ke inventaris Anda. /loot spawn, /loot insert <pos>, dan /loot replace mencakup penempatan lainnya. Ini jauh lebih cepat daripada menaruh peti dan memuat ulang, dan ini satu-satunya cara yang masuk akal untuk memeriksa distribusi bobot.
Bangun tabel multi-pool dengan fungsi dan kondisi yang dipasang pada tingkat yang tepat di Advanced Loot Table Builder.