Anda di halaman 1dari 9

Lewati ke konten utama

Tutorial Paket Tambahan


Pengantar Paket Perilaku
Artikel
03/08/2023
5 kontributor
Dalam artikel ini
Contoh Paket Perilaku
Membangun Paket Perilaku
Buat Folder Entitas dan Tambahkan Sapi
Penyelesaian masalah
Apa berikutnya?
Sebelum membangun Add-On pertama Anda untuk Minecraft: Bedrock Edition, Anda harus
membuat paket untuk menampung konten khusus Anda. Ada dua jenis paket yang dapat
dibuat oleh pembuat: paket sumber daya dan paket perilaku. Paket perilaku adalah
struktur folder yang berisi file yang mendorong perilaku entitas, loot drop, aturan
spawn, item, resep, dan tabel perdagangan. Tutorial ini mencakup cara pembuatan
paket perilaku dan cara menambahkan perilaku ke entitas sapi dalam game untuk
membuatnya agresif.

Gambar sapi mengejar Steve

Dalam tutorial ini, Anda akan mempelajari hal berikut:

Bahwa perilaku entitas dapat diubah di Minecraft: Edisi Batuan Dasar.


Cara menautkan Paket Perilaku ke Paket Sumber Daya.
Contoh Paket Perilaku
Ada contoh paket perilaku yang tersedia di sampel Microsoft Github. itu dapat
digunakan untuk memahami struktur paket perilaku dan untuk memeriksa pekerjaan Anda
setelah tutorial.

Persyaratan
Direkomendasikan agar hal-hal berikut diselesaikan sebelum memulai tutorial ini.

Memulai Pengembangan Add-On


Pengantar Paket Sumber Daya
Membangun Paket Perilaku
Paket perilaku berisi file yang digunakan pembuat untuk menambah, menghapus, atau
mengubah perilaku gameplay entitas dalam Minecraft. File perilaku entitas adalah
apa yang membuat setiap entitas melakukan tindakan tertentu, seperti bagaimana
seekor ayam mengikuti pemain yang memegang benih.

Agar Minecraft menemukan dan menggunakan file perilaku Anda, Anda harus mengatur
folder dan file dalam struktur tertentu. Tutorial ini akan memandu Anda membuat
folder dan struktur file ini.

Gambar folder paket perilaku dan struktur file

Buat folder
Di bagian ini, Anda akan membuat folder bernama My_BEHAVIOR_Pack . Nah, sebenarnya
Anda tidak harus menyebutnya begitu. Sebenarnya, Anda dapat memberi nama folder ini
apa pun yang Anda inginkan, tetapi folder lain harus diberi nama persis seperti
yang dikatakan tutorial ini agar Minecraft tahu di mana mencarinya.

Buka folder com.mojang Anda .


Buka folder development_behavior_packs .
Di dalam folder development_behavior_packs, buat folder baru dan beri nama
My_BEHAVIOR_Pack .
Buka folder My_BEHAVIOR_Pack . Gambar folder My_BEHAVIOR_Pack terletak di folder
com.mojang development_behavior_packs
Buat file manifes
Untuk memuat paket perilaku ke Minecraft, Anda harus membuat file manifes. File
manifes paket perilaku mirip dengan yang dibuat untuk paket sumber daya, tetapi
memiliki dua bagian tambahan.

modules : Menentukan paket sehingga Minecraft mengetahui cara menerapkannya ke


dunia. Paket perilaku menggunakan tipe data .
dependensi - Membuat tautan antara paket perilaku dan paket sumber daya untuk
menambahkan tekstur dan visual khusus ke Minecraft.
Catatan

Untuk mempelajari lebih lanjut tentang cara kerja file manifest.json, lihat
dokumentasi Referensi Addons manifest.json .

Buat dokumen baru di folder My_BEHAVIOR_Pack Anda dan beri nama manifest.json .
Anda perlu mengubah ekstensi file dari .txt menjadi .json. Jika jendela Explorer
Anda tidak menampilkan ekstensi file, Anda dapat mengaktifkan Ekstensi Nama File di
bawah tab Tampilan. Gambar file manifest.json terletak di dalam folder
My_BEHAVIOR_Pack
Klik dua kali file manifest.json untuk membukanya di editor teks.
Salin dan tempel kode berikut ke dalam file Anda.
JSON

