summaryrefslogtreecommitdiffstats
path: root/src/Bindings/ManualBindings.cpp
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2016-12-11 21:22:09 +0100
committerGitHub <noreply@github.com>2016-12-11 21:22:09 +0100
commitc59ff9b431cb46ce90f8f4b37ce16fab77841fdd (patch)
treefb810cb4529cabb39927da41d80491db009f7723 /src/Bindings/ManualBindings.cpp
parentPowered rails can kick-start minecarts (#3472) (diff)
parentExport GetPosition and GetSpeed from cEntity as a copy instead of a pointer to lua. (diff)
downloadcuberite-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/ManualBindings.cpp')
-rw-r--r--src/Bindings/ManualBindings.cpp46
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");