[CSM] Add function to get the server protocol version. (#5529)

This commit is contained in:
red-001 2017-04-06 21:50:45 +01:00 committed by Loïc Blot
parent be06636965
commit 88b9b9652a
4 changed files with 15 additions and 0 deletions

@ -69,6 +69,7 @@ core.after(2, function()
print("[PREVIEW] loaded " .. modname .. " mod") print("[PREVIEW] loaded " .. modname .. " mod")
modstorage:set_string("current_mod", modname) modstorage:set_string("current_mod", modname)
print(modstorage:get_string("current_mod")) print(modstorage:get_string("current_mod"))
print("Server version:" .. core.get_protocol_version())
preview_minimap() preview_minimap()
end) end)

@ -696,6 +696,9 @@ Call these functions only at load time!
* `minetest.disconnect()` * `minetest.disconnect()`
* Disconnect from the server and exit to main menu. * Disconnect from the server and exit to main menu.
* Returns `false` if the client is already disconnecting otherwise returns `true`. * Returns `false` if the client is already disconnecting otherwise returns `true`.
* `minetest.get_protocol_version()`
* Returns the protocol version of the server.
* Might not be accurate at start up as the client might not be connected to the server yet, in that case it will return 0.
### Misc. ### Misc.
* `minetest.parse_json(string[, nullvalue])`: returns something * `minetest.parse_json(string[, nullvalue])`: returns something

@ -234,6 +234,13 @@ int ModApiClient::l_sound_stop(lua_State *L)
return 0; return 0;
} }
// get_protocol_version()
int ModApiClient::l_get_protocol_version(lua_State *L)
{
lua_pushinteger(L, getClient(L)->getProtoVersion());
return 1;
}
void ModApiClient::Initialize(lua_State *L, int top) void ModApiClient::Initialize(lua_State *L, int top)
{ {
API_FCT(get_current_modname); API_FCT(get_current_modname);
@ -251,4 +258,5 @@ void ModApiClient::Initialize(lua_State *L, int top)
API_FCT(get_meta); API_FCT(get_meta);
API_FCT(sound_play); API_FCT(sound_play);
API_FCT(sound_stop); API_FCT(sound_stop);
API_FCT(get_protocol_version);
} }

@ -69,6 +69,9 @@ private:
static int l_sound_stop(lua_State *L); static int l_sound_stop(lua_State *L);
// get_protocol_version()
static int l_get_protocol_version(lua_State *L);
public: public:
static void Initialize(lua_State *L, int top); static void Initialize(lua_State *L, int top);
}; };