forked from Mirrorlandia_minetest/minetest
parent
7e185068c4
commit
772944daf6
@ -202,7 +202,7 @@ For helper functions see "Vector helpers".
|
|||||||
### pointed_thing
|
### pointed_thing
|
||||||
* `{type="nothing"}`
|
* `{type="nothing"}`
|
||||||
* `{type="node", under=pos, above=pos}`
|
* `{type="node", under=pos, above=pos}`
|
||||||
* `{type="object", ref=ObjectRef}`
|
* `{type="object", id=ObjectID}`
|
||||||
|
|
||||||
Flag Specifier Format
|
Flag Specifier Format
|
||||||
---------------------
|
---------------------
|
||||||
|
@ -1441,7 +1441,7 @@ void read_json_value(lua_State *L, Json::Value &root, int index, u8 recursion)
|
|||||||
lua_pop(L, 1); // Pop value
|
lua_pop(L, 1); // Pop value
|
||||||
}
|
}
|
||||||
|
|
||||||
void push_pointed_thing(lua_State *L, const PointedThing &pointed)
|
void push_pointed_thing(lua_State *L, const PointedThing &pointed, bool csm)
|
||||||
{
|
{
|
||||||
lua_newtable(L);
|
lua_newtable(L);
|
||||||
if (pointed.type == POINTEDTHING_NODE) {
|
if (pointed.type == POINTEDTHING_NODE) {
|
||||||
@ -1454,8 +1454,14 @@ void push_pointed_thing(lua_State *L, const PointedThing &pointed)
|
|||||||
} else if (pointed.type == POINTEDTHING_OBJECT) {
|
} else if (pointed.type == POINTEDTHING_OBJECT) {
|
||||||
lua_pushstring(L, "object");
|
lua_pushstring(L, "object");
|
||||||
lua_setfield(L, -2, "type");
|
lua_setfield(L, -2, "type");
|
||||||
|
|
||||||
|
if (csm) {
|
||||||
|
lua_pushinteger(L, pointed.object_id);
|
||||||
|
lua_setfield(L, -2, "id");
|
||||||
|
} else {
|
||||||
push_objectRef(L, pointed.object_id);
|
push_objectRef(L, pointed.object_id);
|
||||||
lua_setfield(L, -2, "ref");
|
lua_setfield(L, -2, "ref");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
lua_pushstring(L, "nothing");
|
lua_pushstring(L, "nothing");
|
||||||
lua_setfield(L, -2, "type");
|
lua_setfield(L, -2, "type");
|
||||||
|
@ -164,7 +164,7 @@ bool push_json_value (lua_State *L,
|
|||||||
void read_json_value (lua_State *L, Json::Value &root,
|
void read_json_value (lua_State *L, Json::Value &root,
|
||||||
int index, u8 recursion = 0);
|
int index, u8 recursion = 0);
|
||||||
|
|
||||||
void push_pointed_thing (lua_State *L, const PointedThing &pointed);
|
void push_pointed_thing (lua_State *L, const PointedThing &pointed, bool csm = false);
|
||||||
|
|
||||||
void push_objectRef (lua_State *L, const u16 id);
|
void push_objectRef (lua_State *L, const u16 id);
|
||||||
|
|
||||||
|
@ -199,7 +199,7 @@ bool ScriptApiClient::on_placenode(const PointedThing &pointed, const ItemDefini
|
|||||||
lua_getfield(L, -1, "registered_on_placenode");
|
lua_getfield(L, -1, "registered_on_placenode");
|
||||||
|
|
||||||
// Push data
|
// Push data
|
||||||
push_pointed_thing(L, pointed);
|
push_pointed_thing(L, pointed, true);
|
||||||
push_item_definition(L, item);
|
push_item_definition(L, item);
|
||||||
|
|
||||||
// Call functions
|
// Call functions
|
||||||
@ -217,7 +217,7 @@ bool ScriptApiClient::on_item_use(const ItemStack &item, const PointedThing &poi
|
|||||||
|
|
||||||
// Push data
|
// Push data
|
||||||
LuaItemStack::create(L, item);
|
LuaItemStack::create(L, item);
|
||||||
push_pointed_thing(L, pointed);
|
push_pointed_thing(L, pointed, true);
|
||||||
|
|
||||||
// Call functions
|
// Call functions
|
||||||
runCallbacks(2, RUN_CALLBACKS_MODE_OR);
|
runCallbacks(2, RUN_CALLBACKS_MODE_OR);
|
||||||
|
Loading…
Reference in New Issue
Block a user