Cara Membuat Custom Mob di Minecraft Bedrock (Entity Add-on)
Membuat mob custom di Minecraft Bedrock dari nol, mulai dari model dan tekstur di Blockbench, file entity di Behavior Pack (darah, gerak, AI, serangan), client entity di Resource Pack, spawn egg, loot table, sampai spawn rules.
Oleh KawaiiVerse Studio · Diperbarui
Membuat mob sendiri adalah salah satu hal paling memuaskan di Minecraft Bedrock. Kita akan membuat Slime Raja (kv:slime_raja): mob yang berkeliaran, mengejar dan menyerang pemain, lalu menjatuhkan item saat dikalahkan.
Sebelum mulai, pastikan kamu sudah membaca Behavior Pack vs Resource Pack dan manifest.json.
Bagian-bagian sebuah mob
| File | Pack | Fungsi |
|---|---|---|
entities/slime_raja.json | BP | Perilaku: darah, gerak, AI, serangan |
loot_tables/entities/slime_raja.json | BP | Item yang dijatuhkan |
spawn_rules/slime_raja.json | BP | Muncul alami di dunia (opsional) |
entity/slime_raja.entity.json | RP | Tampilan: model, tekstur, animasi |
models/entity/slime_raja.geo.json | RP | Bentuk 3D (geometry) |
textures/entity/slime_raja.png | RP | Tekstur |
1. Model dan tekstur dengan Blockbench
Blockbench adalah aplikasi gratis untuk membuat model Minecraft.
- Buat proyek baru dengan tipe Bedrock Entity.
- Isi Model Identifier dengan
slime_raja. Blockbench akan memberi nama geometrygeometry.slime_raja. - Susun kubus membentuk mob, lalu buat tekstur di tab Paint.
- Ekspor model lewat File → Export → Export Bedrock Geometry ke
RP/models/entity/slime_raja.geo.json. - Simpan tekstur ke
RP/textures/entity/slime_raja.png.
2. Perilaku mob (Behavior Pack)
BP/entities/slime_raja.json:
{
"format_version": "1.21.0",
"minecraft:entity": {
"description": {
"identifier": "kv:slime_raja",
"is_spawnable": true,
"is_summonable": true
},
"components": {
"minecraft:type_family": { "family": ["slime_raja", "monster", "mob"] },
"minecraft:health": { "value": 40, "max": 40 },
"minecraft:collision_box": { "width": 1.2, "height": 1.2 },
"minecraft:physics": {},
"minecraft:pushable": { "is_pushable": true, "is_pushable_by_piston": true },
"minecraft:movement": { "value": 0.25 },
"minecraft:movement.basic": {},
"minecraft:jump.static": {},
"minecraft:navigation.walk": { "can_path_over_water": true, "avoid_water": true },
"minecraft:attack": { "damage": 4 },
"minecraft:loot": { "table": "loot_tables/entities/slime_raja.json" },
"minecraft:behavior.float": { "priority": 0 },
"minecraft:behavior.melee_attack": { "priority": 2, "speed_multiplier": 1.2 },
"minecraft:behavior.nearest_attackable_target": {
"priority": 3,
"must_see": true,
"entity_types": [
{ "filters": { "test": "is_family", "subject": "other", "value": "player" }, "max_dist": 16 }
]
},
"minecraft:behavior.hurt_by_target": { "priority": 1 },
"minecraft:behavior.random_stroll": { "priority": 6, "speed_multiplier": 0.8 },
"minecraft:behavior.look_at_player": { "priority": 7, "look_distance": 8 },
"minecraft:behavior.random_look_around": { "priority": 8 }
}
}
}Komponen behavior.* adalah AI goal. Angka priority yang lebih kecil berarti lebih penting. Mob akan menyerang target terlebih dahulu, dan baru berjalan-jalan jika tidak ada target.
3. Item yang dijatuhkan (loot table)
BP/loot_tables/entities/slime_raja.json:
{
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "item",
"name": "minecraft:slime_ball",
"weight": 1,
"functions": [{ "function": "set_count", "count": { "min": 2, "max": 5 } }]
}
]
},
{
"rolls": 1,
"conditions": [{ "condition": "random_chance", "chance": 0.25 }],
"entries": [{ "type": "item", "name": "kv:kristal_fajar", "weight": 1 }]
}
]
}Pool kedua memberi peluang 25% menjatuhkan item custom dari panduan custom item.
4. Tampilan mob (Resource Pack)
RP/entity/slime_raja.entity.json:
{
"format_version": "1.10.0",
"minecraft:client_entity": {
"description": {
"identifier": "kv:slime_raja",
"materials": { "default": "entity_alphatest" },
"textures": { "default": "textures/entity/slime_raja" },
"geometry": { "default": "geometry.slime_raja" },
"render_controllers": ["controller.render.default"],
"spawn_egg": {
"base_color": "#5fd36a",
"overlay_color": "#f2c94c"
}
}
}
}entity_alphatestmendukung piksel transparan di tekstur.controller.render.defaultadalah render controller bawaan yang memakai geometry, tekstur, dan materialdefault.spawn_eggmembuat telur spawn otomatis dengan dua warna.
Tambahkan nama di RP/texts/id_ID.lang dan en_US.lang:
entity.kv:slime_raja.name=Slime Raja
item.spawn_egg.entity.kv:slime_raja.name=Telur Spawn Slime Raja5. Uji coba
Aktifkan pack di dunia baru, lalu:
/summon kv:slime_rajaSpawn egg juga muncul di tab Creative inventory.
6. Muncul alami (spawn rules)
BP/spawn_rules/slime_raja.json:
{
"format_version": "1.8.0",
"minecraft:spawn_rules": {
"description": {
"identifier": "kv:slime_raja",
"population_control": "monster"
},
"conditions": [
{
"minecraft:spawns_on_surface": {},
"minecraft:brightness_filter": { "min": 0, "max": 7, "adjust_for_weather": true },
"minecraft:difficulty_filter": { "min": "easy", "max": "hard" },
"minecraft:weight": { "default": 8 },
"minecraft:herd": { "min_size": 1, "max_size": 2 },
"minecraft:biome_filter": { "test": "has_biome_tag", "value": "swamp" }
}
]
}
}Mob ini akan muncul di permukaan biome rawa saat gelap.
7. Langkah lanjutan
- Animasi: buat animasi di Blockbench, ekspor ke
RP/animations/, lalu hubungkan lewatanimationsdanscripts.animatedi client entity. - Variasi: gunakan
component_groupsdaneventsuntuk membuat fase marah, ukuran berbeda, atau mob yang bisa dijinakkan. - Suara: daftarkan suara di
RP/sounds.jsondanRP/sounds/sound_definitions.json.
Masalah yang sering terjadi
- Mob tidak terlihat atau berbentuk kotak putih: nama geometry di client entity tidak sama dengan nama di file
.geo.json, atau tekstur tidak ditemukan. /summongagal "unknown entity": BP belum aktif atau JSON rusak. Cek Content Log.- Mob diam saja:
minecraft:movement,navigation.walk, ataumovement.basicbelum ada. - Tidak menyerang: pastikan ada
minecraft:attackdanbehavior.melee_attack, dan targetnya terdeteksi olehnearest_attackable_target.
Semua error itu bisa dilacak dengan Content Log. Caranya ada di Troubleshooting Bedrock.