]> git.lizzy.rs Git - elidragon.git/blobdiff - skyblock.lua
Added Developer Rank
[elidragon.git] / skyblock.lua
old mode 100644 (file)
new mode 100755 (executable)
index 2ce5fd2..e190bda
@@ -50,6 +50,21 @@ function elidragon.skyblock.load_legacy_start_positions()
        end
 end
 
+function elidragon.skyblock.load_start_positions()
+       local file = io.open(minetest.get_worldpath() .. "/start_positions", "r")
+       if file then
+               local start_positions = minetest.deserialize(file:read())
+               file:close()
+               return start_positions
+       end
+end
+
+function elidragon.skyblock.save_start_positions(start_positions)
+       local file = io.open(minetest.get_worldpath() .. "/start_positions", "w")
+       file:write(minetest.serialize(start_positions))
+       file:close()
+end
+
 function elidragon.skyblock.generate_start_positions()
        local start_positions = {}
        for _, v in ripairs(spiralt(1000)) do
@@ -59,7 +74,12 @@ function elidragon.skyblock.generate_start_positions()
        return start_positions
 end
 
-elidragon.start_positions = elidragon.skyblock.load_legacy_start_positions() or elidragon.skyblock.generate_start_positions()
+elidragon.skyblock.start_positions = elidragon.skyblock.load_start_positions() 
+
+if not elidragon.skyblock.start_positions then
+       elidragon.skyblock.start_positions = elidragon.skyblock.load_legacy_start_positions() or elidragon.skyblock.generate_start_positions()
+       elidragon.skyblock.save_start_positions(elidragon.skyblock.start_positions)
+end
 
 function elidragon.skyblock.load_legacy_last_start_id()
        local file = io.open(minetest.get_worldpath() .. "/skyblock.last_start_id", "r")
@@ -93,7 +113,7 @@ function elidragon.skyblock.new_spawn(name)
        local spawn
        repeat
                elidragon.savedata.last_start_id = elidragon.savedata.last_start_id + 1
-               spawn = elidragon.start_positions[elidragon.savedata.last_start_id] 
+               spawn = elidragon.skyblock.start_positions[elidragon.savedata.last_start_id] 
        until not minetest.is_protected(spawn, name)
        elidragon.skyblock.set_spawn(name, spawn)       
        local file = io.open(minetest.get_modpath("elidragon") .. "/schems/island.we", "r")
@@ -151,7 +171,7 @@ minetest.register_node("elidragon:skyblock", {
        tiles = {"elidragon_quest.png"},
        paramtype = "light",
        light_source = 14,
-       groups = {crumbly=2,cracky=2},
+       groups = {crumbly=2, cracky=2},
 })
 
 minetest.register_alias("skyblock:quest", "elidragon:skyblock")
@@ -207,14 +227,24 @@ minetest.after(0, function()
                        node = "default:stone_with_mese"
                elseif math.random() < 0.01 then
                        node = "default:stone_with_gold"
+               elseif math.random() < 0.01 then
+                       node = "technic:mineral_chromium"
+               elseif math.random() < 0.01 then
+                       node = "technic:mineral_zinc"
+               elseif math.random() < 0.012 then
+                       node = "technic:mineral_uranium"
                elseif math.random() < 0.015 then
                        node = "default:stone_with_tin"
                elseif math.random() < 0.02 then
                        node = "default:stone_with_copper"
+               elseif math.random() < 0.025 then
+                       node = "technic:mineral_sulfur"
                elseif math.random() < 0.033 then
                        node = "default:stone_with_iron"
                elseif math.random() < 0.04 then
                        node = "moreores:mineral_silver"
+               elseif math.random() < 0.045 then
+                       node = "technic:mineral_lead"
                elseif math.random() < 0.05 then
                        node = "default:stone_with_coal"
                else
@@ -230,7 +260,7 @@ end)
 minetest.after(0, function()
        minetest.register_alias("default:pine_leaves", "default:pine_needles")
        minetest.register_alias("default:pine_bush_leaves", "default:pine_bush_needles")
-       local trees = {"default:", "default:jungle", "default:pine_", "default:acacia_", "default:aspen_", "default:bush_", "default:blueberry_bush_", "default:acacia_bush_", "default:pine_bush_",}
+       local trees = {"default:", "default:jungle", "default:pine_", "default:acacia_", "default:aspen_", "default:bush_", "default:blueberry_bush_", "default:acacia_bush_", "default:pine_bush_", "moretrees:apple_tree_", "moretrees:beech_", "moretrees:cedar_", "moretrees:date_palm_", "moretrees:fir_", "moretrees:oak_", "moretrees:palm_", "moretrees:poplar_", "moretrees:sequoia_", "moretrees:spruce_", "moretrees:willow_", }
        for _, tree in pairs(trees) do
                local items = {}
                items[#items + 1] = {
@@ -281,8 +311,9 @@ minetest.register_craft({
 minetest.register_craft({
        output = "default:desert_stone",
        recipe = {
-               {"default:desert_sand", "default:desert_sand"},
-               {"default:desert_sand", "default:desert_sand"},
+               {"default:desert_sand", "default:desert_sand", "default:desert_sand"},
+               {"default:desert_sand", "default:desert_sand", "default:desert_sand"},
+               {"default:desert_sand", "default:desert_sand", "default:desert_sand"},
        }
 })