From f0c53dbad48a295413d3207cd463e1dfb19faa93 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Thu, 30 Jun 2016 19:35:00 +0200 Subject: LuaAPI: Fixed bindings for cChunkDesc:GetBlockTypeMeta --- src/Bindings/ManualBindings.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/Bindings/ManualBindings.cpp') diff --git a/src/Bindings/ManualBindings.cpp b/src/Bindings/ManualBindings.cpp index 1d735ac83..8bcd5a4e6 100644 --- a/src/Bindings/ManualBindings.cpp +++ b/src/Bindings/ManualBindings.cpp @@ -30,6 +30,7 @@ #include "../BlockEntities/NoteEntity.h" #include "../BlockEntities/MobHeadEntity.h" #include "../BlockEntities/FlowerPotEntity.h" +#include "../Generating/ChunkDesc.h" #include "../LineBlockTracer.h" #include "../WorldStorage/SchematicFileSerializer.h" #include "../CompositeChat.h" @@ -3443,6 +3444,33 @@ static int tolua_cBoundingBox_Intersect(lua_State * a_LuaState) +static int tolua_cChunkDesc_GetBlockTypeMeta(lua_State * a_LuaState) +{ + /* Function signature: + ChunkDesc:GetBlockTypeMeta(RelX, RelY, RelZ) -> BlockType, BlockMeta + */ + + cLuaState L(a_LuaState); + const cChunkDesc * self; + int relX, relY, relZ; + if (!L.GetStackValues(1, self, relX, relY, relZ)) + { + L.LogStackValues(); + tolua_error(a_LuaState, "Invalid function params. Expected chunkDesc:GetBlockTypeMeta(relX, relY, relZ)", nullptr); + return 0; + } + BLOCKTYPE blockType; + NIBBLETYPE blockMeta; + self->GetBlockTypeMeta(relX, relY, relZ, blockType, blockMeta); + L.Push(blockType); + L.Push(blockMeta); + return 2; +} + + + + + static int tolua_cCompositeChat_AddRunCommandPart(lua_State * tolua_S) { // function cCompositeChat:AddRunCommandPart(Message, Command, [Style]) @@ -3736,6 +3764,10 @@ void cManualBindings::Bind(lua_State * tolua_S) tolua_function(tolua_S, "Intersect", tolua_cBoundingBox_Intersect); tolua_endmodule(tolua_S); + tolua_beginmodule(tolua_S, "cChunkDesc"); + tolua_function(tolua_S, "GetBlockTypeMeta", tolua_cChunkDesc_GetBlockTypeMeta); + tolua_endmodule(tolua_S); + tolua_beginmodule(tolua_S, "cClientHandle"); tolua_constant(tolua_S, "MAX_VIEW_DISTANCE", cClientHandle::MAX_VIEW_DISTANCE); tolua_constant(tolua_S, "MIN_VIEW_DISTANCE", cClientHandle::MIN_VIEW_DISTANCE); -- cgit v1.2.3