master
BuckarooBanzay 2020-05-19 11:03:46 +02:00
commit 137cbe97ec
5 changed files with 92 additions and 0 deletions

17
.github/workflows/luacheck.yml vendored Normal file
View File

@ -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 ./

17
.luacheckrc Normal file
View File

@ -0,0 +1,17 @@
globals = {
"advtrains"
}
read_globals = {
-- Stdlib
string = {fields = {"split"}},
table = {fields = {"copy", "getn"}},
-- Minetest
"minetest",
"vector", "ItemStack",
"dump", "screwdriver",
-- Deps
"default"
}

54
disable_far_away.lua Normal file
View File

@ -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

4
init.lua Normal file
View File

@ -0,0 +1,4 @@
local MP = minetest.get_modpath("advtrains_custom")
dofile(MP.."/disable_far_away.lua")

0
readme.md Normal file
View File