Pesona Kustom Tanpa Mod: Format Pesona Berbasis Data
Pesona kini menjadi JSON paket data, jadi pesona kustom tidak memerlukan mod. Berikut adalah bentuk file, komponen efek yang benar-benar berfungsi, dan cara membuatnya bisa didapatkan.
Dulu, pesona itu di-hardcode. Sekarang, pesona adalah data paket data, yang berarti pesona yang benar-benar kustom — nama baru, efek baru, kurva biaya baru — adalah file JSON.
Lokasi File
data/<namespace>/enchantment/lightning_strike.json
enchantment/ tunggal, seperti setiap kategori paket data lainnya sejak penggantian nama.
File Minimum
{
"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"]
}
Itu saja sudah memberikan pesona nyata yang muncul di meja dan ditampilkan pada item. Namun, belum melakukan apa-apa — perilakunya terpisah.
weightadalah kelangkaan di Meja Pesona. Vanilla menggunakan 10 untuk umum, 1 untuk sangat langka. Ini relatif, bukan persentase.slotsmemutuskan di mana pesona aktif:mainhand,offhand,armor,head, dan seterusnya. Hilangkan ini dan pesona tidak akan pernah diterapkan.supported_itemsmengambil tag item atau daftar. Tag#minecraft:enchantable/*sudah ada untuk kelompok yang masuk akal.
Membuatnya Berfungsi
effects melampirkan perilaku:
"effects": {
"minecraft:post_attack": [{
"effect": { "type": "minecraft:run_function", "function": "my_pack:strike" },
"requirements": { "condition": "minecraft:random_chance", "chance": 0.25 }
}]
}
run_function adalah jalan keluar — apa pun yang bisa dilakukan fungsi, bisa dilakukan pesona. Tipe efek bawaan mencakup kerusakan, Tolakan (Knockback), daya tahan, jatuhan item, dan atribut tanpa perlu fungsi sama sekali, dan biayanya lebih murah.
requirements mengambil predikat apa pun, jadi membatasi berdasarkan tipe Sasaran (Target), cuaca, atau peluang acak adalah satu blok JSON.
Memberi Nama
description adalah komponen teks, jadi nama yang di-hardcode berfungsi:
"description": { "text": "Lightning Strike", "color": "gold" }
tetapi kunci translate ditambah file bahasa dalam paket sumber daya adalah yang membuatnya terbaca dengan benar untuk pemain dalam bahasa lain — alasan yang sama mengapa situs ini mengambil istilah game dari terjemahan Mojang sendiri.
Membuatnya Bisa Didapatkan
Tiga rute, dan Anda biasanya menginginkan lebih dari satu:
- Meja Pesona — otomatis setelah
weightdan kurva biaya diatur. - Tabel jarahan (Loot tables) —
enchant_randomlydengan pesona Anda terdaftar, atauenchant_with_levelsjika harus bersaing dalam biaya. - Penduduk berdagang — Buku Pesona (Enchanted Book) dengan pesona Anda di item perdagangan.
Menambahkannya ke #minecraft:in_enchanting_table adalah yang membuat meja menawarkannya sama sekali; tag ini mudah dilupakan dan menghasilkan pesona yang ada tetapi tidak pernah muncul.
Buat JSON pesona dan pasangannya untuk hiasan Zirah (Armor), dengan tag dan slot yang diatur, di Custom Enchantment & Trim Builder.