From a08ba2bb93d7683b619a0e6b0bf00e3afd614ae4 Mon Sep 17 00:00:00 2001 From: cx384 <cx384@proton.me> Date: Mon, 22 Jan 2024 18:27:54 +0100 Subject: [PATCH] Get rid of deprecated metadata (#628) --- technic/init.lua | 122 +++++++++++++++++----------------------- 1 files changed, 52 insertions(+), 70 deletions(-) diff --git a/technic/init.lua b/technic/init.lua index e57c7a2..7669faf 100644 --- a/technic/init.lua +++ b/technic/init.lua @@ -1,85 +1,67 @@ --- Minetest 0.4.6 : technic +-- namespace: technic +-- (c) 2012-2013 by RealBadAngel <mk@realbadangel.pl> -modpath=minetest.get_modpath("technic") +if not minetest.get_translator then + error("[technic] Your Minetest version is no longer supported." + .. " (version < 5.0.0)") +end ---Read technic config file +local load_start = os.clock() + +technic = rawget(_G, "technic") or {} +technic.creative_mode = minetest.settings:get_bool("creative_mode") + + +local modpath = minetest.get_modpath("technic") +technic.modpath = modpath + + +-- Boilerplate to support intllib +if rawget(_G, "intllib") then + technic.getter = intllib.Getter() +else + -- Intllib copypasta: TODO replace with the client-side translation API + technic.getter = function(s,a,...) + if a==nil then return s end + a={a,...} + return s:gsub("(@?)@(%(?)(%d+)(%)?)", function(e,o,n,c) + if e==""then + return a[tonumber(n)]..(o==""and c or"") + end + return "@"..o..n..c + end) + end +end +local S = technic.getter + +-- Read configuration file dofile(modpath.."/config.lua") ---helper functions + +-- Helper functions dofile(modpath.."/helpers.lua") --- chests -dofile(modpath.."/chest_commons.lua") -dofile(modpath.."/iron_chest.lua") -dofile(modpath.."/copper_chest.lua") -dofile(modpath.."/silver_chest.lua") -dofile(modpath.."/gold_chest.lua") -dofile(modpath.."/mithril_chest.lua") - ---items -dofile(modpath.."/concrete.lua") +-- Items dofile(modpath.."/items.lua") ---LV machines -dofile(modpath.."/wires.lua") -dofile(modpath.."/battery_box.lua") -dofile(modpath.."/alloy_furnaces_commons.lua") -dofile(modpath.."/alloy_furnace.lua") -dofile(modpath.."/solar_panel.lua") -dofile(modpath.."/geothermal.lua") -dofile(modpath.."/water_mill.lua") -dofile(modpath.."/electric_furnace.lua") -dofile(modpath.."/tool_workshop.lua") -dofile(modpath.."/music_player.lua") -dofile(modpath.."/generator.lua") -dofile(modpath.."/grinder.lua") +-- Craft recipes for items +dofile(modpath.."/crafts.lua") ---MV machines -dofile(modpath.."/wires_mv.lua") -dofile(modpath.."/battery_box_mv.lua") -dofile(modpath.."/solar_panel_mv.lua") -dofile(modpath.."/electric_furnace_mv.lua") -dofile(modpath.."/alloy_furnace_mv.lua") -dofile(modpath.."/forcefield.lua") +-- Register functions +dofile(modpath.."/register.lua") ---Tools -if enable_mining_drill==true then dofile(modpath.."/mining_drill.lua") end -if enable_mining_laser==true then dofile(modpath.."/mining_laser_mk1.lua") end -if enable_flashlight==true then dofile(modpath.."/flashlight.lua") end -dofile(modpath.."/cans.lua") -dofile(modpath.."/chainsaw.lua") -dofile(modpath.."/tree_tap.lua") -dofile(modpath.."/sonic_screwdriver.lua") +-- Radiation +dofile(modpath.."/radiation.lua") --- mesecons and tubes related -dofile(modpath.."/injector.lua") -dofile(modpath.."/node_breaker.lua") -dofile(modpath.."/deployer.lua") -dofile(modpath.."/constructor.lua") -dofile(modpath.."/frames.lua") +-- Machines +dofile(modpath.."/machines/init.lua") +-- Tools +dofile(modpath.."/tools/init.lua") -if enable_item_drop then dofile(modpath.."/item_drop.lua") end -if enable_item_pickup then dofile(modpath.."/item_pickup.lua") end +-- Aliases for legacy node/item names +dofile(modpath.."/legacy.lua") -function has_locked_chest_privilege(meta, player) - if player:get_player_name() ~= meta:get_string("owner") then - return false - end - return true +if minetest.settings:get_bool("log_mods") then + print(S("[Technic] Loaded in %f seconds"):format(os.clock() - load_start)) end - -function hacky_swap_node(pos,name) - local node = minetest.env:get_node(pos) - local meta = minetest.env:get_meta(pos) - local meta0 = meta:to_table() - if node.name == name then - return nil - end - node.name = name - local meta0 = meta:to_table() - minetest.env:set_node(pos,node) - meta = minetest.env:get_meta(pos) - meta:from_table(meta0) - return 1 -end -- Gitblit v1.8.0