#include "gettext.h"
#include "l_internal.h"
#include "lua_api/l_item.h"
+#include "mainmenumanager.h"
#include "util/string.h"
+extern MainGameCallback *g_gamecallback;
+
int ModApiClient::l_get_current_modname(lua_State *L)
{
lua_rawgeti(L, LUA_REGISTRYINDEX, CUSTOM_RIDX_CURRENT_MOD_NAME);
return 0;
}
+// disconnect()
+int ModApiClient::l_disconnect(lua_State *L)
+{
+ // Stops badly written Lua code form causing boot loops
+ if (getClient(L)->isShutdown()) {
+ lua_pushboolean(L, false);
+ return 1;
+ }
+
+ g_gamecallback->disconnect();
+ lua_pushboolean(L, true);
+ return 1;
+}
+
// gettext(text)
int ModApiClient::l_gettext(lua_State *L)
{
API_FCT(get_node);
API_FCT(get_node_or_nil);
API_FCT(get_wielded_item);
+ API_FCT(disconnect);
}