diff options
author | Mattes D <github@xoft.cz> | 2016-12-11 21:22:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-11 21:22:09 +0100 |
commit | c59ff9b431cb46ce90f8f4b37ce16fab77841fdd (patch) | |
tree | fb810cb4529cabb39927da41d80491db009f7723 /src/Bindings | |
parent | Powered rails can kick-start minecarts (#3472) (diff) | |
parent | Export GetPosition and GetSpeed from cEntity as a copy instead of a pointer to lua. (diff) | |
download | cuberite-c59ff9b431cb46ce90f8f4b37ce16fab77841fdd.tar cuberite-c59ff9b431cb46ce90f8f4b37ce16fab77841fdd.tar.gz cuberite-c59ff9b431cb46ce90f8f4b37ce16fab77841fdd.tar.bz2 cuberite-c59ff9b431cb46ce90f8f4b37ce16fab77841fdd.tar.lz cuberite-c59ff9b431cb46ce90f8f4b37ce16fab77841fdd.tar.xz cuberite-c59ff9b431cb46ce90f8f4b37ce16fab77841fdd.tar.zst cuberite-c59ff9b431cb46ce90f8f4b37ce16fab77841fdd.zip |
Diffstat (limited to 'src/Bindings')
-rw-r--r-- | src/Bindings/ManualBindings.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/Bindings/ManualBindings.cpp b/src/Bindings/ManualBindings.cpp index 083a30f2a..1fe3c0f9f 100644 --- a/src/Bindings/ManualBindings.cpp +++ b/src/Bindings/ManualBindings.cpp @@ -3799,6 +3799,50 @@ static int tolua_cCompositeChat_UnderlineUrls(lua_State * tolua_S) +static int tolua_cEntity_GetPosition(lua_State * tolua_S) +{ + cLuaState L(tolua_S); + + // Get the params: + cEntity * self = reinterpret_cast<cEntity *>(tolua_tousertype(tolua_S, 1, nullptr)); + if (self == nullptr) + { + LOGWARNING("%s: invalid self (%p)", __FUNCTION__, static_cast<void *>(self)); + return 0; + } + + L.Push(Mtolua_new((Vector3d)(self->GetPosition()))); + + tolua_register_gc(L, lua_gettop(L)); // Make Lua own the object + return 1; +} + + + + + +static int tolua_cEntity_GetSpeed(lua_State * tolua_S) +{ + cLuaState L(tolua_S); + + // Get the params: + cEntity * self = reinterpret_cast<cEntity *>(tolua_tousertype(tolua_S, 1, nullptr)); + if (self == nullptr) + { + LOGWARNING("%s: invalid self (%p)", __FUNCTION__, static_cast<void *>(self)); + return 0; + } + + L.Push(Mtolua_new((Vector3d)(self->GetSpeed()))); + + tolua_register_gc(L, lua_gettop(L)); // Make Lua own the object + return 1; +} + + + + + void cManualBindings::Bind(lua_State * tolua_S) { tolua_beginmodule(tolua_S, nullptr); @@ -3878,6 +3922,8 @@ void cManualBindings::Bind(lua_State * tolua_S) tolua_beginmodule(tolua_S, "cEntity"); tolua_constant(tolua_S, "INVALID_ID", cEntity::INVALID_ID); + tolua_function(tolua_S, "GetPosition", tolua_cEntity_GetPosition); + tolua_function(tolua_S, "GetSpeed", tolua_cEntity_GetSpeed); tolua_endmodule(tolua_S); tolua_beginmodule(tolua_S, "cFile"); |