elidragon = {}
-local modules = {"functions", "nodes", "commands", "ranks", "tags", "warps", "misc", "patches", "birthday", "skyblock"}
+local modules = {"functions", "nodes", "commands", "ranks", "tags", "warps", "misc", "birthday", "skyblock"}
local modpath = minetest.get_modpath("elidragon")
})
minetest.register_alias("elidragon_server:god_stick", "elidragon:stick")
+
+minetest.register_alias_force("default:sign_yard", "default:sign_wood_yard")
{"Olliy", "elidragon_olliy.png", "o"},
{"Skyblock", "elidragon_skyblock.png", "sky"},
{"Python", "default_rainforest_litter.png^elidragon_python.png", "py"},
+ {"Tux", "default_ice.png^elidragon_tux.png", "tux"},
}
for _, def in pairs(nodes) do
local name = "elidragon:" .. string.lower(def[1]):gsub("+", "p"):gsub(" ", "_")
+++ /dev/null
-minetest.register_alias_force("default:sign_yard", "default:sign_wood_yard")
-local old_is_protected = minetest.is_protected
-function minetest.is_protected(pos, player)
- if pos.y <= -7 then
- return true
- else
- return old_is_protected(pos, player)
- end
-end
-minetest.register_abm({
- nodenames = {"air"},
- neighbors = {"default:cloud"},
- interval = 1,
- chance = 1,
- action = function(pos, node, active_object_count, active_object_count_wider)
- if pos.y == -10 then
- minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "default:cloud"})
- end
- end
-})
end
function elidragon.skyblock.spawn_player(player)
+ if not player then return end
local name = player:get_player_name()
local spawn = elidragon.skyblock.get_spawn(name) or elidragon.skyblock.new_spawn(name)
player:set_pos({x = spawn.x + 2, y = spawn.y + 2, z = spawn.z + 2})
end
function elidragon.skyblock.new_spawn(name)
- elidragon.savedata.last_start_id = elidragon.savedata.last_start_id + 1
- local spawn = elidragon.start_positions[elidragon.savedata.last_start_id]
+ local spawn
+ repeat
+ elidragon.savedata.last_start_id = elidragon.savedata.last_start_id + 1
+ spawn = elidragon.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")
local schem = file:read()
-- remove legacy cloud layer
-minetest.register_abm({
- name = "Remove Cloud Layer",
+minetest.register_lbm({
nodenames = {"default:cloud"},
- interval = 1,
- chance = 1,
+ name = "elidragon:remove_cloud_layer",
action = function(pos)
if pos.y == -10 then
minetest.set_node(pos, { name = "air"})
end
})
+-- remove inventory from quest block
+
+minetest.register_lbm({
+ nodenames = {"elidragon:skyblock", "skyblock:quest"},
+ name = "elidragon:remove_inventory_from_quest_block",
+ action = function(pos)
+ minetest.get_meta(pos):set_string("formspec", "")
+ minetest.get_meta(pos):set_string("infotext", "")
+ end
+})
+
-- ores
minetest.after(0, function()
if stree ~= tree then
items[#items + 1] = {
items = {stree .. "sapling"},
- rarity = 250,
+ rarity = 1000,
}
end
end