Add server id icons

master
stujones11 2019-05-15 22:18:23 +01:00 committed by MoNTE48
parent a977fa04fc
commit d5113a6b5c
7 changed files with 37 additions and 16 deletions

View File

@ -59,7 +59,9 @@ function image_column(tooltip, flagname)
"2=" .. core.formspec_escape(defaulttexturedir .. "server_ping_4.png") .. "," ..
"3=" .. core.formspec_escape(defaulttexturedir .. "server_ping_3.png") .. "," ..
"4=" .. core.formspec_escape(defaulttexturedir .. "server_ping_2.png") .. "," ..
"5=" .. core.formspec_escape(defaulttexturedir .. "server_ping_1.png")
"5=" .. core.formspec_escape(defaulttexturedir .. "server_ping_1.png") .. "," ..
"6=" .. core.formspec_escape(defaulttexturedir .. "server_flags_mc.png") .. "," ..
"7=" .. core.formspec_escape(defaulttexturedir .. "server_flags_mt.png")
end
--------------------------------------------------------------------------------
@ -82,7 +84,7 @@ function order_favorite_list(list)
end
--------------------------------------------------------------------------------
function render_serverlist_row(spec, is_favorite)
function render_serverlist_row(spec, is_favorite, is_approved)
local text = ""
if spec.name then
text = text .. core.formspec_escape(spec.name:trim())
@ -96,12 +98,19 @@ function render_serverlist_row(spec, is_favorite)
local details = ""
local grey_out = not is_server_protocol_compat(spec.proto_min, spec.proto_max)
if is_favorite then
details = "1,"
if is_approved then
details = "6,"
else
details = "0,"
details = "7,"
end
if is_favorite then
details = details .. "1,"
else
details = details .. "0,"
end
if spec.ping then
local ping = spec.ping * 1000
if ping <= 50 then

View File

@ -73,6 +73,7 @@ local function get_formspec(tabview, name, tabdata)
--favourites
retval = retval .. "tablecolumns[" ..
image_column(fgettext(""), "server_id") .. ";" ..
image_column(fgettext("Favorite"), "favorite") .. ";" ..
image_column(fgettext("Ping")) .. ",padding=0.25;" ..
"color,span=3;" ..
@ -102,26 +103,29 @@ local function get_formspec(tabview, name, tabdata)
retval = retval .. ","
end
retval = retval .. render_serverlist_row(server, server.is_favorite)
retval = retval .. render_serverlist_row(server, server.is_favorite,
server.server_id ~= nil)
end
elseif #menudata.favorites > 0 then
local favs = core.get_favorites("local")
if #favs > 0 then
for i = 1, #favs do
for j = 1, #menudata.favorites do
if menudata.favorites[j].address == favs[i].address and
menudata.favorites[j].port == favs[i].port then
table.insert(menudata.favorites, i, table.remove(menudata.favorites, j))
for j = 1, #menudata.favorites do
if menudata.favorites[j].address == favs[i].address and
menudata.favorites[j].port == favs[i].port then
table.insert(menudata.favorites, i, table.remove(menudata.favorites, j))
end
end
end
if favs[i].address ~= menudata.favorites[i].address then
table.insert(menudata.favorites, i, favs[i])
end
end
end
retval = retval .. render_serverlist_row(menudata.favorites[1], (#favs > 0))
retval = retval .. render_serverlist_row(menudata.favorites[1], (#favs > 0),
menudata.favorites[1].server_id ~= nil)
for i = 2, #menudata.favorites do
retval = retval .. "," .. render_serverlist_row(menudata.favorites[i], (i <= #favs))
retval = retval .. "," .. render_serverlist_row(menudata.favorites[i],
(i <= #favs), menudata.favorites[i].server_id ~= nil)
end
end

View File

@ -35,8 +35,8 @@ void set_default_settings(Settings *settings)
settings->setDefault("language", "");
settings->setDefault("name", "");
settings->setDefault("bind_address", "");
settings->setDefault("serverlist_url", "servers.minetest.net");
settings->setDefault("serverlist_url_2", "");
settings->setDefault("serverlist_url", "servers.multicraft.world");
settings->setDefault("serverlist_url_2", "servers.minetest.net");
// Client
settings->setDefault("address", "");
@ -350,7 +350,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("liquid_update", "1.0");
// Mapgen
settings->setDefault("mg_name", "v6");
settings->setDefault("mg_name", "v7p");
settings->setDefault("water_level", "1");
settings->setDefault("mapgen_limit", "31000");
settings->setDefault("chunksize", "5");

View File

@ -523,6 +523,13 @@ int ModApiMainMenu::l_get_favorites(lua_State *L)
lua_settable(L, top_lvl2);
}
if (servers[i]["server_id"].asString().size()) {
lua_pushstring(L,"server_id");
std::string topush = servers[i]["server_id"].asString();
lua_pushstring(L,topush.c_str());
lua_settable(L, top_lvl2);
}
if (servers[i]["proto_min"].asString().size()) {
lua_pushstring(L,"proto_min");
lua_pushinteger(L,servers[i]["proto_min"].asInt());

View File

@ -219,6 +219,7 @@ void sendAnnounce(AnnounceAction action,
server["name"] = g_settings->get("server_name");
server["description"] = g_settings->get("server_description");
server["version"] = g_version_string;
server["server_id"] = "multicraft";
server["proto_min"] = strict_checking ? LATEST_PROTOCOL_VERSION : SERVER_PROTOCOL_VERSION_MIN;
server["proto_max"] = strict_checking ? LATEST_PROTOCOL_VERSION : SERVER_PROTOCOL_VERSION_MAX;
server["url"] = g_settings->get("server_url");

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B