Minimal game: add /dummyball <count> command
authorKahrl <kahrl@gmx.net>
Fri, 22 Aug 2014 22:52:57 +0000 (00:52 +0200)
committerKahrl <kahrl@gmx.net>
Fri, 22 Aug 2014 22:52:57 +0000 (00:52 +0200)
games/minimal/mods/experimental/init.lua

index 3e2e7787b62819ae1228cc39ee0d2fd14c054b80..729191bce3851fb9d19979903c3a00dbb5089e0c 100644 (file)
@@ -254,6 +254,7 @@ minetest.register_entity("experimental:dummyball", {
 minetest.register_on_chat_message(function(name, message)
        local cmd = "/dummyball"
        if message:sub(0, #cmd) == cmd then
+               count = tonumber(message:sub(#cmd+1)) or 1
                if not minetest.get_player_privs(name)["give"] then
                        minetest.chat_send_player(name, "you don't have permission to spawn (give)")
                        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")
                        return true -- Handled chat message
                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)
                if player == nil then
                        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 p = player:getpos()
                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
-                               ..'" spawned.');
+                               ..'" spawned '..tostring(count)..' time(s).');
                return true -- Handled chat message
        end
 end)