mirror of
https://github.com/appgurueu/modlib.git
synced 2024-08-20 05:14:10 +02:00
Deprecate player.get_color_int, beautification
This commit is contained in:
parent
1d76fee9db
commit
a71c115647
144
player.lua
144
player.lua
@ -1,96 +1,78 @@
|
|||||||
forbidden_names = {"me"}
|
forbidden_names = {}
|
||||||
function register_forbidden_name(name)
|
|
||||||
forbidden_names[name] = true
|
function register_forbidden_name(name) forbidden_names[name] = true end
|
||||||
end
|
|
||||||
function unregister_forbidden_name(name)
|
function unregister_forbidden_name(name) forbidden_names[name] = nil end
|
||||||
forbidden_names[name] = nil
|
|
||||||
end
|
minetest.register_on_prejoinplayer(function(name)
|
||||||
|
if forbidden_names[name] then
|
||||||
|
return 'The name "' .. name .. '" is not allowed as a player name'
|
||||||
|
end
|
||||||
|
end)
|
||||||
playerdata = {}
|
playerdata = {}
|
||||||
defaults = {}
|
defaults = {}
|
||||||
playerdata_functions = {}
|
playerdata_functions = {}
|
||||||
function delete_player_data(playername)
|
|
||||||
playerdata[playername] = nil
|
function delete_player_data(playername) playerdata[playername] = nil end
|
||||||
end
|
|
||||||
function create_player_data(playername)
|
function create_player_data(playername) playerdata[playername] = {} end
|
||||||
playerdata[playername] = {}
|
|
||||||
end
|
|
||||||
function init_player_data(playername)
|
function init_player_data(playername)
|
||||||
modlib.table.add_all(playerdata[playername], defaults)
|
modlib.table.add_all(playerdata[playername], defaults)
|
||||||
for _, callback in ipairs(playerdata_functions) do
|
for _, callback in ipairs(playerdata_functions) do callback(playerdata[playername]) end
|
||||||
callback(playerdata[playername])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
function get_player_data(playername)
|
|
||||||
return playerdata[playername]
|
|
||||||
end
|
|
||||||
function get_property(playername, propertyname)
|
|
||||||
return get_player_data(playername)[propertyname]
|
|
||||||
end
|
|
||||||
function set_property(playername, propertyname, propertyvalue)
|
|
||||||
get_player_data(playername)[propertyname] = propertyvalue
|
|
||||||
end
|
|
||||||
function get_property_default(propertyname)
|
|
||||||
return defaults[propertyname]
|
|
||||||
end
|
|
||||||
function set_property_default(propertyname, defaultvalue)
|
|
||||||
defaults[propertyname] = defaultvalue
|
|
||||||
end
|
|
||||||
function add_playerdata_function(callback)
|
|
||||||
table.insert(playerdata_functions, callback)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function get_player_data(playername) return playerdata[playername] end
|
||||||
|
|
||||||
|
function get_property(playername, propertyname) return get_player_data(playername)[propertyname] end
|
||||||
|
|
||||||
|
function set_property(playername, propertyname, propertyvalue) get_player_data(playername)[propertyname] = propertyvalue end
|
||||||
|
|
||||||
|
function get_property_default(propertyname) return defaults[propertyname] end
|
||||||
|
|
||||||
|
function set_property_default(propertyname, defaultvalue) defaults[propertyname] = defaultvalue end
|
||||||
|
|
||||||
|
function add_playerdata_function(callback) table.insert(playerdata_functions, callback) end
|
||||||
|
|
||||||
function get_color(player)
|
function get_color(player)
|
||||||
local sender_color = player:get_properties().nametag_color
|
local sender_color = player:get_properties().nametag_color
|
||||||
if sender_color then
|
if sender_color then
|
||||||
sender_color = minetest.rgba(sender_color.r, sender_color.g, sender_color.b)
|
sender_color = minetest.rgba(sender_color.r, sender_color.g, sender_color.b)
|
||||||
else
|
else sender_color = "#FFFFFF" end
|
||||||
sender_color = "#FFFFFF"
|
return sender_color
|
||||||
end
|
|
||||||
return sender_color
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function get_color_table(player)
|
function get_color_table(player)
|
||||||
local sender_color = player:get_properties().nametag_color
|
local sender_color = player:get_properties().nametag_color
|
||||||
return sender_color or {r = 255, g = 255, b = 255}
|
return sender_color or { r = 255, g = 255, b = 255 }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--! deprecated in favor of modlib.minetest.colorspec
|
||||||
function get_color_int(player)
|
function get_color_int(player)
|
||||||
local sender_color = player:get_properties().nametag_color
|
local sender_color = player:get_properties().nametag_color
|
||||||
if sender_color then
|
if sender_color then
|
||||||
sender_color = sender_color.b + (sender_color.g * 256) + (sender_color.r * 256 * 256)
|
sender_color = sender_color.b + sender_color.g * 0x100 + sender_color.r * 0x10000
|
||||||
else
|
else sender_color = 0xFFFFFF end
|
||||||
sender_color = 0xFFFFFF
|
return sender_color
|
||||||
end
|
|
||||||
return sender_color
|
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_on_prejoinplayer(
|
minetest.register_on_joinplayer(function(player)
|
||||||
function(name, ip)
|
local playername = player:get_player_name()
|
||||||
if forbidden_names[name] then
|
create_player_data(playername)
|
||||||
return 'The name "' .. name .. '" is not allowed as a player name'
|
init_player_data(playername)
|
||||||
end
|
end)
|
||||||
end
|
minetest.register_on_leaveplayer(function(player)
|
||||||
)
|
local playername = player:get_player_name()
|
||||||
|
delete_player_data(playername)
|
||||||
minetest.register_on_joinplayer(
|
end)
|
||||||
function(player)
|
|
||||||
local playername = player:get_player_name()
|
|
||||||
create_player_data(playername)
|
|
||||||
init_player_data(playername)
|
|
||||||
end
|
|
||||||
)
|
|
||||||
|
|
||||||
minetest.register_on_leaveplayer(
|
|
||||||
function(player)
|
|
||||||
local playername = player:get_player_name()
|
|
||||||
delete_player_data(playername)
|
|
||||||
end
|
|
||||||
)
|
|
||||||
|
|
||||||
function datatable(table, default)
|
function datatable(table, default)
|
||||||
table = table or {}
|
table = table or {}
|
||||||
default = default or {}
|
default = default or {}
|
||||||
minetest.register_on_joinplayer(function(player)
|
minetest.register_on_joinplayer(function(player)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
table[name] = table[name] or default
|
table[name] = table[name] or default
|
||||||
end)
|
end)
|
||||||
minetest.register_on_leaveplayer(function(player) table[player:get_player_name()] = nil end)
|
minetest.register_on_leaveplayer(function(player) table[player:get_player_name()] = nil end)
|
||||||
return table
|
return table
|
||||||
end
|
end
|
Loading…
Reference in New Issue
Block a user