Don't drop items in creative mode when player gets overrun by train

master
orwell96 2017-03-11 22:19:01 +01:00
parent 4187d2504c
commit 0dd40c2434
1 changed files with 16 additions and 14 deletions

View File

@ -523,21 +523,23 @@ function advtrains.train_step_b(id, train, dtime)
advtrains.collide_and_spawn_couple(id, testpos, advtrains.detector.on_node[testpts], train.movedir==-1) advtrains.collide_and_spawn_couple(id, testpos, advtrains.detector.on_node[testpts], train.movedir==-1)
end end
--- 8b damage players --- --- 8b damage players ---
local player=advtrains.playersbypts[testpts] if not minetest.setting_getbool("creative_mode") then
if player and train.velocity>3 then local player=advtrains.playersbypts[testpts]
--instantly kill player if player and train.velocity>3 then
--drop inventory contents first, to not to spawn bones --instantly kill player
local player_inv=player:get_inventory() --drop inventory contents first, to not to spawn bones
for i=1,player_inv:get_size("main") do local player_inv=player:get_inventory()
minetest.add_item(testpos, player_inv:get_stack("main", i)) for i=1,player_inv:get_size("main") do
minetest.add_item(testpos, player_inv:get_stack("main", i))
end
for i=1,player_inv:get_size("craft") do
minetest.add_item(testpos, player_inv:get_stack("craft", i))
end
-- empty lists main and craft
player_inv:set_list("main", {})
player_inv:set_list("craft", {})
player:set_hp(0)
end end
for i=1,player_inv:get_size("craft") do
minetest.add_item(testpos, player_inv:get_stack("craft", i))
end
-- empty lists main and craft
player_inv:set_list("main", {})
player_inv:set_list("craft", {})
player:set_hp(0)
end end
end end
end end