summaryrefslogtreecommitdiffstats
path: root/src/Bindings
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2014-09-03 17:00:26 +0200
committermadmaxoft <github@xoft.cz>2014-09-03 17:00:26 +0200
commita51c1e0b73a83cddcce865671ca30240393e458f (patch)
tree688e63c296f02e327b4ee2f9e117a172a6e2d85b /src/Bindings
parentcBoundingBox: Added accessors. (diff)
downloadcuberite-a51c1e0b73a83cddcce865671ca30240393e458f.tar
cuberite-a51c1e0b73a83cddcce865671ca30240393e458f.tar.gz
cuberite-a51c1e0b73a83cddcce865671ca30240393e458f.tar.bz2
cuberite-a51c1e0b73a83cddcce865671ca30240393e458f.tar.lz
cuberite-a51c1e0b73a83cddcce865671ca30240393e458f.tar.xz
cuberite-a51c1e0b73a83cddcce865671ca30240393e458f.tar.zst
cuberite-a51c1e0b73a83cddcce865671ca30240393e458f.zip
Diffstat (limited to 'src/Bindings')
-rw-r--r--src/Bindings/LuaState.cpp26
-rw-r--r--src/Bindings/LuaState.h10
2 files changed, 36 insertions, 0 deletions
diff --git a/src/Bindings/LuaState.cpp b/src/Bindings/LuaState.cpp
index 9fe93ccc2..4ebb1e92f 100644
--- a/src/Bindings/LuaState.cpp
+++ b/src/Bindings/LuaState.cpp
@@ -859,6 +859,32 @@ void cLuaState::GetStackValue(int a_StackPos, eWeather & a_ReturnedVal)
+void cLuaState::GetStackValue(int a_StackPos, pBoundingBox & a_ReturnedVal)
+{
+ tolua_Error err;
+ if (tolua_isusertable(m_LuaState, a_StackPos, "cBoundingBox", false, &err))
+ {
+ a_ReturnedVal = (cBoundingBox *)lua_touserdata(m_LuaState, a_StackPos);
+ }
+}
+
+
+
+
+
+void cLuaState::GetStackValue(int a_StackPos, pWorld & a_ReturnedVal)
+{
+ tolua_Error err;
+ if (tolua_isusertable(m_LuaState, a_StackPos, "cWorld", false, &err))
+ {
+ a_ReturnedVal = (cWorld *)lua_touserdata(m_LuaState, a_StackPos);
+ }
+}
+
+
+
+
+
bool cLuaState::CallFunction(int a_NumResults)
{
ASSERT (m_NumCurrentFunctionArgs >= 0); // A function must be pushed to stack first
diff --git a/src/Bindings/LuaState.h b/src/Bindings/LuaState.h
index eeb93fd4d..fd506b10e 100644
--- a/src/Bindings/LuaState.h
+++ b/src/Bindings/LuaState.h
@@ -59,6 +59,10 @@ class cTNTEntity;
class cCreeper;
class cHopperEntity;
class cBlockEntity;
+class cBoundingBox;
+
+typedef cBoundingBox * pBoundingBox;
+typedef cWorld * pWorld;
@@ -230,6 +234,12 @@ public:
/** Retrieve value at a_StackPos, if it is a valid number, converting and clamping it to eWeather.
If not, a_Value is unchanged. */
void GetStackValue(int a_StackPos, eWeather & a_Value);
+
+ /** Retrieve value at a_StackPos, if it is a valid cBoundingBox class. If not, a_Value is unchanged */
+ void GetStackValue(int a_StackPos, pBoundingBox & a_Value);
+
+ /** Retrieve value at a_StackPos, if it is a valid cWorld class. If not, a_Value is unchanged */
+ void GetStackValue(int a_StackPos, pWorld & a_Value);
// Include the cLuaState::Call() overload implementation that is generated by the gen_LuaState_Call.lua script: