Modsuz özel büyüler: Veri odaklı büyü formatı
Büyüler artık veri paketi JSON'u haline geldi, bu yüzden özel bir büyü için mod gerekmiyor. İşte dosya yapısı, gerçekten bir şeyler yapan etki bileşenleri ve onu nasıl elde edilebilir hale getireceğiniz.
Büyüler eskiden kodlanmış durumdaydı. Artık veri paketi verileri haline geldiler, bu da gerçekten özel bir büyünün — yeni bir isim, yeni bir etki, yeni bir 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/.
Minimum dosya
{
"description": { "translate": "enchantment.my_pack.lightning_strike" },
"supported_items": "#minecraft:enchantable/sword",
"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, masada görünen ve öğe üzerinde gösterilen gerçek bir büyü sağlar. Henüz hiçbir şey yapmaz — davranış ayrıdır.
weightBüyü Masası'ndaki nadirliği ifade eder. Vanilya için yaygın olanlar 10, çok nadir olanlar 1'dir. Bu bir yüzde değil, göreceli bir değerdir.slotsbüyünün nerede aktif olacağına karar verir:mainhand,offhand,armor,
head ve benzeri. Bunu atlarsanız büyü asla uygulanmaz.
supported_itemsbir öğe etiketi veya bir liste alır.#minecraft:enchantable/*etiketleri
mantıklı gruplar için zaten mevcuttur.
Bir şeyler yapmasını sağlamak
effects davranış ekler:
"effects": {
"minecraft:post_attack": [{
"effect": { "type": "minecraft:run_function", "function": "my_pack:strike" },
"requirements": { "condition": "minecraft:random_chance", "chance": 0.25 }
}]
}
run_function bir kaçış yoludur — bir fonksiyonun yapabileceği her şeyi büyü de yapabilir. Yerleşik etki türleri, hasar, Savurma, dayanıklılık, öğe düşüşleri ve nitelikleri hiç fonksiyon gerektirmeden kapsar ve daha ucuzdurlar.
requirements herhangi bir koşul alır, bu yüzden Hedef'in türüne, havaya veya rastgele bir şansa bağlı olarak kapılamak tek bir JSON bloğudur.
Adlandırmak
description bir metin bileşenidir, bu yüzden kodlanmış bir isim işe yarar:
"description": { "text": "Lightning Strike", "color": "gold" }
ancak bir translate anahtarı ve bir 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 budur.
Elde edilebilir hale getirmek
Üç yol vardır ve genellikle birden fazlasını istersiniz:
- Büyü Masası —
weightve maliyet eğrisi ayarlandıktan sonra otomatik. - Ganimet tabloları — büyünüzün listelendiği
enchant_randomlyveya
maliyet açısından rekabet etmesi gerekiyorsa enchant_with_levels.
- Köylü anlaştı — takasın öğesinde büyünüzü içeren bir Büyülü Kitap.
Bunu #minecraft:in_enchanting_table'e eklemek, masanın onu sunmasını sağlar; etiketi unutmak kolaydır ve var olan ama asla görünmeyen bir büyü üretir.
Etiketler ve yuvalar ayarlanmış olarak büyü JSON'unu ve Zırh süsleme karşılığını Özel Büyü ve Süsleme Oluşturucu içinde oluşturun.