🧱Bedrock Academy

Components, component_groups ও events

মবের বৈশিষ্ট্য বদলানো, আর 'বড় হওয়া' / 'রেগে যাওয়া'-র মতো অবস্থা component_group + event দিয়ে নিয়ন্ত্রণ।

⏱ ~18 মিনিট

মবের সব স্থায়ী বৈশিষ্ট্য থাকে components-এ। কিন্তু অনেক সময় মবকে 'অবস্থা বদলাতে' হয় — বাচ্চা থেকে বড়, শান্ত থেকে রাগী। এর জন্য আছে component_groups আর events

component_group কী?

এটা component-এর একটা নামকরা প্যাকেট, যা গেম চলাকালীন চালু/বন্ধ করা যায়। যেমন একটা "angry" group-এ বেশি speed ও damage রাখলে, মব রেগে গেলে শুধু সেই group চালু করলেই হলো।

behavior_pack/entities/goblin.json (অংশ)
1"component_groups": {
2 "myaddon:baby": {
3 "minecraft:scale": { "value": 0.5 },
4 "minecraft:health": { "value": 10, "max": 10 }
5 },
6 "myaddon:angry": {
7 "minecraft:movement": { "value": 0.35 }
8 }
9},
10"events": {
11 "myaddon:grow_up": {
12 "remove": { "component_groups": ["myaddon:baby"] }
13 },
14 "myaddon:make_angry": {
15 "add": { "component_groups": ["myaddon:angry"] }
16 }
17}
  • L2একটা group: ছোট আকার + কম health (baby version)।
  • L11event: একটা ট্রিগার যা group add/remove করে।
  • L12grow_up চালালে baby group সরে যাবে → মব বড় হয়ে যাবে।
  • L15make_angry চালালে angry group যোগ হবে → মব দ্রুত হবে।

event কীভাবে ট্রিগার হয়?

  • অন্য component থেকে (যেমন minecraft:timer সময় শেষে event চালায়)।
  • ইন্টার‍্যাকশন থেকে (minecraft:interact — প্লেয়ার ডান-ক্লিক করলে)।
  • Script API থেকে (entity.triggerEvent("myaddon:make_angry")) — Module 7-এ।
  • কমান্ড থেকে টেস্ট: /event entity @e[type=myaddon:goblin] myaddon:make_angry