aboutsummaryrefslogtreecommitdiff
path: root/src/script/cpp_api
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2020-11-23 19:10:56 +0100
committerElias Fleckenstein <eliasfleckenstein@web.de>2020-11-23 19:10:56 +0100
commit82216e1476dff509ba0c83bfabf5e4ec6e1075b2 (patch)
tree0bc00cf47843de86fc18ce03c5866831848a5209 /src/script/cpp_api
parent4dd5ecfc552819ad24557df75b441fab18c0c96a (diff)
downloaddragonfireclient-82216e1476dff509ba0c83bfabf5e4ec6e1075b2.tar.xz
LocalPlayer:set_physics_override; minetest.register_on_recieve_physics_override
Diffstat (limited to 'src/script/cpp_api')
-rw-r--r--src/script/cpp_api/s_client.cpp16
-rw-r--r--src/script/cpp_api/s_client.h1
2 files changed, 17 insertions, 0 deletions
diff --git a/src/script/cpp_api/s_client.cpp b/src/script/cpp_api/s_client.cpp
index dd9019d4d..981b08537 100644
--- a/src/script/cpp_api/s_client.cpp
+++ b/src/script/cpp_api/s_client.cpp
@@ -221,6 +221,22 @@ bool ScriptApiClient::on_item_use(const ItemStack &item, const PointedThing &poi
return readParam<bool>(L, -1);
}
+bool ScriptApiClient::on_recieve_physics_override(float speed, float jump, float gravity, bool sneak, bool sneak_glitch, bool new_move)
+{
+ SCRIPTAPI_PRECHECKHEADER
+
+ // Get core.registered_on_recieve_physics_override
+ lua_getglobal(L, "core");
+ lua_getfield(L, -1, "registered_on_recieve_physics_override");
+
+ // Push data
+ push_physics_override(L, speed, jump, gravity, sneak, sneak_glitch, new_move);
+
+ // Call functions
+ runCallbacks(1, RUN_CALLBACKS_MODE_OR);
+ return readParam<bool>(L, -1);
+}
+
bool ScriptApiClient::on_inventory_open(Inventory *inventory)
{
SCRIPTAPI_PRECHECKHEADER
diff --git a/src/script/cpp_api/s_client.h b/src/script/cpp_api/s_client.h
index 177dce3ea..2ad3bcfad 100644
--- a/src/script/cpp_api/s_client.h
+++ b/src/script/cpp_api/s_client.h
@@ -57,6 +57,7 @@ public:
bool on_punchnode(v3s16 p, MapNode node);
bool on_placenode(const PointedThing &pointed, const ItemDefinition &item);
bool on_item_use(const ItemStack &item, const PointedThing &pointed);
+ bool on_recieve_physics_override(float override_speed, float override_jump, float override_gravity, bool sneak, bool sneak_glitch, bool new_move);
bool on_inventory_open(Inventory *inventory);
void open_enderchest();