aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2020-06-15 16:24:06 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2020-06-15 16:24:06 +0200
commit165071e2aa050ab3228cd8fe20dd41c1f850a5eb (patch)
tree5490b7d62dc25f70aca35266acbd76271df9fc0b /src
parent444d6e653c65baaf9b1376534a58cf4b92d9a8e2 (diff)
downloadskycraft-165071e2aa050ab3228cd8fe20dd41c1f850a5eb.tar.xz
Fixed Spawners
Diffstat (limited to 'src')
-rw-r--r--src/main/plots.lua3
-rw-r--r--src/onload/mob_spawner.lua14
2 files changed, 16 insertions, 1 deletions
diff --git a/src/main/plots.lua b/src/main/plots.lua
index 2d6c67e..6ac909f 100644
--- a/src/main/plots.lua
+++ b/src/main/plots.lua
@@ -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
index 0000000..10e39e0
--- /dev/null
+++ b/src/onload/mob_spawner.lua
@@ -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"