1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

[CSM] Add on_dignode callback (#5140)

This commit is contained in:
red-001 2017-01-29 17:43:44 +00:00 committed by Loïc Blot
parent ba66fce833
commit 073f5cf03d
6 changed files with 57 additions and 13 deletions

View file

@ -21,6 +21,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "s_client.h"
#include "s_internal.h"
#include "client.h"
#include "common/c_converter.h"
#include "common/c_content.h"
void ScriptApiClient::on_shutdown()
{
@ -136,3 +138,23 @@ void ScriptApiClient::on_formspec_input(const std::string &formname,
}
runCallbacks(2, RUN_CALLBACKS_MODE_OR_SC);
}
bool ScriptApiClient::on_dignode(v3s16 p, MapNode node)
{
SCRIPTAPI_PRECHECKHEADER
INodeDefManager *ndef = getClient()->ndef();
// Get core.registered_on_dignode
lua_getglobal(L, "core");
lua_getfield(L, -1, "registered_on_dignode");
// Push data
push_v3s16(L, p);
pushnode(L, node, ndef);
// Call functions
runCallbacks(2, RUN_CALLBACKS_MODE_OR);
bool blocked = lua_toboolean(L, -1);
return blocked;
}