From d5ff69d1d9efd683d852562af6cfddac5ac69879 Mon Sep 17 00:00:00 2001 From: Gábriel <38207624+gabriel1379@users.noreply.github.com> Date: Mon, 25 Mar 2024 19:45:57 +0100 Subject: [PATCH] Add Everness sandstone compressor recipes (#634) --- technic/init.lua | 120 +++++++++++++++++++++++++----------------------------------- 1 files changed, 50 insertions(+), 70 deletions(-) diff --git a/technic/init.lua b/technic/init.lua index 2248295..7669faf 100644 --- a/technic/init.lua +++ b/technic/init.lua @@ -1,87 +1,67 @@ --- Minetest 0.4.6 mod: technic -- namespace: technic -- (c) 2012-2013 by RealBadAngel <mk@realbadangel.pl> -technic = {} +if not minetest.get_translator then + error("[technic] Your Minetest version is no longer supported." + .. " (version < 5.0.0)") +end -modpath=minetest.get_modpath("technic") +local load_start = os.clock() ---Read technic config file +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") ---items +-- 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.."/solar_array_lv.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") -dofile(modpath.."/cnc.lua") -dofile(modpath.."/cnc_api.lua") -dofile(modpath.."/cnc_nodes.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_array_mv.lua") -dofile(modpath.."/down_converter_mv.lua") -dofile(modpath.."/electric_furnace_mv.lua") -dofile(modpath.."/alloy_furnace_mv.lua") -dofile(modpath.."/forcefield.lua") +-- Register functions +dofile(modpath.."/register.lua") ---HV machines -dofile(modpath.."/wires_hv.lua") -dofile(modpath.."/battery_box_hv.lua") -dofile(modpath.."/solar_array_hv.lua") -dofile(modpath.."/down_converter_hv.lua") +-- Radiation +dofile(modpath.."/radiation.lua") ---Tools -if technic.config:getBool("enable_mining_drill") then dofile(modpath.."/mining_drill.lua") end -if technic.config:getBool("enable_mining_laser") then dofile(modpath.."/mining_laser_mk1.lua") end -if technic.config:getBool("enable_flashlight") then dofile(modpath.."/flashlight.lua") end -dofile(modpath.."/cans.lua") -dofile(modpath.."/chainsaw.lua") -dofile(modpath.."/tree_tap.lua") -dofile(modpath.."/sonic_screwdriver.lua") +-- Machines +dofile(modpath.."/machines/init.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") +-- Tools +dofile(modpath.."/tools/init.lua") -function has_locked_chest_privilege(meta, player) - if player:get_player_name() ~= meta:get_string("owner") then - return false - end - return true +-- Aliases for legacy node/item names +dofile(modpath.."/legacy.lua") + +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