forked from VoxeLibre/VoxeLibre
Dropping drops entire item stack again
This commit is contained in:
parent
29b418f719
commit
635b60c17f
|
@ -9,6 +9,8 @@ item_drop_settings.collect_by_default = true --make item entities automatical
|
||||||
--versus setting it in the item drop code, setting true might interfere with
|
--versus setting it in the item drop code, setting true might interfere with
|
||||||
--mods that use item entities (like pipeworks)
|
--mods that use item entities (like pipeworks)
|
||||||
item_drop_settings.random_item_velocity = true --this sets random item velocity if velocity is 0
|
item_drop_settings.random_item_velocity = true --this sets random item velocity if velocity is 0
|
||||||
|
item_drop_settings.drop_single_item = false --if true, the drop control drops 1 item instead of the entire stack, and sneak+drop drops the stack
|
||||||
|
-- drop_single_item is disabled by default because it is annoying to throw away items from the intentory screen
|
||||||
|
|
||||||
|
|
||||||
minetest.register_globalstep(function(dtime)
|
minetest.register_globalstep(function(dtime)
|
||||||
|
@ -145,24 +147,26 @@ function minetest.handle_node_drops(pos, drops, digger)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--throw single items by default
|
if item_drop_settings.drop_single_item then
|
||||||
function minetest.item_drop(itemstack, dropper, pos)
|
-- Drop single items by default
|
||||||
if dropper and dropper:is_player() then
|
function minetest.item_drop(itemstack, dropper, pos)
|
||||||
local v = dropper:get_look_dir()
|
if dropper and dropper:is_player() then
|
||||||
local p = {x=pos.x, y=pos.y+1.2, z=pos.z}
|
local v = dropper:get_look_dir()
|
||||||
local cs = 1
|
local p = {x=pos.x, y=pos.y+1.2, z=pos.z}
|
||||||
if dropper:get_player_control().sneak then
|
local cs = 1
|
||||||
cs = itemstack:get_count()
|
if dropper:get_player_control().sneak then
|
||||||
end
|
cs = itemstack:get_count()
|
||||||
local item = itemstack:take_item(cs)
|
end
|
||||||
local obj = core.add_item(p, item)
|
local item = itemstack:take_item(cs)
|
||||||
if obj then
|
local obj = core.add_item(p, item)
|
||||||
v.x = v.x*4
|
if obj then
|
||||||
v.y = v.y*4 + 2
|
v.x = v.x*4
|
||||||
v.z = v.z*4
|
v.y = v.y*4 + 2
|
||||||
obj:setvelocity(v)
|
v.z = v.z*4
|
||||||
obj:get_luaentity().collect = true
|
obj:setvelocity(v)
|
||||||
return itemstack
|
obj:get_luaentity().collect = true
|
||||||
|
return itemstack
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue