This is an Excel spreadsheet for calculating minecart speeds, travel distances, roller/ramp placements, etc.
Tested and works: Regular tiles with rollers/pushes/track stops, single ramps with regular tracks in between.
Works more or less: Straight ramps up to ~25 z levels/200000 speed, ramp spirals with regular tracks/corners in between.
Untested/wrong: Long straight ramps, fluids on ramps, speed/tile skipping above 200k.
Usage:
Data input
Column D contains the track, it sets the impulse- and friction values according to the features entered.
note: If the cart is going faster then the added roller's impulse, the roller will be ignored.
ACCEPTED:
push: 20000
roller high+: 49990
roller high : 39990
roller low: 19990
roller med: 29990
roller low-: 9990
impulse ramp: 4910
DOWN ramp: 4910
UP ramp: -4890
corner ramp: -10/tick and -1000/tile
track : -10
corner: -10/tick and -1000/tile
bridge: -10
floor: -200
empty: 0
TS high+: -50000
TS high: -10000
TS med: -500
TS low: -50
TS low-: -10
blank is
NOT accepted
Column F is for calculating friction in water
ACCEPTED:
blank,0-7
Column G is for calculating friction in magma
ACCEPTED:
blank,0-7
Additionaly you can enter the "Z level" into any of the cells in column C, if any of the subsequent cells is an up/down ramp the Z level indicator will change accordingly.
If you want to delete the number just drag over any of the above/below cell.
Results
DON'T EDIT these:
Column A: tiles travelled from roller/push
the counter resets to zero when (valid) roller is added
Column B: steps that a cart travels
Column G: Minecart speed
Column H: Cart behaviour:
- speed>distance units: SKIP
- max speed: LIGHTSPEED
- >1 tile/step: TELEPORT
- >0,7 t/t: SHOTGUN
- >0,5 t/t: DERAIL MODE
- >0,1 t/t: SAFE
- >0 t/t: SNAIL MODE
- =0 t/t: !!STOP!!
- =0 t/t and cart is on an UP ramp: !Roll again!
Friction values and the accepted text can be modified on the second sheet of the workbook (friction data). If you modify column
A (tile types & source) you must sort these columns (A->Z) afterwards, or the formulas won't work! The data column ( B ) can be edited freely. But don't do this.
Changelog:
2.8
- Refined some of the ramp formulas
- Redid some of the formulas, should be .xls compatible again.
2.6
- Distance calculations:
a: speed
b: base friction
c: distance units (length of a tile)
cdelta: lefover distance units
n: ticks/tile
n = (sqrt(4a^2+4ab+b^2+8bc)-2a-b)/(2b) -- rounded down
cdelta=c-na+b((n^2+n)/2)
- Ramp distance units are ~1,4 times longer than regular tiles, but then they compensate for the longer distance. (Partly working)
- Rollers start a cart from the beginning of the roller tile, a push teleports it to the beginning (not the middle!) of the next tile
- Logic checks: ramps/rollers/drop influence a minecart from the middle of the previous tile. Exiting a ramp teleports a cart to the middle of the next tile.
- Tile skipping
- Multi-tile rollers are calculated correctly
- No more corner column, corners are entered in D
- Only .xlsx (Excel2007) version.
2.0
- Distance calculations are done with the 1.a formula with some modifications thanks to expwnent's instructions. Almost every calculation is integrer based now.
- Push starts the cart in the middle of the next tile, rollers start in the beginning of the tile
- Shotgun mode added to cart behaviour
- Z level indicator added
- Formating bling-blings
1.5
- Everything except for the "GUI".
- Tile friction is calculated with floating point precision. (was rounded up before) As a result roller speed is correct, testing shows ~1% precision.
- Track stops use rounded up steps to calculate friction. Testing shows this to be true.
- Ramps do not work... They are weird. Rounding up the steps generate too much speed, while using floating point generates too little... I think current release shows ~15% more speed then in DF. Any advice welcome.
1.a
- Merged the impulse and friction columns, it should be easier to design track layouts now. Sideeffect: rollers have tile friction (-10) now, and rollers on ramps only calculate tile friction instead of ramp friction, but as I understand roller mechanics it shouldn't matter much. Please tell me if I'm wrong....
- Improved autocomplete.
- Added impulse ramp, it's just a copy of DOWN ramp for now.
- Modified Column M, it's now a cart behaviour indicator, shows when a cart reaches speed milestones.
- Ramps travel distance is 50000 now. (was 100000 before, some posts indicate it should be half the distance) Max speed is reached after 48 ramps. - testing needed -
- Modified impulse values of rollers. (10000,20500,31500,42500,54000)
- Modified the friction calculations to make up for roller speed changes.
- Added Column D for calculating steps needed to complete the route. - testing needed -
- Multi-tile rollers will not behave correctly...
Enjoy.