forked from VoxeLibre/VoxeLibre
Updated attach checks, used `mcl_player.detach_player`, registered `quick_detach_player`
This commit is contained in:
parent
99c0e12418
commit
8ad706e9bd
|
@ -1,3 +1,5 @@
|
||||||
|
mcl_boats = {}
|
||||||
|
|
||||||
local S = minetest.get_translator(minetest.get_current_modname())
|
local S = minetest.get_translator(minetest.get_current_modname())
|
||||||
|
|
||||||
local boat_visual_size = {x = 1, y = 1, z = 1}
|
local boat_visual_size = {x = 1, y = 1, z = 1}
|
||||||
|
@ -128,6 +130,21 @@ local function detach_object(obj, change_pos)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function mcl_boats.quick_detach_player(player, boat)
|
||||||
|
-- called in mcl_player
|
||||||
|
-- boat should be luaentity
|
||||||
|
if player == boat._driver then
|
||||||
|
detach_object(player, true)
|
||||||
|
boat._driver = nil
|
||||||
|
elseif player == boat._passenger then
|
||||||
|
detach_object(player, true)
|
||||||
|
boat._passenger = nil
|
||||||
|
else
|
||||||
|
-- minetest.debug('Player attached to boat but not driver or passenger???')
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Boat entity
|
-- Boat entity
|
||||||
--
|
--
|
||||||
|
@ -160,9 +177,10 @@ local boat = {
|
||||||
minetest.register_on_respawnplayer(detach_object)
|
minetest.register_on_respawnplayer(detach_object)
|
||||||
|
|
||||||
function boat.on_rightclick(self, clicker)
|
function boat.on_rightclick(self, clicker)
|
||||||
if self._passenger or not clicker or clicker:get_attach() or (self.name == "mcl_boats:chest_boat" and self._driver) then
|
if self._passenger or not clicker or (self.name == "mcl_boats:chest_boat" and self._driver) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
mcl_player.detach_player(clicker)
|
||||||
attach_object(self, clicker)
|
attach_object(self, clicker)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -474,7 +492,7 @@ for b=1, #boat_ids do
|
||||||
inventory_image = "mcl_boats_" .. id .. "_boat.png"
|
inventory_image = "mcl_boats_" .. id .. "_boat.png"
|
||||||
texture = "mcl_boats_texture_" .. id .. "_boat.png"
|
texture = "mcl_boats_texture_" .. id .. "_boat.png"
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_craftitem(itemstring, {
|
minetest.register_craftitem(itemstring, {
|
||||||
description = names[b],
|
description = names[b],
|
||||||
_tt_help = tt_help,
|
_tt_help = tt_help,
|
||||||
|
|
Loading…
Reference in New Issue