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 দিলে নামও দেখাবে।