Skip to content
Snippets Groups Projects
Select Git revision
  • 1f4b53348ea81963228ebada71ac4830cefa4c88
  • main default protected
  • docker
  • feature-tracker
  • fix-api
  • feature-event-wizard
  • feature-akslides
  • fix-history-interest
  • feature-constraint-checking-wip
  • feature-constraint-checking
10 results

urls.py

Blame
  • Forked from KIF / AKPlanning
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    stop_on_inactivity.lua 1.59 KiB
    local DISABLE_TIMEOUT = tonumber(minetest.settings:get("kif_custom.advtrains.disable_timeout")) or 60 * 60
    
    local trains_disabled = #minetest.get_connected_players() == 0
    local disable_job = nil
    
    
    minetest.register_on_joinplayer(function(player, last_login)
    	-- activate trains
    	if disable_job ~= nil then
    		disable_job:cancel()
    		disable_job = nil
    	end
    	if trains_disabled then
    		minetest.log("action", "[kif_custom] Enabling trains.")
    		trains_disabled = false
    	end
    end)
    
    minetest.register_on_leaveplayer(function(player, timed_out)
    	if #minetest.get_connected_players() <= 1 then	-- leaving player is still counted
    		-- deactivate trains
    		if disable_job == nil then
    			disable_job = minetest.after(DISABLE_TIMEOUT, function()
    				minetest.log("action", "[kif_custom] No player logged in for a time. Disabling trains.")
    				trains_disabled = true
    				disable_job = nil
    			end)
    		end
    	end
    end)
    
    
    -- overrides
    
    assert(type(advtrains.train_ensure_init) == "function")
    local old_train_ensure_init = advtrains.train_ensure_init
    advtrains.train_ensure_init = function(k, v)
    	if trains_disabled then
    		return
    	else
    		return old_train_ensure_init(k, v)
    	end
    end
    
    assert(type(advtrains.train_step_b) == "function")
    local old_train_step_b = advtrains.train_step_b
    advtrains.train_step_b = function(k, v, dtime)
    	if trains_disabled then
    		return
    	else
    		return old_train_step_b(k, v, dtime)
    	end
    end
    
    assert(type(advtrains.train_step_c) == "function")
    local old_train_step_c = advtrains.train_step_c
    advtrains.train_step_c = function(k, v, dtime)
    	if trains_disabled then
    		return
    	else
    		return old_train_step_c(k, v, dtime)
    	end
    end