Menyalin
{
"format_version": 2,
"header": {
"description": "My attack cow behavior pack Add-On!",
"name": "My Behavior Pack",
"uuid":"",
"version": [1, 0, 0],
"min_engine_version": [1, 16, 0]
},
"modules":
[
{
"description": "My First Add-On!",
"type": "data",
"uuid": "",
"version": [1, 0, 0]
}
],
"dependencies": [
{
"uuid":"UUID from the header section of manifest.json in My_RESOURCE_Pack",
"version":[1,0,0]
}
]
}
Masukkan UUID
Mirip dengan file manifes paket sumber daya, Anda perlu membuat dua UUID yang
berbeda untuk bagian header dan modul dari file manifes Anda. Anda bisa mendapatkan
UUID dari generator online seperti https://www.uuidgenerator.net/ .

Gambar layar beranda UUIDGenerator.net dengan UUID khusus dibuat

Salin dan tempel UUID ke bagian header. UUID harus ditempelkan di "uuid"bidang di
antara tanda kutip ("") agar dapat dibaca dengan benar.
Refresh halaman web untuk menghasilkan UUID baru untuk digunakan di bagian modul.
Salin dan tempel UUID baru ke bagian modul di bidang "uuid"di antara tanda kutip.
Buat ketergantungan
Ada bagian ketiga dalam file manifest.json paket perilaku yang disebut 'dependensi'
yang digunakan untuk membuat tautan antara paket sumber daya dan paket perilaku.
Tautan ini dibuat ketika UUID yang terletak di bagian header file manifest.json
paket sumber daya sama dengan UUID di bagian dependensi file manifest.json paket
perilaku. Anda tidak perlu memiliki paket sumber daya untuk menggunakan paket
perilaku, dan Anda tidak perlu memiliki paket perilaku untuk menggunakan paket
sumber daya. Jika Anda memiliki keduanya, Anda dapat menggunakan solusi ini untuk
menautkan keduanya sehingga saat Anda memuat paket perilaku ke dunia, secara
otomatis memuat dan mengaktifkan paket sumber daya yang ditautkan.

Gambar UUID header paket sumber daya manifest.json digandakan di bagian dependensi
paket perilaku

Buka file manifest.json yang terletak di folder My_RESOURCE_Pack di folder


development_resource_packs .
Salin UUID dari bagian header file manifest.json paket sumber daya .
Buka file manifest.json yang terletak di folder * My_BEHAVIOR_Pack di folder
development_behavior_packs .
Rekatkan UUID ke kolom "uuid" di bagian dependensi. Pastikan semua yang ada di
antara tanda kutip sama persis.
Simpan file manifest.json paket perilaku.
Gambar UUID header paket sumber daya manifest.json digandakan di bagian dependensi
paket perilaku

Buat Folder Entitas dan Tambahkan Sapi


Perilaku setiap entitas ditentukan dalam file JSON-nya yang berada di dalam kode
yang membuat Minecraft berfungsi. Anda akan membuat file perilaku sapi baru yang
akan digunakan Minecraft, bukan file "vanila" biasa.

Di folder My_BEHAVIOR_Pack , buat folder dan beri nama entitas .


Buat file teks di folder entitas dan beri nama cow.json .
Salin dan tempel kode berikut ke file cow.json Anda . Setelah Anda menyimpan file,
Anda siap untuk pergi!
Catatan

Ini adalah seluruh file cow.json yang telah diedit. Ini besar karena sapi melakukan
banyak hal!

JSON

