Move chatcommands to a seperate mod

This commit is contained in:
a-bad-dev 2025-12-12 15:56:50 -04:00
commit 44c1be6a55
292 changed files with 50 additions and 45 deletions

View file

@ -0,0 +1,42 @@
local api = {}
local MODNAME = minetest.get_current_modname()
rawset(_G, MODNAME, api)
local files = {
"bullet.lua",
"ammo.lua"
}
for _, file in ipairs(files) do
dofile(minetest.get_modpath(MODNAME).."/"..file)
end
local checking = {}
-- Returns false if the automatic timer is currently running, returns true otherwise
function api.enable_automatic(fire_interval, itemstack, user)
local pname = user:get_player_name()
if checking[pname] then return false end
checking[pname] = minetest.after(fire_interval, function()
checking[pname] = nil
if user and user:get_player_control().LMB then
local wielded = user:get_wielded_item()
if wielded:get_name() == itemstack:get_name() then
user:set_wielded_item(itemstack:get_definition().on_use(wielded, user, {type = "nothing"}) or wielded)
end
end
end)
return true
end
minetest.register_on_leaveplayer(function(player)
local pname = player:get_player_name()
if checking[pname] then
checking[pname]:cancel()
end
end)