Behavior Guide
Behavior Guide
Persyaratan
Direkomendasikan agar hal-hal berikut diselesaikan sebelum memulai tutorial ini.
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.
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.
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/ .
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
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.
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