mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-13 08:35:20 +02:00
[CSM] add on_item_use
(#5544)
This commit is contained in:
@@ -207,6 +207,23 @@ bool ScriptApiClient::on_placenode(const PointedThing &pointed, const ItemDefini
|
||||
return lua_toboolean(L, -1);
|
||||
}
|
||||
|
||||
bool ScriptApiClient::on_item_use(const ItemStack &item, const PointedThing &pointed)
|
||||
{
|
||||
SCRIPTAPI_PRECHECKHEADER
|
||||
|
||||
// Get core.registered_on_item_use
|
||||
lua_getglobal(L, "core");
|
||||
lua_getfield(L, -1, "registered_on_item_use");
|
||||
|
||||
// Push data
|
||||
LuaItemStack::create(L, item);
|
||||
push_pointed_thing(L, pointed);
|
||||
|
||||
// Call functions
|
||||
runCallbacks(2, RUN_CALLBACKS_MODE_OR);
|
||||
return lua_toboolean(L, -1);
|
||||
}
|
||||
|
||||
void ScriptApiClient::setEnv(ClientEnvironment *env)
|
||||
{
|
||||
ScriptApiBase::setEnv(env);
|
||||
|
@@ -26,6 +26,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "mapnode.h"
|
||||
#include "itemdef.h"
|
||||
#include "util/string.h"
|
||||
#include "util/pointedthing.h"
|
||||
#include "lua_api/l_item.h"
|
||||
|
||||
#ifdef _CRT_MSVCP_CURRENT
|
||||
#include <cstdint>
|
||||
@@ -54,6 +56,7 @@ public:
|
||||
bool on_dignode(v3s16 p, MapNode node);
|
||||
bool on_punchnode(v3s16 p, MapNode node);
|
||||
bool on_placenode(const PointedThing &pointed, const ItemDefinition &item);
|
||||
bool on_item_use(const ItemStack &item, const PointedThing &pointed);
|
||||
|
||||
void setEnv(ClientEnvironment *env);
|
||||
};
|
||||
|
Reference in New Issue
Block a user