Skip to content

Commit

Permalink
add option to entirely disable choppy
Browse files Browse the repository at this point in the history
  • Loading branch information
fluxionary committed Apr 3, 2024
1 parent 7e23163 commit 9571c16
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 3 deletions.
3 changes: 3 additions & 0 deletions .check_date.sh
@@ -0,0 +1,3 @@
#!/usr/bin/env bash
grep $(date -u -I) mod.conf
exit $?
7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Expand Up @@ -17,6 +17,13 @@ repos:
pass_filenames: true
exclude: .pre-commit-config.yaml
fail_fast: true
- id: date_version
name: date version
language: script
entry: .check_date.sh
files: mod.conf
always_run: true
fail_fast: true
- id: stylua
name: stylua
language: system
Expand Down
40 changes: 39 additions & 1 deletion api/enabled.lua
Expand Up @@ -89,8 +89,46 @@ function api.set_initialized(player_name)
initialized_cache[player_name] = true
end

local disabled_cache = {}

local function disabled_key(player_name)
return f("disabled:%s", player_name)
end

function api.is_disabled(player_name)
if type(player_name) ~= "string" then
player_name = player_name:get_player_name()
end

local disabled = disabled_cache[player_name]
if disabled == nil then
local key = disabled_key(player_name)
disabled = is_yes(mod_storage:get(key))
disabled_cache[player_name] = disabled
end
return disabled
end

function api.toggle_disabled(player_name)
if type(player_name) ~= "string" then
player_name = player_name:get_player_name()
end

local key = disabled_key(player_name)
local disabled = disabled_cache[player_name]
if disabled == nil then
disabled = is_yes(mod_storage:get(key))
end

disabled = not disabled

mod_storage:set_string(key, disabled and "y" or "")
disabled_cache[player_name] = disabled
return disabled
end

function api.is_enabled(player)
if not api.is_initialized(player) then
if api.is_disabled(player) or not api.is_initialized(player) then
return false
end

Expand Down
11 changes: 11 additions & 0 deletions commands.lua
Expand Up @@ -22,3 +22,14 @@ minetest.register_chatcommand("visualize_choppy", {
end
end,
})

minetest.register_chatcommand("disable_choppy", {
description = S("toggles whether choppy is completely disabled or not"),
func = function(name)
if api.toggle_disabled(name) then
return true, S("choppy is now completely disabled")
else
return false, S("choppy is now enabled")
end
end,
})
4 changes: 2 additions & 2 deletions mod.conf
Expand Up @@ -5,8 +5,8 @@ website = https://content.minetest.net/packages/rheo/choppy/
author = fluxionary
license = LGPL-3.0-or-later
media_license = CC-BY-SA-4.0
version = 2023-05-11
min_minetest_version = 5.7.0
version = 2024-04-03
min_minetest_version = 5.8.0
supported_games = *
depends = fmod, futil
optional_depends = exhaustion_effect, ferns, staminoid

0 comments on commit 9571c16

Please sign in to comment.