MC Toolkit

Panduan / Perintah & Data

Pesona khusus tanpa mod: format pesona berbasis data

Pesona kini menjadi JSON datapack, jadi pesona khusus tidak memerlukan mod. Berikut bentuk filenya, komponen efek yang benar-benar berfungsi, dan cara membuatnya bisa diperoleh.

Pesona dulunya di-hardcode. Sekarang pesona menjadi data datapack, yang berarti pesona yang benar-benar khusus — nama baru, efek baru, kurva biaya baru — hanyalah sebuah file JSON.

Letaknya di mana

data/<namespace>/enchantment/lightning_strike.json

Tunggal enchantment/, seperti setiap kategori datapack lainnya sejak penggantian nama.

File minimalnya

{
  "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"]
}

Itu saja sudah menghasilkan pesona nyata yang dimuat dan tampil pada item. Namun belum melakukan apa pun — perilakunya terpisah — dan Meja Pesona tidak akan menawarkannya sampai diberi tag (di bawah).

  • weight adalah kelangkaan di Meja Pesona. Vanilla menggunakan 10 untuk umum, 1 untuk sangat langka. Ini relatif, bukan persentase.
  • slots menentukan di mana pesona aktif: mainhand, offhand, armor, head, dan seterusnya. Ini wajib: hilangkan dan file gagal dimuat.
  • supported_items menerima tag item atau daftar. Tag #minecraft:enchantable/* sudah tersedia untuk kelompok yang masuk akal — melee_weapon, sharp_weapon, mining, armor dan seterusnya. Tidak ada enchantable/sword; tag yang tidak ada akan menggagalkan file.

Membuatnya melakukan sesuatu

effects melampirkan perilaku:

"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 perlu tahu milik siapa pesona itu (enchanted) dan siapa yang terkena efeknya (affected) — keduanya wajib. run_function adalah jalan keluarnya — apa pun yang bisa dilakukan fungsi, bisa dilakukan pesona. Jenis efek bawaan mencakup damage, Tolakan, daya tahan, drop item, dan atribut tanpa perlu fungsi sama sekali, dan lebih murah.

requirements menerima predikat apa pun, jadi membatasi berdasarkan tipe Sasaran, cuaca, atau peluang acak cukup satu blok JSON.

Memberinya nama

description adalah komponen teks, jadi nama yang di-hardcode berfungsi:

"description": { "text": "Lightning Strike", "color": "gold" }

tetapi kunci translate plus file bahasa di resource pack itulah yang membuatnya terbaca dengan benar bagi pemain dalam bahasa lain — alasan yang sama situs ini mengambil istilah game dari terjemahan Mojang sendiri.

Membuatnya bisa diperoleh

Tiga jalur, dan biasanya Anda ingin lebih dari satu:

  • Meja Pesona — setelah weight dan kurva biaya diatur serta pesona ada di #minecraft:in_enchanting_table.
  • Loot table — enchant_randomly dengan pesona Anda terdaftar, atau enchant_with_levels jika harus bersaing berdasarkan biaya.
  • Penduduk berdagang — Buku Pesona dengan pesona Anda di item perdagangan tersebut.

Menambahkannya ke #minecraft:in_enchanting_table itulah yang membuat Meja Pesona menawarkannya sama sekali; tag ini mudah terlupakan dan menghasilkan pesona yang ada tetapi tidak pernah muncul.

Bangun JSON pesona dan pasangan armor-trim-nya, dengan tag dan slot yang sudah diatur, di Custom Enchantment & Trim Builder.

Pembuat pesona dan hiasan khusus →

Panduan lainnya

Lihat semua →