From df4da519b3d52ce70fa57112960083f5547db504 Mon Sep 17 00:00:00 2001 From: Alexsandro Percy Date: Sat, 26 Aug 2023 17:49:53 -0300 Subject: [PATCH] added plane ejection --- init.lua | 32 ++++++++++++++++++++++++++++++++ lib_planes/init.lua | 1 + 2 files changed, 33 insertions(+) diff --git a/init.lua b/init.lua index 135e4c7..9eca191 100644 --- a/init.lua +++ b/init.lua @@ -508,3 +508,35 @@ minetest.register_chatcommand("transfer_ownership", { end end }) + +minetest.register_chatcommand("eject_from_plane", { + params = "", + description = "Ejects from a plane", + privs = {interact = true}, + func = function(name, param) + local colorstring = core.colorize('#ff0000', " >>> you are not inside a plane") + local player = minetest.get_player_by_name(name) + local attached_to = player:get_attach() + + if attached_to ~= nil then + local seat = attached_to:get_attach() + if seat ~= nil then + local entity = seat:get_luaentity() + if entity then + if entity.on_step == airutils.on_step then + if entity.driver_name == name then + airutils.dettachPlayer(entity, player) + elseif entity._passenger == name then + local passenger = minetest.get_player_by_name(entity._passenger) + airutils.dettach_pax(entity, passenger) + end + else + minetest.chat_send_player(name,colorstring) + end + end + end + else + minetest.chat_send_player(name,colorstring) + end + end +}) diff --git a/lib_planes/init.lua b/lib_planes/init.lua index 2f7c870..1c4854d 100755 --- a/lib_planes/init.lua +++ b/lib_planes/init.lua @@ -24,3 +24,4 @@ local function fetch_setting(name) return settings and settings:get(sname) or minetest.settings:get(sname) end +