Menyalin
{
"format_version": "1.16.0",
"minecraft:entity": {
"description": {
"identifier": "minecraft:cow",
"is_spawnable": true,
"is_summonable": true,
"is_experimental": false
},
"component_groups": {
"minecraft:cow_baby": {
"minecraft:is_baby": {},
"minecraft:scale": {
"value": 0.5
},
"minecraft:ageable": {
"duration": 1200,
"feed_items": "wheat",
"grow_up": {
"event": "minecraft:ageable_grow_up",
"target": "self"
}
},
"minecraft:behavior.follow_parent": {
"priority": 6,
"speed_multiplier": 1.1
}
},
"minecraft:cow_adult": {
"minecraft:experience_reward": {
"on_bred": "Math.Random(1,7)",
"on_death": "query.last_hit_by_player ? Math.Random(1,3) : 0"
},
"minecraft:loot": {
"table": "loot_tables/entities/cow.json"
},
"minecraft:behavior.breed": {
"priority": 3,
"speed_multiplier": 1.0
},
"minecraft:breedable": {
"require_tame": false,
"breed_items": "wheat",
"breeds_with": {
"mate_type": "minecraft:cow",
"baby_type": "minecraft:cow",
"breed_event": {
"event": "minecraft:entity_born",
"target": "baby"
}
}
},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "is_family",
"subject": "other",
"value": "player"
},
{
"test": "has_equipment",
"domain": "hand",
"subject": "other",
"value": "bucket:0"
}
]
}
},
"use_item": true,
"transform_to_item": "bucket:1",
"play_sounds": "milk",
"interact_text": "action.interact.milk"
}
]
}
}
},
"components": {
"minecraft:is_hidden_when_invisible": {},
"minecraft:type_family": {
"family": [
"cow",
"mob"
]
},
"minecraft:breathable": {
"total_supply": 15,
"suffocate_time": 0
},
"minecraft:navigation.walk": {
"can_path_over_water": true,
"avoid_water": true,
"avoid_damage_blocks": true
},
"minecraft:movement.basic": {},
"minecraft:jump.static": {},
"minecraft:can_climb": {},
"minecraft:collision_box": {
"width": 0.9,
"height": 1.3
},
"minecraft:nameable": {},
"minecraft:health": {
"value": 10,
"max": 10
},
"minecraft:hurt_on_condition": {
"damage_conditions": [
{
"filters": {
"test": "in_lava",
"subject": "self",
"operator": "==",
"value": true
},
"cause": "lava",
"damage_per_tick": 4
}
]
},
"minecraft:movement": {
"value": 0.25
},
"minecraft:despawn": {
"despawn_from_distance": {}
},
"minecraft:behavior.float": {
"priority": 0
},
"minecraft:behavior.panic": {
"priority": 1,
"speed_multiplier": 1.25
},
"minecraft:behavior.mount_pathing": {
"priority": 2,
"speed_multiplier": 1.5,
"target_dist": 0.0,
"track_target": true
},
"minecraft:behavior.breed": {
"priority": 3,
"speed_multiplier": 1.0
},
"minecraft:behavior.tempt": {
"priority": 4,
"speed_multiplier": 1.25,
"items": [
"wheat"
]
},
"minecraft:behavior.follow_parent": {
"priority": 5,
"speed_multiplier": 1.1
},
"minecraft:behavior.random_stroll": {
"priority": 6,
"speed_multiplier": 0.8
},
"minecraft:behavior.look_at_player": {
"priority": 7,
"look_distance": 6.0,
"probability": 0.02
},
"minecraft:behavior.random_look_around": {
"priority": 9
},
"minecraft:leashable": {
"soft_distance": 4.0,
"hard_distance": 6.0,
"max_distance": 10.0
},
"minecraft:balloonable": {},
"minecraft:rideable": {
"seat_count": 1,
"family_types": [
"zombie"
],
"seats": {
"position": [
0.0,
1.105,
0.0
]
}
},
"minecraft:physics": {},
"minecraft:pushable": {
"is_pushable": true,
"is_pushable_by_piston": true
},
"minecraft:conditional_bandwidth_optimization": {},
"minecraft:behavior.nearest_attackable_target": {
"priority": 2,
"must_see": true,
"reselect_targets": true,
"within_radius": 25.0,
"entity_types": [
{
"filters": {
"test": "is_family",
"subject": "other",
"value": "player"
},
"max_dist": 32
}
]
},
"minecraft:behavior.melee_attack": {
"priority": 3
},
"minecraft:attack": {
"damage": 3
}
},
"events": {
"minecraft:entity_spawned": {
"randomize": [
{
"weight": 95,
"trigger": "minecraft:spawn_adult"
},
{
"weight": 5,
"add": {
"component_groups": [
"minecraft:cow_baby"
]
}
}
]
},
"minecraft:entity_born": {
"add": {
"component_groups": [
"minecraft:cow_baby"
]
}
},
"minecraft:entity_transformed": {
"remove": {},
"add": {
"component_groups": [
"minecraft:cow_adult"
]
}
},
"minecraft:ageable_grow_up": {
"remove": {
"component_groups": [
"minecraft:cow_baby"
]
},
"add": {
"component_groups": [
"minecraft:cow_adult"
]
}
},
"minecraft:spawn_adult": {
"add": {
"component_groups": [
"minecraft:cow_adult"
]
}
}
}
}
}
Apa yang berubah
Ini adalah kode yang, ketika ditambahkan ke componentsbagian file cow.json,
mengubah sapi menjadi mesin pembunuh yang agresif:

