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
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")
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")
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")
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
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] = {
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"},
}
})