I’m trying to implement a test observer. Its not registering for some reason, and I can’t figure out why. Here’s the test code for the observer:
`local ArmorBatteryObserver = class()
--Called first every time function ArmorBatteryObserver:initialize() -- list all the saved variables self._sv.entity = nil end
--Called once on creation function ArmorBatteryObserver:create(entity) self._sv.entity = entity end
--Always called. If restore, called after restore. function ArmorBatteryObserver:activate() self._entity = self._sv.entity self._battery_listener = radiant.events.listen(self._entity, 'stonehearth:combat:battery', self, self._on_battery) self._battery_listener = radiant.events.listen(self._entity, 'stonehearth:combat:entitykilled', self, self._on_battery) end
function ArmorBatteryObserver:_on_battery(e) r_entity.destroy_entity (e) end end
function ArmorBatteryObserver:destroy() if self._on_battery then self._on_battery:destroy() self._on_battery = nil end end
return ArmorBatteryObserver`
I have it set up so this observer is in an ai_pack like so:
`{ "type": "ai_pack", "observers" : "<mod_name>:observers:armor_battery_observer" ] }`
along with the mixin for base_human
and I also have the manifest set up with the proper alias’s and mixins:
{ "info" : { "name" : "<mod_name>", "version" : 2 }, "default_locale": "en", "client_init_script" : "file(<mod_name>_client)", "aliases" : { "ai_pack:<mod_name>" : "file(ai/packs/<mod_name>_ai_pack.json)", "armor:makeshift_stone_armor": "file(entities/armor/makeshift_stone_armor/makeshift_stone_armor.json)", "data:gm_index": "file(data/gm/gm_index.json)", "kingdoms:<mod_name>" : "file(data/<mod_name>_population.json)", "male": "file(entities/<mod_name>/male/male.json)", "female" : "file(entities/<mod_name>/female/female.json)", "footman:stone_sword_talisman" : "file(/entities/weapons/stone_sword/stone_sword_talisman.json)", "furniture:crude_stone_bed" : "file(entities/furniture/crude_stone_bed/crude_stone_bed.json)", "furniture:kingly_stone_bed" : "file(entities/furniture/kingly_stone_bed/kingly_stone_bed.json)", "furniture:luxurious_stone_bed" : "file(entities/furniture/luxurious_stone_bed/luxurious_stone_bed.json)", "furniture:pleasant_stone_bed" : "file(entities/furniture/pleasant_stone_bed/pleasant_stone_bed.json)", "jobs:index" : "file(jobs/index.json)", "jobs:blacksmith" : "file(jobs/blacksmith/b_blacksmith_description.json)", "jobs:carpenter" : "file(jobs/carpenter/b_carpenter_description.json)", "jobs:cook" : "file(jobs/cook/b_cook_description.json)", "jobs:farmer" : "file(jobs/farmer/b_farmer_description.json)", "jobs:footman" : "file(jobs/footman/b_footman_description.json)", "jobs:herbalist" : "file(jobs/herbalist/b_herbalist_description.json)", "jobs:mason" : "file(jobs/mason/b_mason_description.json)", "jobs:potter" : "file(jobs/potter/b_potter_description.json)", "jobs:shepherd" : "file(jobs/shepherd/b_shepherd_description.json)", "jobs:trapper" : "file(jobs/trapper/b_trapper_description.json)", "jobs:weaver" : "file(jobs/weaver/b_weaver_description.json)", "jobs:worker" : "file(jobs/worker/b_worker_description.json)", "b_camp_standard": "file(entities/gizmos/b_camp_standard)", "b_camp_standard_ghost": "file(entities/gizmos/b_camp_standard/b_camp_standard_ghost.json)", "skeletons:humanoid:male": "file(data/rigs/bastioneer/bastioneer.json)", "skeletons:humanoid:female": "file(data/rigs/bastioneer/bastioneer.json)", "weapons:stone_sword": "file(entities/weapons/stone_sword/stone_sword.json)", "worker:outfit:2": "file(jobs/worker/worker_outfit_2)" }, "mixintos" : { "stonehearth:playable_kingdom_index" : "file(data/b_playable_kingdom_index.json)", "stonehearth:data:gm_index" : "<mod_name>:data:gm_index", "stonehearth:farmer:initial_crops" : "file(data/b_initial_crops.json)", "stonehearth:mixins:base_human": "file(data/mixins/base_human.json)" }, "controllers" : { "observers:armor_battery_observer" : "file(ai/observers/armor_battery_observer.lua)" } }
assuming no typos, what am I missing here?