]> git.lizzy.rs Git - skycraft.git/commitdiff
Fixed Spawners
authorElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 15 Jun 2020 14:24:06 +0000 (16:24 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 15 Jun 2020 14:24:06 +0000 (16:24 +0200)
modules.txt
src/main/plots.lua
src/onload/mob_spawner.lua [new file with mode: 0644]

index 45e60c301695fddfc4d7293434d220287099d006..e5ca0bea53bab664a0236ebe0c96c4381590b0bb 100644 (file)
@@ -1 +1 @@
-return {common={"common","group_lists","random","request","schems",},main={"alpha","armor_stand","commands","flower_spread","god_stick","join_skyblock_entity","lobby","lucky_block","mapgen","money","netherrack_fix","plots","ranks","shopping","spawns","tpa","trade","wither_spawn",},onload={"grasstype","lava_cooling","load_group_lists","monster_egg_stone_block","nether_portal","remove_heads_from_armor","sapling_mutation","shop_signs","spawn","void",},}
\ No newline at end of file
+return {common={"common","group_lists","random","request","schems",},main={"alpha","armor_stand","commands","flower_spread","god_stick","join_skyblock_entity","lobby","lucky_block","mapgen","money","netherrack_fix","plots","ranks","shopping","spawns","tpa","trade","wither_spawn",},onload={"grasstype","lava_cooling","load_group_lists","mob_spawner","monster_egg_stone_block","nether_portal","remove_heads_from_armor","sapling_mutation","shop_signs","spawn","void",},}
\ No newline at end of file
index 2d6c67e05d76d5fa84f5ec3c8dd28ca1a03905ea..6ac909fac6a845310b0c728658fac80c158a60c3 100644 (file)
@@ -58,6 +58,7 @@ local plot_commands = {
        gui = function(name, message)
                message = message or ""
                local plot = skycraft.get_plot_by_player(name)
+               if not plot then return false, "You don't have a plot yet" end
                local esc = minetest.formspec_escape
                local formspec = "size[8,10]"
                        .. "label[2.5,0;" .. esc("-- Plot interface --") .. "]"
@@ -172,7 +173,7 @@ end)
 local old_is_protected = minetest.is_protected
 function minetest.is_protected(pos, name)
        local plot = skycraft.get_plot_at_pos(pos) or {members = {}}
-       if pos.y > 5000 or (pos.y < 1000 and pos.y > -100) or plot.owner ~= name and table.indexof(plot.members, name) == -1 then
+       if pos.y > 5000 or (pos.y < 1000 and pos.y > -100) or (plot.owner ~= name and table.indexof(plot.members, name) == -1) then
                return not minetest.check_player_privs(name, {protection_bypass = true})
        else
                return old_is_protected(pos, name)
diff --git a/src/onload/mob_spawner.lua b/src/onload/mob_spawner.lua
new file mode 100644 (file)
index 0000000..10e39e0
--- /dev/null
@@ -0,0 +1,14 @@
+local spawner_def = minetest.registered_nodes["mcl_mobspawners:spawner"]
+local old_on_place = spawner_def.on_place
+
+function spawner_def.on_place(itemstack, placer, pointed_thing)
+       local name = placer:get_player_name()
+       local privs = minetest.get_player_privs(name)
+       privs.maphack = true
+       minetest.set_player_privs(name, privs)
+       old_on_place(itemstack, placer, pointed_thing)
+       privs.maphack = nil
+       minetest.set_player_privs(name, privs)
+end
+
+spawner_def.drop = "mcl_mobspawners:spawner"