mirror of
https://git.minetest.land/MineClone2/MineClone2.git
synced 2024-11-28 13:53:45 +01:00
Move mob spawner change code to mobs mod
This commit is contained in:
parent
1a96ef137a
commit
cc411efe4c
@ -3152,6 +3152,9 @@ function mobs:register_egg(mob, desc, background, addegg, no_creative)
|
||||
inventory_image = invimg,
|
||||
groups = grp,
|
||||
|
||||
_doc_items_longdesc = "This allows you to place a single mob.",
|
||||
_doc_items_usagehelp = "Just place it where you want the mob to appear. Animals will spawn tamed, unless you hold down the sneak key while placing. If you place this on a monster spawner, you change the monster it spawns.",
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
|
||||
local pos = pointed_thing.above
|
||||
@ -3171,6 +3174,20 @@ function mobs:register_egg(mob, desc, background, addegg, no_creative)
|
||||
return
|
||||
end
|
||||
|
||||
local name = placer:get_player_name()
|
||||
local privs = minetest.get_player_privs(name)
|
||||
if not privs.maphack then
|
||||
minetest.chat_send_player(name, "You need the “maphack” privilege to change the mob spawner.")
|
||||
return itemstack
|
||||
end
|
||||
if minetest.get_modpath("mcl_mobspawners") and under.name == "mcl_mobspawners:spawner" then
|
||||
mcl_mobspawners.setup_spawner(pointed_thing.under, itemstack:get_name())
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
|
||||
pos.y = pos.y + 1
|
||||
|
||||
local mob = minetest.add_entity(pos, mob)
|
||||
|
@ -304,24 +304,6 @@ minetest.register_node("mcl_mobspawners:spawner", {
|
||||
end,
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
-- Change mob type if placing spawn egg into monster spawner.
|
||||
-- Shift-click to ignore.
|
||||
if minetest.get_item_group(itemstack:get_name(), "spawn_egg") == 1 then
|
||||
local name = clicker:get_player_name()
|
||||
local privs = minetest.get_player_privs(name)
|
||||
if not privs.maphack then
|
||||
minetest.chat_send_player(name, "You need the “maphack” privilege to change the spawned monster.")
|
||||
return itemstack
|
||||
end
|
||||
mcl_mobspawners.setup_spawner(pos, itemstack:get_name())
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
end,
|
||||
|
||||
_mcl_blast_resistance = 25,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user