Zefram
2014-08-14 6cc471e986c694298716c257528c653395bd757d
technic/init.lua
@@ -1,51 +1,53 @@
-- Minetest 0.4.6 mod: technic
-- Minetest 0.4.7 mod: technic
-- namespace: technic
-- (c) 2012-2013 by RealBadAngel <mk@realbadangel.pl>
technic = {}
technic = technic or {}
local modpath = minetest.get_modpath("technic")
technic.modpath = modpath
technic.dprint = function(string)
   if technic.DBG == 1 then
      print(string)
   end
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
--Read technic config file
local load_start = os.clock()
local modpath = minetest.get_modpath("technic")
technic.modpath = modpath
-- Boilerplate to support intllib
if intllib then
   technic.getter = intllib.Getter()
else
   technic.getter = function(s) return s 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")
-- Craft recipes for items
dofile(modpath.."/crafts.lua")
-- Register functions
dofile(modpath.."/register_machine_and_tool.lua")
dofile(modpath.."/register.lua")
-- Machines
dofile(modpath.."/machines/init.lua")
function has_locked_chest_privilege(meta, player)
   if player:get_player_name() ~= meta:get_string("owner") then
      return false
   end
   return true
-- Tools
dofile(modpath.."/tools/init.lua")
-- 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
-- Swap nodes out. Return the node name.
function hacky_swap_node(pos,name)
   local node = minetest.env:get_node(pos)
   if node.name ~= name then
      local meta = minetest.env:get_meta(pos)
      local meta0 = meta:to_table()
      node.name = name
      minetest.env:set_node(pos,node)
      meta = minetest.env:get_meta(pos)
      meta:from_table(meta0)
   end
   return node.name
end