From 355953dc666834b5a59a127c41c21b95eb20fb4f Mon Sep 17 00:00:00 2001 From: oof2win2 Date: Sat, 14 Aug 2021 14:08:52 +0000 Subject: [PATCH 1/5] :sparkles: Button to toggle fast decon mode --- modules/addons/tree-decon.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/addons/tree-decon.lua b/modules/addons/tree-decon.lua index 29e13707..ad5bc233 100644 --- a/modules/addons/tree-decon.lua +++ b/modules/addons/tree-decon.lua @@ -4,6 +4,7 @@ local Event = require 'utils.event' --- @dep utils.event local Global = require 'utils.global' --- @dep utils.global local Roles = require 'expcore.roles' --- @dep expcore.roles +local PlayerData = require 'expcore.player_data' --- @dep expcore.player_data -- Global queue used to store trees that need to be removed, also chache for player roles local chache = {} @@ -13,6 +14,22 @@ Global.register({ tree_queue, chache }, function(tbl) chache = tbl[2] end) + +-- Left menu button to toggle between fast decon and normal decon marking +local HasEnabledDecon = PlayerData.Settings:combine('HasEnabledDecon') +HasEnabledDecon:set_default(false) + +Gui.toolbar_button("entity/tree-01", {'tree-decon.main-tooltip'}, function (player) + return Roles.player_allowed(player, "fast-tree-decon") +end) +:on_click(function(player, element) + local status = HasEnabledDecon:get(player) + HasEnabledDecon:set(player, not status) + Gui.toolbar_button_style(element, not status) + player.print("Fast decon has been " .. (status and "disabled" or "enabled")) +end) + + -- Add trees to queue when marked, only allows simple entities and for players with role permission Event.add(defines.events.on_marked_for_deconstruction, function(event) -- Check which type of decon a player is allowed From 44b6f75c10b34ba355b5cee99bffd92322b72013 Mon Sep 17 00:00:00 2001 From: oof2win2 Date: Sat, 14 Aug 2021 14:12:33 +0000 Subject: [PATCH 2/5] :sparkles: Locale addition --- locale/en/gui.cfg | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/locale/en/gui.cfg b/locale/en/gui.cfg index aaec09be..13a1ceb6 100644 --- a/locale/en/gui.cfg +++ b/locale/en/gui.cfg @@ -169,4 +169,7 @@ data-settings=Settings data-statistics=Statistics data-required=Required data-misc=Miscellaneous -data-format=__1____2__ \ No newline at end of file +data-format=__1____2__ + +[tree-decon] +main-tooltip=Toggle fast tree decon \ No newline at end of file From 2315b47e4a87f5d648d34a9f9f02522ddad1c779 Mon Sep 17 00:00:00 2001 From: oof2win2 Date: Sat, 14 Aug 2021 14:14:44 +0000 Subject: [PATCH 3/5] :bug: Fixed undefined Gui --- modules/addons/tree-decon.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/addons/tree-decon.lua b/modules/addons/tree-decon.lua index ad5bc233..2865c256 100644 --- a/modules/addons/tree-decon.lua +++ b/modules/addons/tree-decon.lua @@ -4,6 +4,7 @@ local Event = require 'utils.event' --- @dep utils.event local Global = require 'utils.global' --- @dep utils.global local Roles = require 'expcore.roles' --- @dep expcore.roles +local Gui = require 'expcore.gui' --- @dep expcore.gui local PlayerData = require 'expcore.player_data' --- @dep expcore.player_data -- Global queue used to store trees that need to be removed, also chache for player roles From 26f3dfc0386a10278a404b896b29e37589ccc61b Mon Sep 17 00:00:00 2001 From: oof2win2 Date: Sat, 14 Aug 2021 16:41:24 +0000 Subject: [PATCH 4/5] :wrench: Text to locale --- locale/en/gui.cfg | 5 ++++- modules/addons/tree-decon.lua | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/locale/en/gui.cfg b/locale/en/gui.cfg index 13a1ceb6..39f77693 100644 --- a/locale/en/gui.cfg +++ b/locale/en/gui.cfg @@ -172,4 +172,7 @@ data-misc=Miscellaneous data-format=__1____2__ [tree-decon] -main-tooltip=Toggle fast tree decon \ No newline at end of file +main-tooltip=Toggle fast tree decon +enabled=enabled +disabled=disabled +toggle-msg=Fast decon has been \ No newline at end of file diff --git a/modules/addons/tree-decon.lua b/modules/addons/tree-decon.lua index 2865c256..2c2381f7 100644 --- a/modules/addons/tree-decon.lua +++ b/modules/addons/tree-decon.lua @@ -27,7 +27,7 @@ end) local status = HasEnabledDecon:get(player) HasEnabledDecon:set(player, not status) Gui.toolbar_button_style(element, not status) - player.print("Fast decon has been " .. (status and "disabled" or "enabled")) + player.print({'tree-decon.toggle-msg'} .. " " .. (status and {'tree-decon.disabled'} or {'tree-decon.enabled'})) end) From 5b5c6f4061dd852e6ecdb1caa4fb8601cc3d7c3d Mon Sep 17 00:00:00 2001 From: oof2win2 Date: Sat, 14 Aug 2021 17:01:45 +0000 Subject: [PATCH 5/5] :bug: another locale fix --- locale/en/gui.cfg | 2 +- modules/addons/tree-decon.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/locale/en/gui.cfg b/locale/en/gui.cfg index 39f77693..3981a48e 100644 --- a/locale/en/gui.cfg +++ b/locale/en/gui.cfg @@ -175,4 +175,4 @@ data-format=__1____2__ main-tooltip=Toggle fast tree decon enabled=enabled disabled=disabled -toggle-msg=Fast decon has been \ No newline at end of file +toggle-msg=Fast decon has been __1__ \ No newline at end of file diff --git a/modules/addons/tree-decon.lua b/modules/addons/tree-decon.lua index 2c2381f7..075d0dfb 100644 --- a/modules/addons/tree-decon.lua +++ b/modules/addons/tree-decon.lua @@ -27,7 +27,7 @@ end) local status = HasEnabledDecon:get(player) HasEnabledDecon:set(player, not status) Gui.toolbar_button_style(element, not status) - player.print({'tree-decon.toggle-msg'} .. " " .. (status and {'tree-decon.disabled'} or {'tree-decon.enabled'})) + player.print(status and {'tree-decon.toggle-msg', {'tree-decon.disabled'}} or {'tree-decon.toggle-msg', {'tree-decon.enabled'}}) end)