hub-manager/src/api.lua

86 lines
1.7 KiB
Lua

local settings = table.copy(hub_manager.settings)
----------------------------------------------
-----------------GETTERS----------------------
----------------------------------------------
function hub_manager.get_hub_spawn_point()
return settings.hub_spawn_point
end
function hub_manager.get_additional_items()
return settings.hotbar_items
end
function hub_manager.get_prefix(name)
local meta = minetest.get_player_by_name(name):get_meta()
local prefix = meta:get_string("hub_manager:prefix")
local color = meta:get_string("hub_manager:prefix_color") or "#ffffff"
if prefix == "" then return "" end
return minetest.colorize(color, prefix) .. " "
end
function hub_manager.get_players_in_hub()
local in_hub = {}
local in_game = arena_lib.get_players_in_game()
for _, pl in pairs(minetest.get_connected_players()) do
local pl_name = pl:get_player_name()
if not in_game[pl_name] then
in_hub[pl_name] = true
end
end
return in_hub
end
----------------------------------------------
-----------------SETTERS----------------------
----------------------------------------------
function hub_manager.set_hub_physics(player)
player:set_physics_override(settings.physics)
end
function hub_manager.set_items(player)
local inv = player:get_inventory()
local hotbar_items = {
nil,
nil,
nil,
nil,
nil,
nil,
nil,
"hub_manager:settings"
}
local additional_items = hub_manager.get_additional_items()
-- eventuali oggetti aggiuntivi
for i = 1, #additional_items do
if additional_items[i] ~= "" then
hotbar_items[i] = additional_items[i]
end
end
inv:set_list("main", hotbar_items)
inv:set_list("craft", {})
end