Module 4-এ Guard Dog-এ কয়েকটা behavior.* ব্যবহার করেছিলে। এই লেসনে AI Goal সিস্টেমটা পুরো বুঝবে — কীভাবে একটা মব একসাথে অনেক কাজের মধ্যে বেছে নেয় কোনটা করবে।
AI Goal কী?
প্রতিটা minecraft:behavior.<কিছু> হলো একটা goal — একটা নির্দিষ্ট কাজ করার ইচ্ছা (হাঁটা, আক্রমণ, পালানো)। একটা মবে অনেক goal থাকতে পারে, কিন্তু এক সময়ে সাধারণত একটাই চলে।
priority — কে আগে?
প্রতিটা goal-এর একটা priority সংখ্যা থাকে। ছোট সংখ্যা = বেশি গুরুত্বপূর্ণ। গেম প্রতি মুহূর্তে priority 0 থেকে শুরু করে দেখে কোন goal-টা এখন চালানো সম্ভব — প্রথম যেটা পারে, সেটাই চালায়।
behavior_pack/entities/goblin.json (components অংশ)
1"minecraft:behavior.float": { "priority": 0 },ⓘ2"minecraft:behavior.melee_attack": { "priority": 2 },ⓘ3"minecraft:behavior.nearest_attackable_target": {ⓘ4"priority": 3,5"entity_types": [6{7"filters": {8"test": "is_family", "subject": "other", "value": "player"9},ⓘ10"max_dist": 1611}ⓘ12]13},14"minecraft:behavior.random_stroll": { "priority": 6 },15"minecraft:behavior.look_at_player": { "priority": 7 },ⓘ16"minecraft:behavior.random_look_around": { "priority": 8 }
- L1float priority 0 — সবার আগে: পানিতে পড়লে ডুববে না, ভেসে থাকবে।
- L2melee_attack: টার্গেট থাকলে কাছে গিয়ে আঘাত করে।
- L3nearest_attackable_target: কাকে শত্রু ধরবে তা ঠিক করে (এটা না থাকলে attack-এর টার্গেটই থাকবে না)।
- L9is_family 'player' → প্লেয়ারকে টার্গেট করবে (hostile মব)।
- L11max_dist: কত দূর থেকে শত্রু খেয়াল করবে।
- L15random_stroll priority 6 — কিছু না থাকলে এদিক-ওদিক হাঁটবে।
কিছু কাজের behavior goal
behavior.melee_attack— কাছে গিয়ে আঘাত।behavior.ranged_attack— দূর থেকে তীর/projectile ছোড়া।behavior.nearest_attackable_target— শত্রু নির্বাচন।behavior.follow_owner/behavior.follow_parent— অনুসরণ।behavior.panic— আঘাত পেলে ভয়ে পালানো।behavior.tempt— নির্দিষ্ট আইটেম দেখলে কাছে আসা (যেমন গাজরে শূকর)।behavior.trade_with_player— Villager-এর মতো লেনদেন।behavior.random_stroll,behavior.look_at_player— সাধারণ idle আচরণ।