From 137695ea67cf7096311c893de7cf139e6307b26b Mon Sep 17 00:00:00 2001
From: Tim <t4im@users.noreply.github.com>
Date: Mon, 16 Mar 2015 23:58:41 +0100
Subject: [PATCH] allow activation/deactivation of frames/templates by config

---
 technic/init.lua |   98 +++++++++++++++++++-----------------------------
 1 files changed, 39 insertions(+), 59 deletions(-)

diff --git a/technic/init.lua b/technic/init.lua
index 58e0488..25361af 100644
--- a/technic/init.lua
+++ b/technic/init.lua
@@ -1,74 +1,54 @@
--- Minetest 0.4.6 mod: technic
+-- Minetest 0.4.7 mod: technic
 -- namespace: technic
 -- (c) 2012-2013 by RealBadAngel <mk@realbadangel.pl>
 
-modpath=minetest.get_modpath("technic")
+technic = rawget(_G, "technic") or {}
+technic.creative_mode = minetest.setting_getbool("creative_mode")
 
---Read technic config file
+technic.tube_inject_item = pipeworks.tube_inject_item or function (pos, start_pos, velocity, item)
+	local tubed = pipeworks.tube_item(vector.new(pos), item)
+	tubed:get_luaentity().start_pos = vector.new(start_pos)
+	tubed:setvelocity(velocity)
+	tubed:setacceleration(vector.new(0, 0, 0))
+end
+
+local load_start = os.clock()
+local modpath = minetest.get_modpath("technic")
+technic.modpath = modpath
+
+-- Boilerplate to support intllib
+if minetest.get_modpath("intllib") then
+	technic.getter = intllib.Getter()
+else
+	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"")else return"@"..o..n..c end 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.."/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")
+-- 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.setting_getbool("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