Ganimet tabloları: havuzlar, çekilişler ve girişler ile fonksiyonlar arasındaki farklar
Hiçbir şey düşürmeyen bir ganimet tablosunun ağırlıkları veya koşulları genellikle yanlış katmanda yer alır. İşte her iç içe geçme seviyesinin neyi kontrol ettiği ve bilinmesi gereken fonksiyonlar.
Ganimet tablosu JSON'u dört katman derinliğindedir ve her katman farklı bir anlama gelir. Neredeyse her "tablom hiçbir şey düşürmüyor" durumu, olması gereken yerden bir katman uzakta bir koşulun eklenmesinden kaynaklanır.
Dört katman
table
└── pools[] how many independent draws
└── entries[] what can come out of this draw
└── functions[] modify the item that came out
- Bir havuzdaki
rolls, o havuzun kaç kez çekiliş yaptığını belirtir.rolls: 3olan bir havuz, aynı giriş listesinden üç kez çekiliş yapar. - Bir girişteki
weight, havuzu içinde görecelidir. Ağırlıkların herhangi bir şeye toplaması gerekmez; ağırlığı 10 olan bir giriş, ağırlığı 90 olana kıyasla onda bir oranında gelir. conditionsher seviyede bulunur ve farklı anlamlara gelir. Bir havuzda tüm çekilişi engellerler. Bir girişte o tek seçeneği engellerler. Bir fonksiyonda ise sadece değişikliği engellerler.
Bir düşüşü garanti etmek için kendi havuzu gerekir
Ağırlıklar hiçbir şeyi garanti edemez, çünkü bir havuz her çekilişte tam olarak bir giriş seçer. Her zaman bir harita ve rastgele ganimet düşürmesi gereken bir tablo iki havuza ihtiyaç duyar:
"pools": [
{ "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:filled_map" } ] },
{ "rolls": { "min": 2, "max": 4 }, "entries": [ … weighted list … ] }
]
Birinci havuzun tek bir girişi vardır, bu yüzden her zaman onu üretir. İkinci havuz, ağırlıklı listeden 2-4 kez çekiliş yapar.
Bilinmesi gereken fonksiyonlar
| Fonksiyon | Yaptığı İş |
|---|---|
set_count | sabit bir sayı veya bir uniform aralığı |
enchant_randomly | rastgele büyüler, isteğe bağlı olarak bir listeden |
enchant_with_levels | N seviyeli bir Büyü Masası gibi — istenirse hazineyi içerir |
set_components | özel isim, hikaye, herhangi bir veri bileşeni |
looting_enchant | Ganimet (Looting) seviyesi başına bonus; sadece varlık tabloları için |
set_damage | dayanıklılığı bir kesir olarak, yani 0.5 yarı yıpranmış demektir |
furnace_smelt | mob Ateş (Fire) üzerinde öldüğünde erimiş hali |
enchant_with_levels ve enchant_randomly birbirinin yerine kullanılamaz. Birincisi bir Büyü Masası'nı taklit eder ve seviye maliyetlerine uyar; ikincisi keyfi olarak seçer ve oyunun asla üretmeyeceği kombinasyonlar üretebilir.
İnsanların kullandığı koşullar
random_chance— düz bir olasılıkrandom_chance_with_enchanted_bonus— modern Ganimet (Looting) duyarlı şanskilled_by_player— nadir düşüşünüzün düşme ölümünden sonra asla görünmemesinin nedenientity_properties— kurbanın türünü, durumunu veya ekipmanını kontrol edinmatch_tool— blok tabloları için kullanılan aracı kontrol edin
Dünyayı yeniden inşa etmeden test etme
/loot give @s loot my_pack:chests/treasure
tabloyu doğrudan envanterinize düşürür. /loot spawn, /loot insert <pos> ve /loot replace diğer yerleşimleri kapsar. Bu, sandıkları yerleştirip yeniden yüklemekten çok daha hızlıdır ve ağırlık dağılımlarını kontrol etmenin tek mantıklı yoludur.
Gelişmiş Ganimet Tablosu Oluşturucu'da fonksiyonlar ve koşullar doğru seviyeye eklenmiş çok havuzlu tablolar oluşturun.