forked from minetest/minetest_game
Fix boats again
This commit is contained in:
parent
584718a2a7
commit
5e0c49345a
|
@ -40,6 +40,7 @@ local boat = {
|
||||||
driver = nil,
|
driver = nil,
|
||||||
v = 0,
|
v = 0,
|
||||||
last_v = 0,
|
last_v = 0,
|
||||||
|
removed = false
|
||||||
}
|
}
|
||||||
|
|
||||||
function boat.on_rightclick(self, clicker)
|
function boat.on_rightclick(self, clicker)
|
||||||
|
@ -76,9 +77,18 @@ function boat.get_staticdata()
|
||||||
end
|
end
|
||||||
|
|
||||||
function boat.on_punch(self, puncher, time_from_last_punch, tool_capabilities, direction)
|
function boat.on_punch(self, puncher, time_from_last_punch, tool_capabilities, direction)
|
||||||
|
if not puncher or not puncher:is_player() or self.removed then
|
||||||
|
return
|
||||||
|
end
|
||||||
puncher:set_detach()
|
puncher:set_detach()
|
||||||
|
default.player_attached[puncher:get_player_name()] = false
|
||||||
|
|
||||||
|
self.removed = true
|
||||||
|
-- delay remove to ensure player is detached
|
||||||
|
minetest.after(0.1,function()
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
if puncher and puncher:is_player() and not minetest.setting_getbool("creative_mode") then
|
end)
|
||||||
|
if not minetest.setting_getbool("creative_mode") then
|
||||||
puncher:get_inventory():add_item("main", "boats:boat")
|
puncher:get_inventory():add_item("main", "boats:boat")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user