From 2a1a5c952bc4a3f0746c84e4c3df58ecdc5b5004 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Fri, 26 Jun 2026 07:15:31 +0900 Subject: [PATCH] home add quick action (#436) * Update home.lua * Update quick_actions.lua --------- Co-authored-by: Cooldude2606 <25043174+Cooldude2606@users.noreply.github.com> --- exp_scenario/module/commands/home.lua | 16 +++++++++++----- exp_scenario/module/gui/quick_actions.lua | 5 +++++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/exp_scenario/module/commands/home.lua b/exp_scenario/module/commands/home.lua index ebf9e0d8..42ca6538 100644 --- a/exp_scenario/module/commands/home.lua +++ b/exp_scenario/module/commands/home.lua @@ -4,10 +4,12 @@ Adds a command that allows setting and teleporting to your home position local ExpUtil = require("modules/exp_util") local teleport = ExpUtil.teleport_player - local Commands = require("modules/exp_commands") local Storage = require("modules/exp_util/storage") +--- @class ExpCommand_Home.commands +local commands = {} + --- @type table> local homes = {} -- homes[player_index][surface_index] = { home_pos, return_pos } Storage.register(homes, function(tbl) @@ -28,7 +30,8 @@ local function align_to_grid(position) end --- Teleports you to your home location on the current surface -Commands.new("home", { "exp-commands_home.description-home" }) +--- @class ExpCommand_Home.commands.home: ExpCommand +commands.home = Commands.new("home", { "exp-commands_home.description-home" }) :add_flags{ "character_only" } :register(function(player) local surface = player.surface @@ -50,7 +53,8 @@ Commands.new("home", { "exp-commands_home.description-home" }) end) --- Teleports you to your previous location on the current surface -Commands.new("return", { "exp-commands_home.description-return" }) +--- @class ExpCommand_Home.commands._return: ExpCommand +commands._return = Commands.new("return", { "exp-commands_home.description-return" }) :add_flags{ "character_only" } :register(function(player) local surface = player.surface @@ -72,7 +76,8 @@ Commands.new("return", { "exp-commands_home.description-return" }) end) --- Sets your home location on your current surface to your current position -Commands.new("set-home", { "exp-commands_home.description-set" }) +--- @class ExpCommand_Home.commands.set_home: ExpCommand +commands.set_home = Commands.new("set-home", { "exp-commands_home.description-set" }) :add_flags{ "character_only" } :register(function(player) local home_position, floor_position = align_to_grid(player.position) @@ -97,7 +102,8 @@ Commands.new("set-home", { "exp-commands_home.description-set" }) end) --- Gets your home location on your current surface, is allowed in remote view -Commands.new("get-home", { "exp-commands_home.description-get" }) +--- @class ExpCommand_Home.commands.get_home: ExpCommand +commands.get_home = Commands.new("get-home", { "exp-commands_home.description-get" }) :register(function(player) local surface = player.surface diff --git a/exp_scenario/module/gui/quick_actions.lua b/exp_scenario/module/gui/quick_actions.lua index 28c82117..1a25af12 100644 --- a/exp_scenario/module/gui/quick_actions.lua +++ b/exp_scenario/module/gui/quick_actions.lua @@ -11,6 +11,7 @@ local addon_research = require("modules/exp_scenario/commands/research") local addon_trains = require("modules/exp_scenario/commands/trains") local addon_teleport = require("modules/exp_scenario/commands/teleport") local addon_waterfill = require("modules/exp_scenario/commands/waterfill") +local addon_home = require("modules/exp_scenario/commands/home") local addon_vlayer = require("modules/exp_scenario/commands/vlayer") --- @class ExpGui_QuickActions.elements @@ -52,6 +53,10 @@ new_quick_action("spawn", addon_teleport.commands.spawn, function(def, player, e end) new_quick_action("waterfill", addon_waterfill.commands.waterfill) +new_quick_action("home", addon_home.commands.home) +new_quick_action("return", addon_home.commands._return) +new_quick_action("set-home", addon_home.commands.set_home) +new_quick_action("get-home", addon_home.commands.get_home) new_quick_action("vlayer", addon_vlayer.commands.vlayer) --- Container added to the left gui flow