Kawaiiverse StudioDreams · Games · Infinite Worlds

🟩 BedrockCommandsMenengah3 menit baca

Cara Membuat NPC di Minecraft Bedrock (Dialog, Tombol, dan Command)

Membuat NPC di Minecraft Bedrock dengan spawn egg atau /summon, mengatur dialog dan tombol yang menjalankan command, memakai @initiator, dan membuat dialog bercabang dengan file dialogue di Behavior Pack.

Oleh KawaiiVerse Studio · Diperbarui

NPC (Non-Player Character) adalah entitas bawaan Minecraft Bedrock yang bisa berbicara dan menjalankan command saat tombolnya ditekan. NPC cocok untuk pemandu di spawn, penjaga toko, pemberi quest, atau teleporter antar-area. Panduan ini membahas cara membuat NPC dengan menu bawaan dan dengan file dialog untuk percakapan yang lebih kompleks.

Syarat

  • Dunia dengan cheats aktif (pengaturan dunia → Cheats).
  • Kamu berada di mode Creative dan berstatus operator. Pemain biasa hanya bisa berbicara dengan NPC, tidak bisa mengubahnya.

1. Memunculkan NPC

Cara tercepat adalah dengan command:

mcfunction
/summon npc ~ ~ ~

Kamu juga bisa memberi nama langsung:

mcfunction
/summon npc ~ ~ ~ 0 0 minecraft:entity_spawned "Penjaga Toko"

Atau ambil spawn egg-nya dengan /give @s npc_spawn_egg, lalu letakkan NPC di tempat yang kamu mau.

2. Mengatur NPC lewat menu

Klik (atau ketuk) NPC saat kamu berada di mode Creative. Menu pengaturan akan terbuka:

  • Name: nama yang tampil di atas kepala NPC.
  • Skin: pilih tampilan dari daftar skin bawaan.
  • Dialogue: teks yang dibaca pemain saat berbicara dengan NPC.
  • Advanced Settings → Add Button: tombol yang menjalankan command.

Setiap tombol punya dua mode:

ModeKapan command berjalan
ButtonSaat pemain menekan tombol di jendela dialog.
On EnterOtomatis saat jendela dialog dibuka.

3. Memakai @initiator

Di dalam command NPC, selector @initiator berarti pemain yang sedang berbicara dengan NPC. Selector ini jauh lebih aman daripada @p, karena @p bisa mengenai pemain lain yang kebetulan lebih dekat.

Contoh tombol Teleport ke Arena:

mcfunction
/tp @initiator 120 64 -340
/playsound mob.endermen.portal @initiator

Satu tombol boleh berisi beberapa baris command. Setiap baris dijalankan berurutan.

4. NPC toko sederhana

Gabungkan NPC dengan scoreboard untuk membuat toko. Misalkan uang pemain tersimpan di objective uang (lihat sistem scoreboard). Tombol Beli Roti (10 koin) berisi:

mcfunction
/tag @initiator[scores={uang=10..}] add beli
/give @a[tag=beli] bread 1
/scoreboard players remove @a[tag=beli] uang 10
/tellraw @a[tag=beli] {"rawtext":[{"text":"§aKamu membeli 1 roti!"}]}
/tellraw @initiator[tag=!beli] {"rawtext":[{"text":"§cKoinmu kurang."}]}
/tag @a remove beli

Pola tag → aksi → hapus tag memastikan semua langkah hanya berlaku untuk pemain yang uangnya cukup, dan tidak ada yang mendapat barang gratis. Pembahasan lebih lengkap ada di sistem economy.

5. Dialog bercabang dengan file dialogue

Menu bawaan hanya mendukung satu halaman dialog. Untuk percakapan bertingkat (misalnya quest), buat file dialog di Behavior Pack: BP/dialogue/penjaga.json.

json
{
  "format_version": "1.17.0",
  "minecraft:npc_dialogue": {
    "scenes": [
      {
        "scene_tag": "penjaga_awal",
        "npc_name": "Penjaga Desa",
        "text": "Selamat datang, petualang! Ada yang bisa kubantu?",
        "buttons": [
          {
            "name": "Minta quest",
            "commands": ["/dialogue open @e[tag=penjaga,c=1] @initiator penjaga_quest"]
          },
          {
            "name": "Sampai jumpa",
            "commands": []
          }
        ]
      },
      {
        "scene_tag": "penjaga_quest",
        "npc_name": "Penjaga Desa",
        "text": "Bawakan aku 10 kayu ek, nanti kuberi hadiah.",
        "on_open_commands": ["/tag @initiator add quest_kayu"],
        "buttons": [
          { "name": "Siap!", "commands": [] }
        ]
      }
    ]
  }
}

Lalu beri tag pada NPC dan hubungkan ke scene pertama:

mcfunction
/tag @e[type=npc,c=1] add penjaga
/dialogue change @e[tag=penjaga] penjaga_awal

Perintah dialogue change mengatur scene yang tampil saat NPC diajak bicara. Perintah dialogue open membuka scene tertentu untuk pemain tertentu, dan bisa dipanggil dari command block, function, atau tombol NPC lain.

6. Menjaga NPC tetap aman

NPC bisa didorong dan diserang seperti entitas lain. Beberapa cara mencegah masalah:

  • Tempatkan NPC di area yang dilindungi, misalnya dikelilingi blok kaca atau barrier.
  • Matikan mobGriefing jika ada mob yang mengganggu area spawn.
  • Hindari menghapus NPC dengan /kill @e. Selalu gunakan selector yang spesifik, misalnya /kill @e[type=zombie].

Ringkasan

  • Munculkan NPC dengan /summon npc atau npc_spawn_egg, lalu edit di mode Creative sebagai operator.
  • Gunakan @initiator di semua command NPC.
  • Untuk percakapan bertingkat, buat file dialogue/*.json dan gunakan /dialogue.

Daftar command yang sering dipakai bersama NPC ada di panduan command Bedrock.

Bacaan lanjut