Skip to content

Commit 8f1f376

Browse files
committedJul 30, 2017
Carts: Check for last pathfinder predition too
Minor fix to reduce cart jitter slightly
1 parent 71dff2a commit 8f1f376

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed
 

‎mods/carts/functions.lua

+11-5
Original file line numberDiff line numberDiff line change
@@ -159,23 +159,29 @@ function carts:get_rail_direction(pos_, dir, ctrl, old_switch, railtype)
159159
end
160160

161161
function carts:pathfinder(pos_, old_pos, old_dir, ctrl, pf_switch, railtype)
162+
if vector.equals(old_pos, pos_) then
163+
return true
164+
end
165+
162166
local pos = vector.round(pos_)
163167
local pf_pos = vector.round(old_pos)
164168
local pf_dir = vector.new(old_dir)
165169

166170
for i = 1, 3 do
167-
if vector.equals(pf_pos, pos) then
168-
-- Success! Cart moved on correctly
169-
return true
170-
end
171+
pf_dir, pf_switch = carts:get_rail_direction(
172+
pf_pos, pf_dir, ctrl, pf_switch, railtype)
171173

172-
pf_dir, pf_switch = carts:get_rail_direction(pf_pos, pf_dir, ctrl, pf_switch, railtype)
173174
if vector.equals(pf_dir, {x=0, y=0, z=0}) then
174175
-- No way forwards
175176
return false
176177
end
177178

178179
pf_pos = vector.add(pf_pos, pf_dir)
180+
181+
if vector.equals(pf_pos, pos) then
182+
-- Success! Cart moved on correctly
183+
return true
184+
end
179185
end
180186
-- Cart not found
181187
return false

0 commit comments

Comments
 (0)
Please sign in to comment.