--- /dev/null
+local plot = elidragon.plot
+
+plot.config = {
+ gap = 32,
+ road_with = 8,
+ mapgen = {
+ enable = true,
+ min_y = 9,
+ max_y = 9,
+ c_border = minetest.get_content_id("mcl_core:stonebrickcarved"),
+ },
+ claiming = {
+ enable_autoclaim_command = true,
+ max_plots = 5,
+ },
+}
+
+elidragon.creative = {}
--- /dev/null
+name = elidragon_creative
+author = Fleckenstein
+description = Creative gamemode for Elidragon v2
+depends = elidragon, elidragon_plot, mcl_core
--- /dev/null
+local plot = {}
+
+minetest.register_on_generated(function(minp, maxp)
+ local mgconfig = plot.config.mapgen
+
+ if not mgconfig.enable then
+ return
+ end
+
+ local min_y, max_y = mgconfig.min_y, mgconfig.max_y
+
+ if maxp.y < min_y or minp.y > max_y then
+ return
+ end
+
+ local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
+ local data = vm:get_data()
+ local area = VoxelArea:new({MinEdge = emin, MaxEdge = emax})
+
+ local void_layer = mgconfig.void_layer
+
+ if void_layer then
+ for idx in area:iter(minp.x, math.max(minp.y, void_layer.min_y), minp.z, maxp.x, math.min(maxp.y, void_layer.max_y), mapx.z) do
+ data[idx] = void_layer.c_void
+ end
+ end
+
+ local function do_multiples(low, high, base, add, func)
+ for p = math.ceil(low / base), math.floor(high / base) do
+ func(p * base + add)
+ end
+ end
+
+ local function do_borders(low, high, base, road, func)
+ local r = road / 2
+ do_multiples(low - r, high - r, base, r, func)
+ do_multiples(low + r, high + r, base, -r, func)
+ end
+
+ do_borders(minp.x, maxp.x, mgconfig.gap, mgconfig.road_width, function(x)
+ for idx in area:iter(x, math.max(minp.y, min_y), minp.z, x, math.min(maxp.y, max_y), mapx.z) do
+ data[idx] = mgconfig.c_border
+ end
+ end)
+
+ do_borders(minp.z, maxp.z, mgconfig.gap, mgconfig.road_width, function(z)
+ for idx in area:iter(minp.x, math.max(minp.y, min_y), z, maxp.x, math.min(maxp.y, max_y), z) do
+ data[idx] = mgconfig.c_border
+ end
+ end)
+
+ vm:set_data(data)
+ vm:calc_lighting()
+ vm:update_liquids()
+ vm:write_to_map()
+end)
+
+elidragon.plot = plot
--- /dev/null
+local plot = elidragon.plot
+
+plot.config = {
+ gap = 1000,
+ road_width = 100,
+ --[[min_y = 2000,
+ max_y = 31000,]]--
+ mapgen = {
+ enable = true,
+ min_y = 1000,
+ max_y = 31000,
+ void_layer = {
+ min_y = 1000,
+ max_y = 2000,
+ c_void = minetest.get_content_id("mcl_core:void"),
+ },
+ c_border = minetest.get_content_id("mcl_core:barrier"), -- ToDo: make world border
+ },
+ --[[claiming = {
+ auto_allocation = true,
+ on_claim = function() -- create island and move there
+ end
+ },]]--
+}
+
+elidragon.skyblock = {}
--- /dev/null
+name = elidragon_skyblock
+author = Fleckenstein
+description = Skyblock gamemode for Elidragon v2
+depends = elidragon, elidragon_plot, mcl_core
player_backend = sqlite3
load_mod_default = false
load_mod_elidragon = true
+load_mod_elidragon_creative = true
load_mod_elidragon_grouplist = false
load_mod_elidragon_luckyblock = false
+load_mod_elidragon_plot = true
load_mod_elidragon_random = false
load_mod_elidragon_request = true
load_mod_elidragon_schems = false
+load_mod_elidragon_skyblock = false
load_mod_elidragon_tp = true
load_mod_elidragon_util = true
load_mod_lucky_block = false
player_backend = sqlite3
load_mod_default = false
load_mod_elidragon = true
+load_mod_elidragon_creative = false
load_mod_elidragon_grouplist = false
load_mod_elidragon_luckyblock = false
+load_mod_elidragon_plot = false
load_mod_elidragon_random = false
load_mod_elidragon_request = false
load_mod_elidragon_schems = false
+load_mod_elidragon_skyblock = false
load_mod_elidragon_tp = false
load_mod_elidragon_util = false
load_mod_lucky_block = false
player_backend = sqlite3
load_mod_default = true
load_mod_elidragon = true
+load_mod_elidragon_creative = false
load_mod_elidragon_grouplist = true
load_mod_elidragon_luckyblock = true
+load_mod_elidragon_plot = true
load_mod_elidragon_random = false
load_mod_elidragon_request = true
load_mod_elidragon_schems = false
+load_mod_elidragon_skyblock = true
load_mod_elidragon_tp = true
load_mod_elidragon_util = true
load_mod_lucky_block = true
player_backend = sqlite3
load_mod_default = false
load_mod_elidragon = true
+load_mod_elidragon_creative = false
load_mod_elidragon_grouplist = false
load_mod_elidragon_luckyblock = false
+load_mod_elidragon_plot = false
load_mod_elidragon_random = false
load_mod_elidragon_request = true
load_mod_elidragon_schems = false
+load_mod_elidragon_skyblock = false
load_mod_elidragon_tp = true
load_mod_elidragon_util = true
load_mod_lucky_block = false