MC Toolkit

Rehberler / Komutlar ve Veriler

Tek koşullu bir predicate'ın sarmalayıcısı yoktur ve bu gerçek bir şekil değişikliğidir

Tek koşul, nesnenin kendisidir. İki veya daha fazlası all_of ya da any_of içine sarılır. Ayrıca sekiz koşul türü ve tersine çevirmenin neden bir bayrak değil de bir sarmalayıcı olduğu.

Bir datapack predicate'ı, bir koşulu tanımlayan bir JSON dosyasıdır ve yapısı, kaç koşulunuz olduğuna bağlı olarak değişir. İnsanların bir örneği kopyalayıp genişletirken takıldığı kısım tam da burasıdır.

Bir, tek elemanlı bir liste değildir

koşullarçıktı şekli
0{}
1koşul nesnesinin kendisi
2+{ "condition": "minecraft:all_of", "terms": [ … ] }

Tek bir koşulun etrafında sarmalayıcı yoktur. İkinciyi eklediğinizde tüm dosya şekil değiştirir — özgün koşul, yeni bir kök altındaki bir terms dizisinin ilk elemanı olur. Bunları okuyan veya üreten her şeyin her iki biçimi de ele alması gerekir ve tek koşuldan oluşturulmuş bir örnek, bir tane daha eklediğiniz anda ihtiyaç duyacağınız şekli size göstermez.

any_of alternatif birleştiricidir: tüm terimler geçmeli ya da herhangi biri geçmelidir.

Tersine çevirmek de bir bayrak değil, bir sarmalayıcıdır

"invert": true diye bir alan yoktur. Olumsuzlanmış bir koşul sarmalanır:

{ "condition": "minecraft:inverted", "term": { …the original condition… } }

term ifadesine dikkat edin, tekil — inverted tam olarak bir tane alır, oysa all_of ve any_of bir terms dizisi alır. Benzer görünen ama farklı şekillerde iki anahtar ve tersine çevirme koşul başına uygulanır, yani bir predicate tek bir all_of içinde ters çevrilmiş ve düz terimleri serbestçe karıştırabilir.

Oluşturucunun sunduğu sekiz koşul türü

entity_properties            random_chance
int_value_check              random_chance_with_enchanted_bonus
weather_check                time_check
location_check               match_tool

Oyunun yirmi koşul türü vardır; bunlar oluşturucunun seçicisinin kapsadığı sekiz tanesidir. İkisinin adı değişti ve oluşturucu hâlâ eski kimlikleri yazıyor — random_chance_with_looting ve value_check — güncel sürümler bunları reddeder, dolayısıyla çıktıda bu ikisini yeniden adlandırın.

random_chance_with_enchanted_bonus üzerinde durmaya değer olanıdır: büyüsüz bir şans ve bir büyünün seviyesine göre ölçeklenen bir enchanted_chance alır (vanilla'nın kendi tablolarında Ganimet), yani olasılık öldürenin elinde ne tuttuğuna bağlıdır. Bu da onu yalnızca bağlamda bir öldürenin var olduğu yerde anlamlı kılar — bu bir düşme oranı koşuludur, genel amaçlı bir rastgele geçit değil. Diğer her yerde başvurulacak olan düz random_chance'dir.

int_value_check (ve float_value_check) bir sayının bir aralığa düşüp düşmediğini test eder. Oluşturucunun değer denetimi bir büyü seviyesi kaynağı ya da kopyaladıktan sonra JSON'a elle düzenlediğiniz özel bir ifade sunar.

Seçiciler tam olarak vanilla kümeleridir

Bir biyom veya yapı kimliğinin gerçek olup olmadığını kontrol ederken bilmeye değer: oluşturucunun açılır menüleri özenle seçilmiş bir örneklem değildir.

  • 66 biyom — 26.2'ye kadar her biyom; 26.3'ün dappled_forest biyomu eksik, dolayısıyla elle yazın
  • 34 yapı — aynı şekilde 26.2'ye kadar; 26.3'ün eklediği 18 abandoned_camp_* yapısı listelenmemiş
  • 18 blok etiketi ve 15 eşya, ki bunlar gerçekten çalışan bir alt kümedir

Bu, varsayılmak yerine oyunun kendi kayıt verilerine karşı doğrulandı, yani bir kimlik biyom veya yapı listesinde yoksa ve 26.3'ün eklemelerinden biri değilse, o kimlik mevcut değildir. Blok etiketleri ve eşyalar için durum tam tersidir: yokluk yalnızca seçicinin onu listelemediği anlamına gelir ve kimliği kendiniz yazmanızda bir sakınca yoktur.

Yüklem ve koşul kurucusu →

Daha fazla rehber

Tümünü gör →