--- /dev/null
+local legit_override
+
+local function get_override_factor(name)
+ if minetest.settings:get_bool("override_" .. name) then
+ return tonumber(minetest.settings:get("override_" .. name .. "_factor")) or 1
+ else
+ return 1.0
+ end
+end
+
+minetest.register_globalstep(function()
+ if not legit_override then return end
+ local override = table.copy(legit_override)
+ override.speed = override.speed * get_override_factor("speed")
+ override.jump = override.jump * get_override_factor("jump")
+ override.gravity = override.gravity * get_override_factor("gravity")
+ minetest.localplayer:set_physics_override(override)
+end)
+
+minetest.register_on_recieve_physics_override(function(override)
+ legit_override = override
+ return true
+end)
--- /dev/null
+override_speed (SpeedOverride) bool false
+override_jump (JumpOverride) bool false
+override_gravity (GravityOverride) bool false
+override_speed_factor (SpeedOverride Factor) float 1.2
+override_jump_factor (JumpOverride Factor) float 2.0
+override_gravity_factor (GravityOverride) float 0.8