From 1bfeeb890547e2fd12014dbeeb1272dedb605f5f Mon Sep 17 00:00:00 2001 From: Someone Date: Sun, 17 Mar 2019 00:47:49 +0100 Subject: [PATCH] 0.16.x -> 0.17.x transition helper mod --- License.txt | 19 ++++++++++++++ control.lua | 66 +++++++++++++++++++++++++++++++++++++++++++++++ data.lua | 16 ++++++++++++ info.json | 10 +++++++ locale/en/en.cfg | 10 +++++++ thumbnail.png | Bin 0 -> 29703 bytes 6 files changed, 121 insertions(+) create mode 100644 License.txt create mode 100644 control.lua create mode 100644 data.lua create mode 100644 info.json create mode 100644 locale/en/en.cfg create mode 100644 thumbnail.png diff --git a/License.txt b/License.txt new file mode 100644 index 0000000..ae7e15e --- /dev/null +++ b/License.txt @@ -0,0 +1,19 @@ +Copyright (c) 2018-2020 Someone + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/control.lua b/control.lua new file mode 100644 index 0000000..05b8a9d --- /dev/null +++ b/control.lua @@ -0,0 +1,66 @@ +function exec_command(player) + local f, err, cmd + cmd = player.gui.left.some_luaconsole.input.text:gsub('game%.player%.', 'game.players['..player.index..'].') + + f, err = loadstring(cmd) + if not f then + cmd = 'game.players['..player.index..'].print('..cmd..')' + f, err = loadstring(cmd) + end + + _, err = pcall(f) + if err then + player.print(cmd) + player.print(err:sub(1, err:find('\n'))) + end +end + + +function toggleGui (player) + if player.gui.left.some_luaconsole then + player.gui.left.some_luaconsole.destroy() + else + frame = player.gui.left.add{type = 'frame', + name = 'some_luaconsole', + direction = 'vertical', + caption = {'some_luaconsole.title'} + } + + frame.add{type = 'label', caption = {'some_luaconsole.inputlabel'}} + input = frame.add{type = 'text-box', + name = 'input', + style='some_luaconsole_input_textbox' + } + input.word_wrap = true + input.focus() + + horizontal_flow = frame.add{type='flow', direction='horizontal'} + horizontal_flow.add{type = 'button', + name = 'some_luaconsole_close', + style='back_button', + caption = {'some_luaconsole.close'}, + tooltip = {'some_luaconsole.close_tooltip'} + } + horizontal_flow.add{type = 'button', + name = 'some_luaconsole_exec', + style='confirm_button', + caption = {'some_luaconsole.exec'}, + tooltip = {'some_luaconsole.exec_tooltip'} + } + end +end + + + +script.on_event(defines.events.on_gui_click, function(event) + if event.element.name == 'some_luaconsole_exec' then + exec_command(game.players[event.player_index]) + elseif event.element.name == 'some_luaconsole_close' then + toggleGui(game.players[event.player_index]) + end +end) + + +script.on_event('some_luaconsole_toggle', function(event) + toggleGui(game.players[event.player_index]) +end) diff --git a/data.lua b/data.lua new file mode 100644 index 0000000..fbeeb84 --- /dev/null +++ b/data.lua @@ -0,0 +1,16 @@ +data.raw["gui-style"].default["some_luaconsole_input_textbox"] = { + type = "textbox_style", + name = "some_console_input_textbox", + parent = "textbox", + minimal_width = 500, + minimal_height = 60, +} + + +data:extend({ + { + type = "custom-input", + name = "some_luaconsole_toggle", + key_sequence = "SHIFT + RIGHTBRACKET" + }, +}) diff --git a/info.json b/info.json new file mode 100644 index 0000000..bdc7645 --- /dev/null +++ b/info.json @@ -0,0 +1,10 @@ +{ + "name": "some-luaconsole", + "version": "0.17.1", + "title": "Someone's LUA-Console", + "author": "someone1337", + "homepage": "https://git.somenet.org/pub/jan/factorio_some-luaconsole.git", + "description": "Run lua commands without losing achievements. By default opens with SHIFT + RIGHTBRACKET. Why? Because of the 0.16.x -> 0.17.x transition.", + "dependencies": ["base >= 0.17"], + "factorio_version": "0.17" +} diff --git a/locale/en/en.cfg b/locale/en/en.cfg new file mode 100644 index 0000000..6bbf547 --- /dev/null +++ b/locale/en/en.cfg @@ -0,0 +1,10 @@ +[some_luaconsole] +title=Someone's LUA-Console +inputlabel=Input to be executed +close=Close +close_tooltip=Close without executing input +exec=Execute input +exec_tooltip=Execute input tooltip + +[controls] +some_luaconsole_toggle=Toggle Someone's LUA-Console diff --git a/thumbnail.png b/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..c7e5f7ab62e4a34eb64a385ec78a0e8f94fc87bf GIT binary patch literal 29703 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

qWz-`|M%w&gaBiAV(*ix0RW_S9a7%#G-_=w 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 UJ>us<9^wg*l~j}{7c&g{A2E63c>n+a literal 0 HcmV?d00001 -- 2.43.0