skeleton
commit
137cbe97ec
|
@ -0,0 +1,17 @@
|
|||
name: luacheck
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: apt
|
||||
run: sudo apt-get install -y luarocks
|
||||
- name: luacheck install
|
||||
run: luarocks install --local luacheck
|
||||
- name: luacheck run
|
||||
run: $HOME/.luarocks/bin/luacheck ./
|
|
@ -0,0 +1,17 @@
|
|||
globals = {
|
||||
"advtrains"
|
||||
}
|
||||
|
||||
read_globals = {
|
||||
-- Stdlib
|
||||
string = {fields = {"split"}},
|
||||
table = {fields = {"copy", "getn"}},
|
||||
|
||||
-- Minetest
|
||||
"minetest",
|
||||
"vector", "ItemStack",
|
||||
"dump", "screwdriver",
|
||||
|
||||
-- Deps
|
||||
"default"
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
|
||||
-- id -> true
|
||||
local disabled_trains = {}
|
||||
|
||||
local timer = 0
|
||||
minetest.register_globalstep(function(dtime)
|
||||
timer = timer + dtime
|
||||
if timer < 2 then return end
|
||||
timer=0
|
||||
|
||||
disabled_trains = {}
|
||||
local max_range = 500
|
||||
local players = minetest.get_connected_players()
|
||||
for id, train in pairs(advtrains.trains) do
|
||||
disabled_trains[id] = true
|
||||
local tpos = train.last_pos
|
||||
for _, player in pairs(players) do
|
||||
local ppos = player:get_pos()
|
||||
local distance = vector.distance(tpos, ppos)
|
||||
if distance < max_range then
|
||||
-- enable train
|
||||
disabled_trains[id] = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
local old_train_ensure_init = advtrains.train_ensure_init
|
||||
advtrains.train_ensure_init = function(k, v)
|
||||
if disabled_trains[k] then
|
||||
return
|
||||
else
|
||||
return old_train_ensure_init(k, v)
|
||||
end
|
||||
end
|
||||
|
||||
local old_train_step_b = advtrains.train_step_b
|
||||
advtrains.train_step_b = function(k, v, dtime)
|
||||
if disabled_trains[k] then
|
||||
return
|
||||
else
|
||||
return old_train_step_b(k, v, dtime)
|
||||
end
|
||||
end
|
||||
|
||||
local old_train_step_c = advtrains.train_step_c
|
||||
advtrains.train_step_c = function(k, v, dtime)
|
||||
if disabled_trains[k] then
|
||||
return
|
||||
else
|
||||
return old_train_step_c(k, v, dtime)
|
||||
end
|
||||
end
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
local MP = minetest.get_modpath("advtrains_custom")
|
||||
|
||||
dofile(MP.."/disable_far_away.lua")
|
Loading…
Reference in New Issue