Message when trying to spawn forbidden hostile mob
This commit is contained in:
parent
f2b7392a30
commit
7a870d0ead
6 changed files with 30 additions and 4 deletions
|
@ -50,8 +50,8 @@ end
|
|||
|
||||
-- Load settings
|
||||
local damage_enabled = minetest.settings:get_bool("enable_damage")
|
||||
local mobs_spawn = minetest.settings:get_bool("mobs_spawn") ~= false
|
||||
local peaceful_only = minetest.settings:get_bool("only_peaceful_mobs")
|
||||
local mobs_spawn = minetest.settings:get_bool("mobs_spawn", true) ~= false
|
||||
|
||||
local disable_blood = minetest.settings:get_bool("mobs_disable_blood")
|
||||
local mobs_drop_items = minetest.settings:get_bool("mobs_drop_items") ~= false
|
||||
local mobs_griefing = minetest.settings:get_bool("mobs_griefing") ~= false
|
||||
|
@ -65,7 +65,7 @@ local max_per_block = tonumber(minetest.settings:get("max_objects_per_block") or
|
|||
local mobs_spawn_chance = tonumber(minetest.settings:get("mobs_spawn_chance") or 2.5)
|
||||
|
||||
-- Peaceful mode message so players will know there are no monsters
|
||||
if peaceful_only then
|
||||
if minetest.settings:get_bool("only_peaceful_mobs", false) then
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
minetest.chat_send_player(player:get_player_name(),
|
||||
S("Peaceful mode active! No monsters will spawn."))
|
||||
|
@ -2756,7 +2756,7 @@ local mob_activate = function(self, staticdata, def, dtime)
|
|||
|
||||
-- remove monsters in peaceful mode
|
||||
if self.type == "monster"
|
||||
and peaceful_only then
|
||||
and minetest.settings:get_bool("only_peaceful_mobs", false) then
|
||||
|
||||
self.object:remove()
|
||||
|
||||
|
@ -3754,6 +3754,12 @@ function mobs:register_egg(mob, desc, background, addegg, no_creative)
|
|||
return itemstack
|
||||
end
|
||||
|
||||
if minetest.settings:get_bool("only_peaceful_mobs", false)
|
||||
and minetest.registered_entities[mob].type == "monster" then
|
||||
minetest.chat_send_player(name, S("Only peaceful mobs allowed!"))
|
||||
return itemstack
|
||||
end
|
||||
|
||||
pos.y = pos.y + 1
|
||||
|
||||
local mob = minetest.add_entity(pos, mob)
|
||||
|
|
|
@ -6,3 +6,4 @@ You need the “maphack” privilege to change the mob spawner.=Sie brauchen das
|
|||
Name Tag=Namensschild
|
||||
A name tag is an item to name a mob.=Ein Namensschild ist ein Gegenstand, um einen Mob zu benennen.
|
||||
Before you use the name tag, you need to set a name at an anvil. Then you can use the name tag to name a mob. This uses up the name tag.=Bevor Sie ein Namensschild benutzen können, müssen Sie ihn an einem Amboss benennen. Dann können können Sie das Namensschild benutztn, um einen Mob zu benennen. Das wird das Namensschild verbrauchen.
|
||||
Only peaceful mobs allowed!=Nur friedliche Mobs erlaubt!
|
||||
|
|
|
@ -6,3 +6,4 @@ You need the “maphack” privilege to change the mob spawner.=
|
|||
Name Tag=
|
||||
A name tag is an item to name a mob.=
|
||||
Before you use the name tag, you need to set a name at an anvil. Then you can use the name tag to name a mob. This uses up the name tag.=
|
||||
Only peaceful mobs allowed!=
|
||||
|
|
|
@ -126,6 +126,21 @@ local function register_chatcommand_alias(alias, cmd)
|
|||
minetest.register_chatcommand(alias, def)
|
||||
end
|
||||
|
||||
-- Replace spawnentity cmd to disallow spawning of hostile mobs if disabled
|
||||
local orig_func = minetest.registered_chatcommands["spawnentity"].func
|
||||
local cmd = table.copy(minetest.registered_chatcommands["spawnentity"])
|
||||
cmd.func = function(name, param)
|
||||
local ent = minetest.registered_entities[param]
|
||||
if minetest.settings:get_bool("only_peaceful_mobs", false) and ent and ent._cmi_is_mob and ent.type == "monster" then
|
||||
return false, S("Only peaceful mobs allowed!")
|
||||
else
|
||||
local bool, msg = orig_func(name, param)
|
||||
return bool, msg
|
||||
end
|
||||
end
|
||||
minetest.unregister_chatcommand("spawnentity")
|
||||
minetest.register_chatcommand("spawnentity", cmd)
|
||||
|
||||
if minecraftaliases then
|
||||
register_chatcommand_alias("?", "help")
|
||||
register_chatcommand_alias("who", "list")
|
||||
|
@ -145,3 +160,4 @@ if minecraftaliases then
|
|||
end,
|
||||
})
|
||||
end
|
||||
|
||||
|
|
|
@ -20,3 +20,4 @@ List bans=Bannliste anzeigen
|
|||
Ban list: @1=Bannliste: @1
|
||||
Show who is logged on=Anzeigen, wer eingeloggt ist
|
||||
Displays the world seed=Den Seed der Welt anzeigen
|
||||
Only peaceful mobs allowed!=Nur friedliche Mobs erlaubt!
|
||||
|
|
|
@ -20,3 +20,4 @@ List bans=
|
|||
Ban list: @1=
|
||||
Show who is logged on=
|
||||
Displays the world seed=
|
||||
Only peaceful mobs allowed!=
|
||||
|
|
Reference in a new issue