Carts: Take creative mode into account
authorDiego Martínez <lkaezadl3@yahoo.com>
Sun, 27 Nov 2016 06:02:38 +0000 (03:02 -0300)
committerparamat <mat.gregory@virginmedia.com>
Mon, 28 Nov 2016 01:27:54 +0000 (01:27 +0000)
This commit makes the carts mod not add the cart
item to the player's inventory if running with
creative mode and the player already has it.

mods/carts/cart_entity.lua

index 4301b852b1da01144a0f3bb416b5bbbbe90957f3..a0a2d9f0dcdbcd6971d5ba9bbda76a5611e2b171 100644 (file)
@@ -91,9 +91,13 @@ function cart_entity:on_punch(puncher, time_from_last_punch, tool_capabilities,
                        end
                end
 
-               local leftover = puncher:get_inventory():add_item("main", "carts:cart")
-               if not leftover:is_empty() then
-                       minetest.add_item(self.object:getpos(), leftover)
+               local inv = puncher:get_inventory()
+               if not minetest.setting_getbool("creative_mode")
+                               or not inv:contains_item("main", "carts:cart") then
+                       local leftover = inv:add_item("main", "carts:cart")
+                       if not leftover:is_empty() then
+                               minetest.add_item(self.object:getpos(), leftover)
+                       end
                end
                self.object:remove()
                return