diff --git a/collider/terminal.lua b/collider/terminal.lua deleted file mode 100644 index 6ef6dd5..0000000 --- a/collider/terminal.lua +++ /dev/null @@ -1,208 +0,0 @@ ---[[ - - Techage - ======= - - Copyright (C) 2020-2021 Joachim Stolberg - - AGPL v3 - See LICENSE.txt for more information - - TA4 Terminal - -]]-- - -local M = minetest.get_meta -local S = techage.S - -local STR_LEN = 80 -local HELP = [[#### TA4 Terminal #### - -Send commands to the connected machine -and output text messages from the -machine. - -Commands can have up to 80 characters. -Local commands: -- clear = clear screen -- help = this message -- pub = switch to public use -- priv = switch to private use -- connect = connect the machine - -All other commands are machine dependent. -]] - -local function get_string(meta, num, default) - local s = meta:get_string("bttn_text"..num) - if not s or s == "" then - return default - end - return s -end - -local function formspec2(mem) - mem.command = mem.command or "" - mem.output = mem.output or "" - local output = minetest.formspec_escape(mem.output) - output = output:gsub("\n", ",") - local command = minetest.formspec_escape(mem.command) - local bttn_text1 = get_string(meta, 1, "User1") - local bttn_text2 = get_string(meta, 2, "User2") - local bttn_text3 = get_string(meta, 3, "User3") - local bttn_text4 = get_string(meta, 4, "User4") - local bttn_text5 = get_string(meta, 5, "User5") - local bttn_text6 = get_string(meta, 6, "User6") - local bttn_text7 = get_string(meta, 7, "User7") - local bttn_text8 = get_string(meta, 8, "User8") - local bttn_text9 = get_string(meta, 9, "User9") - return "size[10,8]".. - "style_type[table,field;font=mono]".. - "button[0,0;3.3,1;bttn1;"..bttn_text1.."]button[3.3,0;3.3,1;bttn2;"..bttn_text2.."]button[6.6,0;3.3,1;bttn3;"..bttn_text3.."]".. - "button[0,0.8;3.3,1;bttn4;"..bttn_text4.."]button[3.3,0.8;3.3,1;bttn5;"..bttn_text5.."]button[6.6,0.8;3.3,1;bttn6;"..bttn_text6.."]".. - "button[0,1.6;3.3,1;bttn7;"..bttn_text7.."]button[3.3,1.6;3.3,1;bttn8;"..bttn_text8.."]button[6.6,1.6;3.3,1;bttn9;"..bttn_text9.."]".. - "table[0,2.5;9.8,4.7;output;"..output..";200]".. - "field[0.4,7.7;7.6,1;cmnd;;"..mem.command.."]" .. - "field_close_on_enter[cmnd;false]".. - "button[7.9,7.4;2,1;enter;"..S("Enter").."]" -end - -local function output(pos, text) - local mem = techage.get_mem(pos) - mem.output = mem.output .. "\n" .. (text or "") - mem.output = mem.output:sub(-500,-1) - M(pos):set_string("formspec", formspec2(mem)) -end - -local function command(pos, mem, player) - local meta = minetest.get_meta(pos) - local owner = meta:get_string("owner") - - if mem.command == "clear" then - mem.output = "" - mem.command = "" - meta:set_string("formspec", formspec2(mem)) - elseif mem.command == "" then - output(pos, ">") - mem.command = "" - meta:set_string("formspec", formspec2(mem)) - elseif mem.command == "help" then - local meta = minetest.get_meta(pos) - mem.output = HELP - mem.command = "" - meta:set_string("formspec", formspec2(mem)) - elseif mem.command == "pub" and owner == player then - meta:set_int("public", 1) - output(pos, "> "..mem.command) - mem.command = "" - output(pos, "Switched to public use!") - elseif mem.command == "priv" and owner == player then - meta:set_int("public", 0) - output(pos, "> "..mem.command) - mem.command = "" - output(pos, "Switched to private use!") - elseif meta:get_int("public") == 1 or owner == player then - if mem.command == "clear" then - mem.output = - mem.command = "" - meta:set_string("formspec", formspec2(mem)) - end - end -end - -minetest.register_node("techage:ta4_terminal", { - description = "TA4 Collider Terminal", - tiles = { - -- up, down, right, left, back, front - 'techage_terminal1_top.png', - 'techage_terminal1_bottom.png', - 'techage_terminal1_side.png', - 'techage_terminal1_side.png', - 'techage_terminal1_bottom.png', - "techage_terminal1_front.png", - }, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-12/32, -16/32, -8/32, 12/32, -14/32, 12/32}, - {-12/32, -14/32, 12/32, 12/32, 6/32, 14/32}, - }, - }, - selection_box = { - type = "fixed", - fixed = { - {-12/32, -16/32, -8/32, 12/32, -14/32, 12/32}, - {-12/32, -14/32, 12/32, 12/32, 6/32, 14/32}, - }, - }, - - after_place_node = function(pos, placer) - local number = techage.add_node(pos, minetest.get_node(pos).name) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", formspec1()) - meta:set_string("owner", placer:get_player_name()) - meta:set_string("infotext", S("TA4 Collider Terminal") .. ": " .. S("not connected") - end, - - on_receive_fields = function(pos, formname, fields, player) - local meta = minetest.get_meta(pos) - local mem = techage.get_mem(pos) - if fields.number and fields.number ~= "" then - local owner = meta:get_string("owner") - if techage.check_numbers(fields.number, owner) then - local own_number = meta:get_string("own_number") - if techage.send_single(own_number, fields.number, "connect") == true then - meta:set_string("number", fields.number) - meta:set_string("infotext", S("TA4 Collider Terminal") .. ": " .. S("connected with") .. " " .. fields.number) - meta:set_string("formspec", formspec2(mem)) - end - end - elseif (fields.enter or fields.key_enter_field) and fields.cmnd then - mem.command = string.sub(fields.cmnd, 1, STR_LEN) - command(pos, mem, player:get_player_name()) - elseif fields.key_up then - mem.command = pdp13.historybuffer_priv(pos) - meta:set_string("formspec", formspec2(mem)) - elseif fields.key_down then - mem.command = pdp13.historybuffer_next(pos) - meta:set_string("formspec", formspec2(mem)) - end - end, - - after_dig_node = function(pos, oldnode, oldmetadata) - techage.remove_node(pos, oldnode, oldmetadata) - end, - - paramtype = "light", - use_texture_alpha = techage.CLIP, - sunlight_propagates = true, - paramtype2 = "facedir", - groups = {choppy=2, cracky=2, crumbly=2}, - is_ground_content = false, - sounds = default.node_sound_metal_defaults(), -}) - -minetest.register_craft({ - output = "techage:ta4_terminal", - recipe = { - {"", "techage:ta4_display", ""}, - {"dye:black", "techage:ta4_wlanchip", "default:copper_ingot"}, - {"", "techage:aluminum", ""}, - }, -}) - -techage.register_node({"techage:ta4_terminal"}, { - on_recv_message = function(pos, src, topic, payload) - if topic == "term" then - output(pos, payload) - return true - elseif topic == "clear" then - local mem = techage.get_mem(pos) - mem.output = "" - mem.command = "" - M(pos):set_string("formspec", formspec2(mem)) - return true - end - end, -}) diff --git a/doc/items.lua b/doc/items.lua index b163cc8..9d85470 100644 --- a/doc/items.lua +++ b/doc/items.lua @@ -208,6 +208,7 @@ techage.Items = { techage_ta5 = "techage:ta5_fr_nucleus", ta5_flycontroller = "techage:ta5_flycontroller", ta5_aichip = "techage:ta5_aichip", + ta5_aichip2 = "techage:ta5_aichip2", ta5_tele_pipe = "techage:ta5_tele_pipe", ta5_tele_tube = "techage:ta5_tele_tube", ta5_chest = "techage:ta5_hl_chest", diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index 6a5aa61..5b06703 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -254,6 +254,7 @@ techage.manual_DE.aTitel = { "2,Weitere TA5 Blöcke/Items", "3,TA5 Container (geplant)", "3,TA5 KI Chip / TA5 AI Chip", + "3,TA5 KI Chip II / TA5 AI Chip II", } techage.manual_DE.aText = { @@ -2162,6 +2163,10 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", + "Der TA5 KI Chip II wird zur Herstellung des TA5 Fusionsreaktors benötigt. Der TA5 KI Chip II kann nur auf der TA4 Elektronik Fab hergestellt werden. Dazu werden 50 Erfahrungspunkte benötigt.\n".. + "\n".. + "\n".. + "\n", } techage.manual_DE.aItemName = { @@ -2418,6 +2423,7 @@ techage.manual_DE.aItemName = { "", "", "ta5_aichip", + "ta5_aichip2", } techage.manual_DE.aPlanTable = { @@ -2674,5 +2680,6 @@ techage.manual_DE.aPlanTable = { "", "", "", + "", } diff --git a/doc/manual_EN.lua b/doc/manual_EN.lua index 3c7ec0a..b10047a 100644 --- a/doc/manual_EN.lua +++ b/doc/manual_EN.lua @@ -254,6 +254,7 @@ techage.manual_EN.aTitel = { "2,More TA5 Blocks/Items", "3,TA5 Container (planned)", "3,TA5 AI Chip", + "3,TA5 AI Chip II", } techage.manual_EN.aText = { @@ -2166,6 +2167,10 @@ techage.manual_EN.aText = { "\n".. "\n".. "\n", + "The TA5 AI Chip II is required to build the TA5 Fusion Reactor. The TA5 AI Chip II can only be manufactured at the TA4 Electronics Fab. This requires 50 experience points.\n".. + "\n".. + "\n".. + "\n", } techage.manual_EN.aItemName = { @@ -2422,6 +2427,7 @@ techage.manual_EN.aItemName = { "", "", "ta5_aichip", + "ta5_aichip2", } techage.manual_EN.aPlanTable = { @@ -2678,5 +2684,6 @@ techage.manual_EN.aPlanTable = { "", "", "", + "", } diff --git a/manuals/manual_ta5_DE.md b/manuals/manual_ta5_DE.md index 29f1124..80bb36b 100644 --- a/manuals/manual_ta5_DE.md +++ b/manuals/manual_ta5_DE.md @@ -158,4 +158,10 @@ Für die Nutzung des TA5 Containers werden 80 Erfahrungspunkte benötigt. Der TA5 KI Chip wird teilweise zur Herstellung von TA5 Blöcken benötigt. Der TA5 KI Chip kann nur auf der TA4 Elektronik Fab hergestellt werden. Dazu werden 10 Erfahrungspunkte benötigt. -[ta5_aichip|image] \ No newline at end of file +[ta5_aichip|image] + +### TA5 KI Chip II / TA5 AI Chip II + +Der TA5 KI Chip II wird zur Herstellung des TA5 Fusionsreaktors benötigt. Der TA5 KI Chip II kann nur auf der TA4 Elektronik Fab hergestellt werden. Dazu werden 50 Erfahrungspunkte benötigt. + +[ta5_aichip2|image] \ No newline at end of file diff --git a/manuals/manual_ta5_EN.md b/manuals/manual_ta5_EN.md index fea4a84..83e0cad 100644 --- a/manuals/manual_ta5_EN.md +++ b/manuals/manual_ta5_EN.md @@ -158,4 +158,10 @@ The TA5 container allows Techage systems to be packed and unpacked at another lo The TA5 AI Chip is partly required for the production of TA5 blocks. The TA5 AI Chip can only be manufactured at the TA4 Electronics Fab. This requires 10 experience points. -[ta5_aichip|image] \ No newline at end of file +[ta5_aichip|image] + +### TA5 AI Chip II + +The TA5 AI Chip II is required to build the TA5 Fusion Reactor. The TA5 AI Chip II can only be manufactured at the TA4 Electronics Fab. This requires 50 experience points. + +[ta5_aichip2|image] diff --git a/manuals/toc_DE.md b/manuals/toc_DE.md index 075b6aa..808b9b3 100644 --- a/manuals/toc_DE.md +++ b/manuals/toc_DE.md @@ -252,4 +252,5 @@ - [Hyperloop Teleport Blöcke (geplant)](./manual_ta5_DE.md#hyperloop-teleport-blöcke-(geplant)) - [Weitere TA5 Blöcke/Items](./manual_ta5_DE.md#weitere-ta5-blöckeitems) - [TA5 Container (geplant)](./manual_ta5_DE.md#ta5-container-(geplant)) - - [TA5 KI Chip / TA5 AI Chip](./manual_ta5_DE.md#ta5-ki-chip--ta5-ai-chip) \ No newline at end of file + - [TA5 KI Chip / TA5 AI Chip](./manual_ta5_DE.md#ta5-ki-chip--ta5-ai-chip) + - [TA5 KI Chip II / TA5 AI Chip II](./manual_ta5_DE.md#ta5-ki-chip-ii--ta5-ai-chip-ii) \ No newline at end of file diff --git a/manuals/toc_EN.md b/manuals/toc_EN.md index 1e9d6d9..fc0e3a2 100644 --- a/manuals/toc_EN.md +++ b/manuals/toc_EN.md @@ -252,4 +252,5 @@ - [Hyperloop Teleport Blocks (planned)](./manual_ta5_EN.md#hyperloop-teleport-blocks-(planned)) - [More TA5 Blocks/Items](./manual_ta5_EN.md#more-ta5-blocksitems) - [TA5 Container (planned)](./manual_ta5_EN.md#ta5-container-(planned)) - - [TA5 AI Chip](./manual_ta5_EN.md#ta5-ai-chip) \ No newline at end of file + - [TA5 AI Chip](./manual_ta5_EN.md#ta5-ai-chip) + - [TA5 AI Chip II](./manual_ta5_EN.md#ta5-ai-chip-ii) \ No newline at end of file