Kawaiiverse StudioDreams · Games · Infinite Worlds

🟩 BedrockDevelopmentLanjut4 menit baca

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

FilePackFungsi
entities/slime_raja.jsonBPPerilaku: darah, gerak, AI, serangan
loot_tables/entities/slime_raja.jsonBPItem yang dijatuhkan
spawn_rules/slime_raja.jsonBPMuncul alami di dunia (opsional)
entity/slime_raja.entity.jsonRPTampilan: model, tekstur, animasi
models/entity/slime_raja.geo.jsonRPBentuk 3D (geometry)
textures/entity/slime_raja.pngRPTekstur

1. Model dan tekstur dengan Blockbench

Blockbench adalah aplikasi gratis untuk membuat model Minecraft.

  1. Buat proyek baru dengan tipe Bedrock Entity.
  2. Isi Model Identifier dengan slime_raja. Blockbench akan memberi nama geometry geometry.slime_raja.
  3. Susun kubus membentuk mob, lalu buat tekstur di tab Paint.
  4. Ekspor model lewat File → Export → Export Bedrock Geometry ke RP/models/entity/slime_raja.geo.json.
  5. Simpan tekstur ke RP/textures/entity/slime_raja.png.

2. Perilaku mob (Behavior Pack)

BP/entities/slime_raja.json:

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:

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:

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_alphatest mendukung piksel transparan di tekstur.
  • controller.render.default adalah render controller bawaan yang memakai geometry, tekstur, dan material default.
  • spawn_egg membuat 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 Raja

5. Uji coba

Aktifkan pack di dunia baru, lalu:

mcfunction
/summon kv:slime_raja

Spawn egg juga muncul di tab Creative inventory.

6. Muncul alami (spawn rules)

BP/spawn_rules/slime_raja.json:

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 lewat animations dan scripts.animate di client entity.
  • Variasi: gunakan component_groups dan events untuk membuat fase marah, ukuran berbeda, atau mob yang bisa dijinakkan.
  • Suara: daftarkan suara di RP/sounds.json dan RP/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.
  • /summon gagal "unknown entity": BP belum aktif atau JSON rusak. Cek Content Log.
  • Mob diam saja: minecraft:movement, navigation.walk, atau movement.basic belum ada.
  • Tidak menyerang: pastikan ada minecraft:attack dan behavior.melee_attack, dan targetnya terdeteksi oleh nearest_attackable_target.

Semua error itu bisa dilacak dengan Content Log. Caranya ada di Troubleshooting Bedrock.

Bacaan lanjut