From 493422fb1ba6a4634663b10b56dea8be87b8453c Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Wed, 3 Aug 2022 22:19:46 +0200 Subject: [PATCH] Fix minor issues --- basis/fly_lib.lua | 2 +- basis/node_store.lua | 4 +++- basis/nodedata_sqlite.lua | 11 ++++++----- doc/manual_DE.lua | 2 +- doc/manual_EN.lua | 2 +- init.lua | 5 ++++- manuals/manual_ta4_DE.md | 2 +- manuals/manual_ta4_EN.md | 2 +- power/power_line.lua | 1 + recipe_checker.lua | 3 +++ settingtypes.txt | 5 ++++- 11 files changed, 26 insertions(+), 13 deletions(-) diff --git a/basis/fly_lib.lua b/basis/fly_lib.lua index be1a137..c05d36a 100644 --- a/basis/fly_lib.lua +++ b/basis/fly_lib.lua @@ -336,7 +336,7 @@ local function entity_to_node(pos, obj) meta:set_string("ta_move_block", minetest.serialize({name=name, param2=param2})) return end - minetest.add_item(pos, ItemStack(name)) + --minetest.add_item(pos, ItemStack(name)) elseif ndef1 then minetest.add_item(pos, ItemStack(name)) end diff --git a/basis/node_store.lua b/basis/node_store.lua index ec5b7dc..dfa44f2 100644 --- a/basis/node_store.lua +++ b/basis/node_store.lua @@ -97,7 +97,9 @@ minetest.register_globalstep(function(dtime) SystemTime = SystemTime + dtime local key = pop() if key and NvmStore[key] then - --debug(key, NvmStore[key]) +-- minetest.log("warning", +-- string.format("[TA Storage] SystemTime = %.3f, #JobQueue = %d, in_use = %s", +-- SystemTime, last - first, NvmStore[key].in_use)) local t = minetest.get_us_time() if NvmStore[key].in_use then NvmStore[key].in_use = nil diff --git a/basis/nodedata_sqlite.lua b/basis/nodedata_sqlite.lua index e9e3f8c..e5c15b5 100644 --- a/basis/nodedata_sqlite.lua +++ b/basis/nodedata_sqlite.lua @@ -20,6 +20,7 @@ local M = minetest.get_meta ------------------------------------------------------------------- local MN = minetest.get_current_modname() local WP = minetest.get_worldpath() +local use_marshal = minetest.settings:get_bool('techage_use_marshal', false) local MAR_MAGIC = 0x8e if not techage.IE then @@ -55,7 +56,6 @@ local function set_block(key, data) set:bind(1, key) set:bind_blob(2, data) set:step() - return true end local function get_block(key) @@ -72,10 +72,11 @@ end local api = {} function api.store_mapblock_data(key, mapblock_data) - -- deactivated due to weird server crashes without error logs - --local s = marshal.encode(mapblock_data) - local s = minetest.serialize(mapblock_data) - return set_block(key, s) + if use_marshal then + set_block(key, marshal.encode(mapblock_data)) + else + set_block(key, minetest.serialize(mapblock_data)) + end end function api.get_mapblock_data(key) diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index 17eecb7..de9f2d1 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -1800,7 +1800,7 @@ techage.manual_DE.aText = { "Ein Teilchenbeschleuniger besteht aus einem \"Ring\" aus Röhren und Magneten sowie dem Detektor mit Kühlanlage. \n".. "\n".. " - Der Detektor ist das Herz der Anlage. Hier finden die wissenschaftlichen Experimente statt. Der Detektor ist 3x3x7 Blöcke groß.\n".. - " - Die TA4 Collider Detector Magnete (22 Stück) müssen über jeweils 5 Blöcken der TA4 Vakuumröhre miteinander verbunden werden. Jeder Magnet benötigt zusätzlich Strom und einen Gasanschluss für die Kühlung. Das ganze bildet (wie rechts im Plan abgebildet) ein Quadrat mit einer Kantenlänge von 37 Metern.\n".. + " - 22 TA4 Collider Magnete (nicht die TA4 Collider Detector Magnete!) müssen über jeweils 5 Blöcken der TA4 Vakuumröhre miteinander verbunden werden. Jeder Magnet benötigt zusätzlich Strom und einen Gasanschluss für die Kühlung. Das ganze bildet (wie rechts im Plan abgebildet) ein Quadrat mit einer Kantenlänge von 37 Metern.\n".. " - Zusätzlich wird eine Kühlung benötigt\\, welche zusätzlich beim Detektor aufgebaut werden muss. Für die Kühlung wird Isobutan benötigt.\n".. " - Die Anlage benötigt einiges an Strom. Daher ist eine eigene Stromversorgung sinnvoll.\n".. "\n".. diff --git a/doc/manual_EN.lua b/doc/manual_EN.lua index 4ec4352..52553da 100644 --- a/doc/manual_EN.lua +++ b/doc/manual_EN.lua @@ -1796,7 +1796,7 @@ techage.manual_EN.aText = { "A collider consists of a \"ring\" made of tubes and magnets as well as a detector with a cooling system.\n".. "\n".. " - The detector is the heart of the system. This is where the scientific experiments take place. The detector is 3x3x7 blocks in size.\n".. - " - The TA4 Collider Detector magnets (22 pieces) must be connected to each other via 5 blocks of the TA4 vacuum tube. Each magnet also requires electricity and a gas connection for cooling. The whole thing forms (as shown in the plan on the right) a square with an edge length of 37 meters.\n".. + " - 22 TA4 Collider Magnets (not the TA4 Collider Detector Magnets!) must be connected to each other via 5 blocks of the TA4 vacuum tube. Each magnet also requires electricity and a gas connection for cooling. The whole thing forms (as shown in the plan on the right) a square with an edge length of 37 meters.\n".. " - In addition\\, cooling is required\\, which must also be installed at the detector. Isobutane is required for cooling.\n".. " - The system requires quite a bit of electricity. Therefore\\, it makes sense to have your own power supply.\n".. "\n".. diff --git a/init.lua b/init.lua index 40d9d1f..4037477 100644 --- a/init.lua +++ b/init.lua @@ -56,6 +56,7 @@ techage.basalt_stone_enabled = minetest.settings:get_bool("techage_basalt_stone_ techage.ore_rarity = tonumber(minetest.settings:get("techage_ore_rarity")) or 1 techage.modified_recipes_enabled = minetest.settings:get_bool("techage_modified_recipes_enabled") ~= false techage.collider_min_depth = tonumber(minetest.settings:get("techage_collider_min_depth")) or -28 +techage.recipe_checker_enabled = minetest.settings:get_bool("techage_recipe_checker_enabled") ~= false -- allow to load marshal and sqlite3 techage.IE = minetest.request_insecure_environment() @@ -310,7 +311,9 @@ dofile(MP.."/move_controller/soundblock.lua") -- Test -dofile(MP.."/recipe_checker.lua") +if techage.recipe_checker_enabled then + dofile(MP.."/recipe_checker.lua") +end dofile(MP.."/.test/sink.lua") -- Solar diff --git a/manuals/manual_ta4_DE.md b/manuals/manual_ta4_DE.md index 3d5cde5..ea5ef7b 100644 --- a/manuals/manual_ta4_DE.md +++ b/manuals/manual_ta4_DE.md @@ -692,7 +692,7 @@ Pro Spieler kann nur ein Teilchenbeschleuniger betrieben werden. Es macht also k Ein Teilchenbeschleuniger besteht aus einem "Ring" aus Röhren und Magneten sowie dem Detektor mit Kühlanlage. - Der Detektor ist das Herz der Anlage. Hier finden die wissenschaftlichen Experimente statt. Der Detektor ist 3x3x7 Blöcke groß. -- Die TA4 Collider Detector Magnete (22 Stück) müssen über jeweils 5 Blöcken der TA4 Vakuumröhre miteinander verbunden werden. Jeder Magnet benötigt zusätzlich Strom und einen Gasanschluss für die Kühlung. Das ganze bildet (wie rechts im Plan abgebildet) ein Quadrat mit einer Kantenlänge von 37 Metern. +- 22 TA4 Collider Magnete (nicht die TA4 Collider Detector Magnete!) müssen über jeweils 5 Blöcken der TA4 Vakuumröhre miteinander verbunden werden. Jeder Magnet benötigt zusätzlich Strom und einen Gasanschluss für die Kühlung. Das ganze bildet (wie rechts im Plan abgebildet) ein Quadrat mit einer Kantenlänge von 37 Metern. - Zusätzlich wird eine Kühlung benötigt, welche zusätzlich beim Detektor aufgebaut werden muss. Für die Kühlung wird Isobutan benötigt. - Die Anlage benötigt einiges an Strom. Daher ist eine eigene Stromversorgung sinnvoll. diff --git a/manuals/manual_ta4_EN.md b/manuals/manual_ta4_EN.md index a82e4d0..a8ffd10 100644 --- a/manuals/manual_ta4_EN.md +++ b/manuals/manual_ta4_EN.md @@ -684,7 +684,7 @@ Only one collider can be operated per player. So it makes no sense to set up two A collider consists of a "ring" made of tubes and magnets as well as a detector with a cooling system. - The detector is the heart of the system. This is where the scientific experiments take place. The detector is 3x3x7 blocks in size. -- The TA4 Collider Detector magnets (22 pieces) must be connected to each other via 5 blocks of the TA4 vacuum tube. Each magnet also requires electricity and a gas connection for cooling. The whole thing forms (as shown in the plan on the right) a square with an edge length of 37 meters. +- 22 TA4 Collider Magnets (not the TA4 Collider Detector Magnets!) must be connected to each other via 5 blocks of the TA4 vacuum tube. Each magnet also requires electricity and a gas connection for cooling. The whole thing forms (as shown in the plan on the right) a square with an edge length of 37 meters. - In addition, cooling is required, which must also be installed at the detector. Isobutane is required for cooling. - The system requires quite a bit of electricity. Therefore, it makes sense to have your own power supply. diff --git a/power/power_line.lua b/power/power_line.lua index e5e5f2c..bd4fbf1 100644 --- a/power/power_line.lua +++ b/power/power_line.lua @@ -200,6 +200,7 @@ minetest.register_node("techage:power_pole2", { if not Cable:after_place_tube(pos, placer, pointed_thing) then minetest.chat_send_player(placer:get_player_name(), "invalid pole position ") minetest.remove_node(pos) + Cable:after_dig_node(pos) return true end return false diff --git a/recipe_checker.lua b/recipe_checker.lua index 93b83fe..aa81d50 100644 --- a/recipe_checker.lua +++ b/recipe_checker.lua @@ -3,6 +3,7 @@ -- local Recipes = {} + local function recipe_key(items) local tbl = {} for idx = 1,9 do @@ -34,3 +35,5 @@ minetest.after(1, function() end end end) + +print ("[techage] Recipe checker loaded") diff --git a/settingtypes.txt b/settingtypes.txt index b1219fd..088d48e 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -37,4 +37,7 @@ techage_collider_min_depth (Min. depth to build a TA4 Collider) int -30 # Average waiting time in minutes to get one Collider expoint. # Default value is 60, which means one point per hour. -techage_expoint_rate_in_min (average waiting time for one expoint) int 60 \ No newline at end of file +techage_expoint_rate_in_min (average waiting time for one expoint) int 60 + +# For testing purpuses only +techage_recipe_checker_enabled (test techage recipes) bool false \ No newline at end of file