From c8f0ba3db129257cf7fcaaa31d0496b8d469f8ff Mon Sep 17 00:00:00 2001 From: knoxfighter Date: Wed, 4 Mar 2020 01:55:59 +0100 Subject: [PATCH 1/3] react to script_raised_built events --- scripts/events.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/events.lua b/scripts/events.lua index 76a7da6..67dec56 100644 --- a/scripts/events.lua +++ b/scripts/events.lua @@ -247,6 +247,11 @@ local function on_robot_built_entity(event) global_util.register_entity(event.created_entity) end +-- Callback of the script_raised_built event, which is invoked when an entity is built by another mod. +local function on_script_raised_built(event) + global_util.register_entity(event.entity) +end + -- Returns whether the given entity is a member of the Creative Chest family (i.e. Creative Chest or Creative Provider Chest). local function is_entity_creative_chest_family(entity) -- Creative chest. @@ -533,6 +538,7 @@ local event_handlers_look_up = { [defines.events.on_put_item] = on_put_item, [defines.events.on_built_entity] = on_built_entity, [defines.events.on_robot_built_entity] = on_robot_built_entity, + [defines.events.script_raised_built] = on_script_raised_built, [defines.events.on_pre_player_mined_item] = on_preplayer_mined_item, [defines.events.on_marked_for_deconstruction] = on_marked_for_deconstruction, [defines.events.on_entity_settings_pasted] = on_entity_settings_pasted, From d6a5abe800752b4702b810305b6ab07781b595e1 Mon Sep 17 00:00:00 2001 From: knoxfighter Date: Wed, 11 Mar 2020 02:57:53 +0100 Subject: [PATCH 2/3] added script_raised_revive --- .gitignore | 2 ++ scripts/events.lua | 1 + 2 files changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 6fd0a37..313519e 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,5 @@ luac.out *.x86_64 *.hex +# Jetbrains IDE +.idea diff --git a/scripts/events.lua b/scripts/events.lua index 67dec56..8cfa503 100644 --- a/scripts/events.lua +++ b/scripts/events.lua @@ -539,6 +539,7 @@ local event_handlers_look_up = { [defines.events.on_built_entity] = on_built_entity, [defines.events.on_robot_built_entity] = on_robot_built_entity, [defines.events.script_raised_built] = on_script_raised_built, + [defines.events.script_raised_revive] = on_script_raised_built, [defines.events.on_pre_player_mined_item] = on_preplayer_mined_item, [defines.events.on_marked_for_deconstruction] = on_marked_for_deconstruction, [defines.events.on_entity_settings_pasted] = on_entity_settings_pasted, From dd487b2f811208f68a615f71f1deb1a0f3a1efb4 Mon Sep 17 00:00:00 2001 From: knoxfighter Date: Wed, 11 Mar 2020 03:21:20 +0100 Subject: [PATCH 3/3] added script_raised_destroy --- scripts/events.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/events.lua b/scripts/events.lua index 8cfa503..6e494eb 100644 --- a/scripts/events.lua +++ b/scripts/events.lua @@ -359,6 +359,12 @@ local function on_preplayer_mined_item(event) cheats.on_preplayer_mined_item(event.player_index, event.entity) end +-- Callback of the script_raised_destroy event, which is invoked by other mods, when they are destroying entities or calling it with `script.raise_event()` +local function on_script_raised_destroy(event) + -- Clear inventory if needed. + clear_inventory_before_mined_if_needed(event.entity) +end + -- Callback of the on_marked_for_deconstruction event, which is invoked when an entity is marked for deconstruction. local function on_marked_for_deconstruction(event) -- Clear inventory if needed. @@ -541,6 +547,7 @@ local event_handlers_look_up = { [defines.events.script_raised_built] = on_script_raised_built, [defines.events.script_raised_revive] = on_script_raised_built, [defines.events.on_pre_player_mined_item] = on_preplayer_mined_item, + [defines.events.script_raised_destroy] = on_script_raised_destroy, [defines.events.on_marked_for_deconstruction] = on_marked_for_deconstruction, [defines.events.on_entity_settings_pasted] = on_entity_settings_pasted, [defines.events.on_player_created] = on_player_created,