JSON

Menyalin
"minecraft:behavior.nearest_attackable_target": {
"priority": 2,
"must_see": true,
"reselect_targets": true,
"within_radius": 25.0,
"entity_types": [
{
"filters": {
"test": "is_family",
"subject": "other",
"value": "player"
},
"max_dist": 32
}
]
},
"minecraft:behavior.melee_attack": {
"priority": 3
},
"minecraft:attack": {
"damage": 3
}
Menguji Paket
Sekarang setelah paket perilaku memiliki file manifes dan entitas sapi, saatnya
meluncurkan Minecraft dan menguji Add-On baru Anda. Sebagaimana dinyatakan dalam
tutorial paket sumber daya, Penumpukan Paket juga akan berfungsi untuk paket
perilaku. Ini berarti bahwa saat konten dimuat, konten vanilla dimuat terlebih
dahulu, diikuti oleh Pengaya apa pun. Karena semua sapi dikendalikan oleh file
perilaku cow.json , semua sapi yang bertelur ke dunia Anda akan memiliki perilaku
baru.
Luncurkan Minecraft dan pilih Mainkan .
Pilih Buat Dunia Baru .
Di bawah Pengaturan , gulir ke bawah ke bagian Pengaya .
Klik Paket Perilaku untuk melihat semua paket yang tersedia.
Klik tarik-turun PAKET SAYA untuk membukanya.
Pilih Paket PERILAKU Saya dan klik Aktifkan untuk menambahkan paket perilaku ke
dunia.
Klik Buat untuk membuat dunia Anda.
Pergi cari sapi.
Penyelesaian masalah
Perilaku pak kesengsaraan? Pemecahan masalah adalah bagian normal dari setiap
proses pengembangan. Berikut adalah beberapa tempat untuk mulai memecahkan masalah
paket perilaku.

Anda dapat menggunakan paket perilaku sampel pada Github sampel Minecraft untuk
memeriksa struktur paket perilaku Anda.

Paket Perilaku Tidak Muncul di Minecraft


Jika paket sumber daya Anda tidak muncul di bagian Pengaya, berarti ada yang salah
dengan manifest.jsonfile tersebut. Mari kita mulai dari sana.

Apakah ada dua UUID yang berbeda di manifest.jsonbagian header dan modul? Lihat
bagian UUID untuk informasi lebih lanjut.
Sudahkah Anda mengaktifkan ekstensi dan jalur file? manifest.jsonmungkin tidak adil
manifest.json. Jika jendela Explorer Anda tidak menampilkan ekstensi file, Anda
dapat mengaktifkan Ekstensi Nama File di bawah tab Tampilan .
Periksa ulang kurung kurawal dan kurung kurawal JSON. Alat linting JSON dapat
membantu.
Jika ada masalah dengan paket perilaku aktif, akan ada tanda seru merah di bawah
Paket Perilaku di bagian Pengaya.
Paket perilaku akan memiliki lebih banyak informasi. Ini mungkin mengingatkan
ketergantungan yang hilang, atau menjalankan diagnostik pada masalah lain.
Paket Perilaku Muncul, Konten Tidak Berfungsi
Periksa apakah entitiesfolder tersebut berada di tempat yang benar, dan dieja
dengan benar. Kemudian periksa semua ejaan dari cow.
Pastikan bahwa UUID di dependenciesbagian tersebut cocok dengan paket sumber daya
yang ada (dan juga berfungsi).
Pindahkan paket Anda di atas yang lain untuk memastikan paket perilaku Anda dimuat
terlebih dahulu. Penumpukan paket dapat menyebabkan perubahan Anda tidak muncul.
Apa berikutnya?
Sekarang setelah Anda melihat paket perilaku beraksi, Anda dapat mempelajari lebih
lanjut tentang cara kerjanya dan apa lagi yang dapat Anda lakukan dengannya.

Untuk melihat contoh file sumber daya dan perilaku yang tidak diubah, lihat paket
sumber daya Minecraft Vanilla dan Paket perilaku Vanilla .

Masukan
Kirim dan lihat umpan balik untuk

Lihat semua umpan balik halaman


Versi sebelumnya
Blog
Menyumbang
Pribadi
Syarat Penggunaan
Merek Dagang
© Microsoft 2023

Anda mungkin juga menyukai