trike/init.lua

82 lines
2.4 KiB
Lua
Raw Permalink Normal View History

2021-03-09 14:23:16 -08:00
trike={}
trike.gravity = tonumber(minetest.settings:get("movement_gravity")) or 9.8
trike.colors ={
black='#2b2b2b',
blue='#0063b0',
brown='#8c5922',
cyan='#07B6BC',
dark_green='#567a42',
dark_grey='#6d6d6d',
green='#4ee34c',
grey='#9f9f9f',
magenta='#ff0098',
orange='#ff8b0e',
pink='#ff62c6',
red='#dc1818',
violet='#a437ff',
white='#FFFFFF',
yellow='#ffe400',
}
2022-03-21 15:25:54 -07:00
trike.trunk_slots = 3
2021-03-14 13:18:45 -07:00
dofile(minetest.get_modpath("trike") .. DIR_DELIM .. "trike_global_definitions.lua")
2021-03-09 14:23:16 -08:00
dofile(minetest.get_modpath("trike") .. DIR_DELIM .. "trike_crafts.lua")
dofile(minetest.get_modpath("trike") .. DIR_DELIM .. "trike_control.lua")
dofile(minetest.get_modpath("trike") .. DIR_DELIM .. "trike_fuel_management.lua")
dofile(minetest.get_modpath("trike") .. DIR_DELIM .. "trike_custom_physics.lua")
dofile(minetest.get_modpath("trike") .. DIR_DELIM .. "trike_utilities.lua")
dofile(minetest.get_modpath("trike") .. DIR_DELIM .. "trike_entities.lua")
2021-11-24 13:28:42 -08:00
dofile(minetest.get_modpath("trike") .. DIR_DELIM .. "trike_hud.lua")
dofile(minetest.get_modpath("trike") .. DIR_DELIM .. "trike_forms.lua")
2021-03-09 14:23:16 -08:00
--
-- helpers and co.
--
--
-- items
--
settings = Settings(minetest.get_worldpath() .. "/trike_settings.conf")
local function fetch_setting(name)
local sname = name
return settings and settings:get(sname) or minetest.settings:get(sname)
end
trike.restricted = fetch_setting("restricted")
minetest.register_privilege("flight_licence", {
description = "Gives a flight licence to the player",
give_to_singleplayer = true
})
2021-05-10 13:10:30 -07:00
-- add chatcommand to eject from trike
minetest.register_chatcommand("trike_eject", {
params = "",
description = "Ejects from trike",
privs = {interact = true},
func = function(name, param)
local colorstring = core.colorize('#ff0000', " >>> you are not inside your ultralight trike")
local player = minetest.get_player_by_name(name)
local attached_to = player:get_attach()
if attached_to ~= nil then
local parent = attached_to:get_attach()
if parent ~= nil then
local entity = parent:get_luaentity()
if entity.driver_name == name and entity.name == "trike:trike" then
2021-11-27 10:11:45 -08:00
trike.dettachPlayer(entity, player)
2021-05-10 13:10:30 -07:00
else
minetest.chat_send_player(name,colorstring)
end
end
else
minetest.chat_send_player(name,colorstring)
end
2021-06-09 13:41:43 -07:00
end
2021-05-10 13:10:30 -07:00
})