From 7c933f89c60530a183d91bb5b8f7608f4d0ac1ee Mon Sep 17 00:00:00 2001 From: MihailRis Date: Wed, 30 Oct 2024 12:55:08 +0300 Subject: [PATCH] add item.get_model --- doc/en/scripting/builtins/libitem.md | 3 +++ doc/ru/scripting/builtins/libitem.md | 3 +++ src/logic/scripting/lua/libs/libitem.cpp | 8 ++++++++ 3 files changed, 14 insertions(+) diff --git a/doc/en/scripting/builtins/libitem.md b/doc/en/scripting/builtins/libitem.md index 46c144f0..43440070 100644 --- a/doc/en/scripting/builtins/libitem.md +++ b/doc/en/scripting/builtins/libitem.md @@ -21,4 +21,7 @@ item.icon(itemid: int) -> str -- Returns the integer id 'placing-block' or 0 item.get_placing_block(itemid: int) -> int + +-- Returns the value of the `model-name` property +item.get_model_name(itemid: int) -> str ``` diff --git a/doc/ru/scripting/builtins/libitem.md b/doc/ru/scripting/builtins/libitem.md index 5b26811c..c0775fd6 100644 --- a/doc/ru/scripting/builtins/libitem.md +++ b/doc/ru/scripting/builtins/libitem.md @@ -21,6 +21,9 @@ item.icon(itemid: int) -> str -- Возвращает числовой id блока, назначенного как 'placing-block' или 0 item.get_placing_block(itemid: int) -> int + +-- Возвращает значение свойства `model-name` +item.get_model_name(itemid: int) -> str ``` diff --git a/src/logic/scripting/lua/libs/libitem.cpp b/src/logic/scripting/lua/libs/libitem.cpp index 5088d7bc..0bef6d79 100644 --- a/src/logic/scripting/lua/libs/libitem.cpp +++ b/src/logic/scripting/lua/libs/libitem.cpp @@ -61,6 +61,13 @@ static int l_get_placing_block(lua::State* L) { return 0; } +static int l_get_model_name(lua::State* L) { + if (auto def = get_item_def(L, 1)) { + return lua::pushstring(L, def->modelName); + } + return 0; +} + const luaL_Reg itemlib[] = { {"index", lua::wrap}, {"name", lua::wrap}, @@ -69,4 +76,5 @@ const luaL_Reg itemlib[] = { {"icon", lua::wrap}, {"caption", lua::wrap}, {"get_placing_block", lua::wrap}, + {"get_model_name", lua::wrap}, {NULL, NULL}};