forked from minetest-mods/item_drop
		
	Dont drop items in creative mode when player already has it
This commit is contained in:
		
							
								
								
									
										6
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								init.lua
									
									
									
									
									
								
							| @@ -61,6 +61,10 @@ minetest.register_globalstep(function(dtime) | |||||||
| end) | end) | ||||||
|  |  | ||||||
| function minetest.handle_node_drops(pos, drops, digger) | function minetest.handle_node_drops(pos, drops, digger) | ||||||
|  | 	local inv | ||||||
|  | 	if minetest.setting_getbool("creative_mode") and digger and digger:is_player() then | ||||||
|  | 		inv = digger:get_inventory() | ||||||
|  | 	end | ||||||
| 	for _,item in ipairs(drops) do | 	for _,item in ipairs(drops) do | ||||||
| 		local count, name | 		local count, name | ||||||
| 		if type(item) == "string" then | 		if type(item) == "string" then | ||||||
| @@ -70,6 +74,7 @@ function minetest.handle_node_drops(pos, drops, digger) | |||||||
| 			count = item:get_count() | 			count = item:get_count() | ||||||
| 			name = item:get_name() | 			name = item:get_name() | ||||||
| 		end | 		end | ||||||
|  | 		if not inv or not inv:contains_item("main", ItemStack(name)) then | ||||||
| 			for i=1,count do | 			for i=1,count do | ||||||
| 				local obj = minetest.env:add_item(pos, name) | 				local obj = minetest.env:add_item(pos, name) | ||||||
| 				if obj ~= nil then | 				if obj ~= nil then | ||||||
| @@ -94,6 +99,7 @@ function minetest.handle_node_drops(pos, drops, digger) | |||||||
| 			end | 			end | ||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
|  | end | ||||||
|  |  | ||||||
| if minetest.setting_get("log_mods") then | if minetest.setting_get("log_mods") then | ||||||
| 	minetest.log("action", "item_drop loaded") | 	minetest.log("action", "item_drop loaded") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user