diff --git a/res/layouts/console.xml.lua b/res/layouts/console.xml.lua index e286562a..41d75430 100644 --- a/res/layouts/console.xml.lua +++ b/res/layouts/console.xml.lua @@ -1,5 +1,5 @@ function setup_variables() - local x,y,z = player.get_pos(0) + local x,y,z = player.get_pos(hud.get_player()) console.set('pos.x', x) console.set('pos.y', y) console.set('pos.z', z) diff --git a/src/logic/scripting/lua/libhud.cpp b/src/logic/scripting/lua/libhud.cpp index 9c03a9b8..b7c023f5 100644 --- a/src/logic/scripting/lua/libhud.cpp +++ b/src/logic/scripting/lua/libhud.cpp @@ -10,6 +10,7 @@ #include "../../../graphics/ui/elements/InventoryView.hpp" #include "../../../items/Inventories.hpp" #include "../../../logic/BlocksController.hpp" +#include "../../../objects/Player.hpp" #include "../../../util/stringutil.hpp" #include "../../../voxels/Block.hpp" #include "../../../voxels/Chunks.hpp" @@ -121,6 +122,12 @@ static int l_hud_get_block_inventory(lua_State* L) { return 1; } +static int l_hud_get_player(lua_State* L) { + auto player = scripting::hud->getPlayer(); + lua_pushinteger(L, player->getId()); + return 1; +} + const luaL_Reg hudlib [] = { {"open_inventory", lua_wrap_errors}, {"close_inventory", lua_wrap_errors}, @@ -131,5 +138,6 @@ const luaL_Reg hudlib [] = { {"close", lua_wrap_errors}, {"pause", lua_wrap_errors}, {"resume", lua_wrap_errors}, + {"get_player", lua_wrap_errors}, {NULL, NULL} };