Minimal game: add /dummyball <count> command

pull/1495/head
Kahrl 2014-08-23 00:52:57 +02:00
parent 7940a4264a
commit 26f4a5c110
1 changed files with 11 additions and 2 deletions

View File

@ -254,6 +254,7 @@ minetest.register_entity("experimental:dummyball", {
minetest.register_on_chat_message(function(name, message) minetest.register_on_chat_message(function(name, message)
local cmd = "/dummyball" local cmd = "/dummyball"
if message:sub(0, #cmd) == cmd then if message:sub(0, #cmd) == cmd then
count = tonumber(message:sub(#cmd+1)) or 1
if not minetest.get_player_privs(name)["give"] then if not minetest.get_player_privs(name)["give"] then
minetest.chat_send_player(name, "you don't have permission to spawn (give)") minetest.chat_send_player(name, "you don't have permission to spawn (give)")
return true -- Handled chat message return true -- Handled chat message
@ -262,6 +263,12 @@ minetest.register_on_chat_message(function(name, message)
minetest.chat_send_player(name, "you don't have permission to interact") minetest.chat_send_player(name, "you don't have permission to interact")
return true -- Handled chat message return true -- Handled chat message
end end
if count >= 2 and not minetest.get_player_privs(name)["server"] then
minetest.chat_send_player(name, "you don't have " ..
"permission to spawn multiple " ..
"dummyballs (server)")
return true -- Handled chat message
end
local player = minetest.get_player_by_name(name) local player = minetest.get_player_by_name(name)
if player == nil then if player == nil then
print("Unable to spawn entity, player is nil") print("Unable to spawn entity, player is nil")
@ -270,9 +277,11 @@ minetest.register_on_chat_message(function(name, message)
local entityname = "experimental:dummyball" local entityname = "experimental:dummyball"
local p = player:getpos() local p = player:getpos()
p.y = p.y + 1 p.y = p.y + 1
minetest.add_entity(p, entityname) for i = 1,count do
minetest.add_entity(p, entityname)
end
minetest.chat_send_player(name, '"'..entityname minetest.chat_send_player(name, '"'..entityname
..'" spawned.'); ..'" spawned '..tostring(count)..' time(s).');
return true -- Handled chat message return true -- Handled chat message
end end
end) end)