🧱Bedrock Academy

প্রথম Custom Entity

একটা মব আসলে দুই ফাইলে — BP (লজিক) আর RP (চেহারা)। দুটো মিলিয়ে প্রথম মব গেমে আনা।

⏱ ~20 মিনিট

Item আর block-এর মতো, একটা মবও দুই দিক থেকে গঠিত। কিন্তু মব একটু বেশি ফাইল চায়, কারণ এর চেহারা (model), নড়াচড়া (animation) আর বুদ্ধি (AI) — সব আলাদা।

একটা মবের জন্য কী কী ফাইল লাগে?

  • BP entity (entities/goblin.json) — মবের লজিক: health, speed, AI, কী খায়, কীভাবে মরে।
  • RP client entity (entity/goblin.json) — কোন model, texture ও animation ব্যবহার করবে।
  • Geometry (models/entity/goblin.geo.json) — 3D আকৃতি (Blockbench থেকে)।
  • Texture (textures/entity/goblin.png) — গায়ের রং।
  • .lang — মবের নাম দেখানোর জন্য।

ধাপ ১: BP entity (লজিক)

behavior_pack/entities/goblin.json
1{
2 "format_version": "1.21.0",
3 "minecraft:entity": {
4 "description": {
5 "identifier": "myaddon:goblin",
6 "is_spawnable": true,
7 "is_summonable": true
8 },
9 "components": {
10 "minecraft:type_family": { "family": ["goblin", "monster"] },
11 "minecraft:health": { "value": 20, "max": 20 },
12 "minecraft:movement": { "value": 0.25 },
13 "minecraft:navigation.walk": { "can_path_over_water": true },
14 "minecraft:movement.basic": {},
15 "minecraft:jump.static": {},
16 "minecraft:physics": {},
17 "minecraft:collision_box": { "width": 0.6, "height": 1.8 }
18 }
19 }
20}
  • L6is_spawnable: spawn egg দিয়ে বা প্রকৃতিতে জন্মাতে পারবে।
  • L7is_summonable: /summon কমান্ড দিয়ে আনা যাবে।
  • L11type_family: মবের 'গোত্র' — পরে অন্য মব একে চিনে আক্রমণ/এড়াতে পারে।
  • L12health: মোট জীবন (Player = 20)।
  • L13movement: হাঁটার গতি (Zombie ≈ 0.23)।
  • L17physics + collision_box ছাড়া মব মাটিতে দাঁড়াবে না বা ভেসে থাকবে।

ধাপ ২: RP client entity (চেহারা)

resource_pack/entity/goblin.json
1{
2 "format_version": "1.10.0",
3 "minecraft:client_entity": {
4 "description": {
5 "identifier": "myaddon:goblin",
6 "materials": { "default": "entity_alphatest" },
7 "textures": { "default": "textures/entity/goblin" },
8 "geometry": { "default": "geometry.goblin" },
9 "render_controllers": ["controller.render.default"]
10 }
11 }
12}
  • L5identifier: BP entity-র সাথে হুবহু এক হতে হবে — এটাই দুটোকে জোড়া লাগায়।
  • L7textures: .png path, এক্সটেনশন ছাড়া।
  • L8geometry: Module 2-এ দেখা .geo.json-এর identifier (geometry.goblin)।
  • L9render_controller: কীভাবে আঁকবে। default দিয়েই বেশিরভাগ কাজ চলে।

ধাপ ৩: গেমে আনো

text
1/summon myaddon:goblin
  • L1তোমার সামনে goblin জন্মাবে। .lang-এ entity.myaddon:goblin.name=Goblin দিলে নামও দেখাবে।