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:
/summon npc ~ ~ ~Kamu juga bisa memberi nama langsung:
/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:
| Mode | Kapan command berjalan |
|---|---|
| Button | Saat pemain menekan tombol di jendela dialog. |
| On Enter | Otomatis 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:
/tp @initiator 120 64 -340
/playsound mob.endermen.portal @initiatorSatu 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:
/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 beliPola 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.
{
"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:
/tag @e[type=npc,c=1] add penjaga
/dialogue change @e[tag=penjaga] penjaga_awalPerintah 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
mobGriefingjika 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 npcataunpc_spawn_egg, lalu edit di mode Creative sebagai operator. - Gunakan
@initiatordi semua command NPC. - Untuk percakapan bertingkat, buat file
dialogue/*.jsondan gunakan/dialogue.
Daftar command yang sering dipakai bersama NPC ada di panduan command Bedrock.