Rehberler / Komutlar ve Veriler
Modsuz özel büyüler: veri odaklı büyü formatı
Büyüler artık veri paketi JSON'u hâline geldi, yani özel bir büyü için mod gerekmiyor. İşte dosya yapısı, gerçekten bir şey yapan etki bileşenleri ve onu nasıl elde edilebilir yapacağınız.
Büyüler eskiden koda gömülüydü. Artık veri paketi verisi hâlindeler, bu da gerçekten özel bir büyünün — yeni ad, yeni etki, yeni maliyet eğrisi — bir JSON dosyası olduğu anlamına geliyor.
Nerede bulunur
data/<namespace>/enchantment/lightning_strike.json
Yeniden adlandırmadan bu yana diğer tüm veri paketi kategorileri gibi tekil enchantment/.
Asgari dosya
{
"description": { "translate": "enchantment.my_pack.lightning_strike" },
"supported_items": "#minecraft:enchantable/melee_weapon",
"weight": 2,
"max_level": 3,
"min_cost": { "base": 10, "per_level_above_first": 10 },
"max_cost": { "base": 50, "per_level_above_first": 10 },
"anvil_cost": 4,
"slots": ["mainhand"]
}
Bu kadarı, yüklenen ve eşyada görünen gerçek bir büyü verir. Henüz hiçbir şey yapmaz — davranış ayrıdır — ve etiketlenene kadar (aşağıda) Büyü Masası onu sunmaz.
weight, Büyü Masası'ndaki nadirliktir. Vanilla yaygın için 10, çok nadir için 1 kullanır. Yüzde değil, görecelidir.slots, büyünün nerede etkin olduğunu belirler:mainhand,offhand,armor,headve benzeri. Zorunludur: atlarsanız dosya yüklenmez.supported_itemsbir eşya etiketi ya da liste alır. Mantıklı gruplar için#minecraft:enchantable/*etiketleri zaten var —melee_weapon,sharp_weapon,mining,armorve benzeri.enchantable/swordyoktur; var olmayan bir etiket dosyayı başarısız kılar.
Bir şey yapmasını sağlamak
effects davranış ekler:
"effects": {
"minecraft:post_attack": [{
"enchanted": "attacker",
"affected": "victim",
"effect": { "type": "minecraft:run_function", "function": "my_pack:strike" },
"requirements": { "condition": "minecraft:random_chance", "chance": 0.25 }
}]
}
post_attack büyünün kime ait olduğunu (enchanted) ve etkinin kime isabet ettiğini (affected) bilmelidir — ikisi de zorunludur. run_function kaçış kapısıdır — bir fonksiyonun yapabildiği her şeyi büyü de yapabilir. Yerleşik etki türleri hasar, Savurma, dayanıklılık, eşya düşüşleri ve nitelikleri hiç fonksiyona gerek kalmadan kapsar ve daha ucuzdurlar.
requirements herhangi bir koşul alır, yani Hedef'in türüne, havaya ya da rastgele bir şansa bağlamak tek bir JSON bloğudur.
Adlandırmak
description bir metin bileşenidir, yani sabit kodlanmış bir ad çalışır:
"description": { "text": "Lightning Strike", "color": "gold" }
ancak bir translate anahtarı artı kaynak paketindeki bir dil dosyası, diğer dillerdeki oyuncular için doğru okunmasını sağlar — bu sitenin oyun terimlerini Mojang'ın kendi çevirilerinden almasının nedeni de aynıdır.
Elde edilebilir kılmak
Üç yol var ve genellikle birden fazlasını istersiniz:
- Büyü Masası —
weightve maliyet eğrisi ayarlandığında ve büyü#minecraft:in_enchanting_tableiçinde olduğunda. - Ganimet tabloları — büyünüzün listelendiği
enchant_randomlyya da maliyet üzerinden yarışması gerekiyorsaenchant_with_levels. - Köylü anlaştı — anlaşmanın eşyasında büyünüzü taşıyan bir Büyülü Kitap.
Onu #minecraft:in_enchanting_table içine eklemek, Büyü Masası'nın onu sunmasını sağlayan şeydir; bu etiketi unutmak kolaydır ve var olan ama hiç görünmeyen bir büyü ortaya çıkarır.
Büyü JSON'unu ve Zırh süsü karşılığını, etiketler ve yuvalar ayarlanmış hâlde Özel Büyü ve Süs Oluşturucu ile hazırlayın.