Restrict placement of villages to server op

This commit is contained in:
Wuzzy 2019-09-26 13:42:10 +02:00
parent d9a41681c1
commit 33234e0f48
3 changed files with 12 additions and 0 deletions

View File

@ -3,3 +3,4 @@ Village Entity Spawner=
Village Spawner=
Mapgen Village Spawner=
(Has chance of not spawning village)=
You need the “server” privilege to use this.=

View File

@ -3,3 +3,4 @@ Village Entity Spawner=Dorf-Entity-Erzeuger
Village Spawner=Dorf-Erzeuger
Mapgen Village Spawner=Kartengenerator-Dorf-Erzeuger
(Has chance of not spawning village)=(Könnte das Dorf evtl. nicht erzeugen)
You need the “server” privilege to use this.=Sie brauchen das „server“-Privileg, um dies benutzen zu können.

View File

@ -21,6 +21,14 @@ local shortseed = bitwise_and(mapseed, 0xFFFFFF)
-- Nodes
local place_priv = function(itemstack, placer, pointed_thing)
if not minetest.get_player_privs(placer:get_player_name()).server then
minetest.chat_send_player(placer:get_player_name(), minetest.colorize("#FF0000", S("You need the “server” privilege to use this.")))
return itemstack
end
return minetest.item_place(itemstack, placer, pointed_thing)
end
minetest.register_node(
"village:entity_spawner",
{
@ -39,6 +47,7 @@ minetest.register_node(
drop = "",
groups = {dig_immediate = 3, not_in_creative_inventory = 1},
sounds = default.node_sound_defaults(),
on_place = place_priv,
on_timer = function(pos, elapsed)
-- Wait until some objects are nearby ...
local objs_around = minetest.get_objects_inside_radius(pos, 12)
@ -79,6 +88,7 @@ minetest.register_node(
sounds = default.node_sound_dirt_defaults(),
drop = "",
on_place = place_priv,
on_construct = function(pos)
minetest.remove_node(pos)