]> git.lizzy.rs Git - skycraft.git/blobdiff - init.lua
Fixed Spawner Duplication bug
[skycraft.git] / init.lua
index 886f41311767abc248de78cb962c82320a4cee2a..ee2cc7831e0a2a5cd7cb023ae07d8aad1079a7f1 100755 (executable)
--- a/init.lua
+++ b/init.lua
@@ -1,5 +1,7 @@
 skycraft = {}
 
+skycraft.modpath = minetest.get_modpath("skycraft")
+
 do
        local file = io.open(minetest.get_worldpath() .. "/skycraft", "r")
        if file then
@@ -10,43 +12,23 @@ do
        end
 end
 
-function skycraft.get_far_node(pos)
-       local node = minetest.get_node(pos)
-       if node.name ~= "ignore" then
-               return node
-       end
-       minetest.get_voxel_manip():read_from_map(pos, pos)
-       return minetest.get_node(pos)
-end
-
-function skycraft.find_free_position_near(pos)
-       local tries = {
-               {x =  1, y =  0, z =  0},
-               {x = -1, y =  0, z =  0},
-               {x =  0, y =  0, z =  1},
-               {x =  0, y =  0, z = -1},
-       }
-       for _, d in pairs(tries) do
-               local p = vector.add(pos, d)
-               if not minetest.registered_nodes[minetest.get_node(p).name].walkable then
-                       return p, true
-               end
-       end
-       return pos, false
-end
-
-minetest.register_privilege("skycraft", "Use Skycraft commands")
-
 minetest.register_on_shutdown(function()
        local file = io.open(minetest.get_worldpath() .. "/skycraft", "w")
        file:write(minetest.serialize(skycraft.savedata))
        file:close()
 end)
 
-do
-       local modpath = minetest.get_modpath("skycraft")
-       local modules = {"random", "commands", "ranks", "plots", "spawns", "map", "request", "tpa", "trade", "lobby", "money", "lucky_block", "nether_portal"}
-       for _, m in pairs(modules) do
-               dofile(modpath .. "/" .. m .. ".lua")
+minetest.register_privilege("skycraft", "Use Skycraft commands")
+
+local modules = minetest.deserialize(io.open(skycraft.modpath .. "/modules.txt", "r"):read())
+local function load_module(m)
+       for _, f in pairs(modules[m]) do
+               dofile(skycraft.modpath .. "/src/" .. m .. "/" .. f .. ".lua")
        end
 end
+load_module("common")
+load_module("main")
+minetest.register_on_mods_loaded(function()
+       load_module("onload")
+end)
+