summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clientmods/preview/init.lua1
-rw-r--r--doc/client_lua_api.md3
-rw-r--r--src/script/lua_api/l_client.cpp8
-rw-r--r--src/script/lua_api/l_client.h3
4 files changed, 15 insertions, 0 deletions
diff --git a/clientmods/preview/init.lua b/clientmods/preview/init.lua
index 07464e927..3c96fae55 100644
--- a/clientmods/preview/init.lua
+++ b/clientmods/preview/init.lua
@@ -69,6 +69,7 @@ core.after(2, function()
print("[PREVIEW] loaded " .. modname .. " mod")
modstorage:set_string("current_mod", modname)
print(modstorage:get_string("current_mod"))
+ print("Server version:" .. core.get_protocol_version())
preview_minimap()
end)
diff --git a/doc/client_lua_api.md b/doc/client_lua_api.md
index 25055c98a..6d62de8a2 100644
--- a/doc/client_lua_api.md
+++ b/doc/client_lua_api.md
@@ -696,6 +696,9 @@ Call these functions only at load time!
* `minetest.disconnect()`
* Disconnect from the server and exit to main menu.
* 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.
* `minetest.parse_json(string[, nullvalue])`: returns something
diff --git a/src/script/lua_api/l_client.cpp b/src/script/lua_api/l_client.cpp
index 458c1d1f4..0f4d7eaae 100644
--- a/src/script/lua_api/l_client.cpp
+++ b/src/script/lua_api/l_client.cpp
@@ -234,6 +234,13 @@ int ModApiClient::l_sound_stop(lua_State *L)
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)
{
API_FCT(get_current_modname);
@@ -251,4 +258,5 @@ void ModApiClient::Initialize(lua_State *L, int top)
API_FCT(get_meta);
API_FCT(sound_play);
API_FCT(sound_stop);
+ API_FCT(get_protocol_version);
}
diff --git a/src/script/lua_api/l_client.h b/src/script/lua_api/l_client.h
index 4e7f63d6a..478b8ed6c 100644
--- a/src/script/lua_api/l_client.h
+++ b/src/script/lua_api/l_client.h
@@ -69,6 +69,9 @@ private:
static int l_sound_stop(lua_State *L);
+ // get_protocol_version()
+ static int l_get_protocol_version(lua_State *L);
+
public:
static void Initialize(lua_State *L, int top);
};