For use in multiplayer Minecraft in Lexawaken Transportation Authority regional rail and tram territory.
Version 5 has moved to using decimeters per tick as the primary discussed unit of speed. They are scaled by one decimal place from TrainCarts’s native blocks per tick to roll off the tongue easier (and the railroad’s sign shop) and to better capture how fast it feels like a train goes over a multiplayer Minecraft world.
Version 5a adds speeds 10 "dec" and replaces 13 with 14 "dec" for the 100kph/60mph sweet spot.
The original HTB installations involve a brick block sticking up out of low platforms supporting the button. The name was also inspired in part by a meme featuring the phrase.
The arriving end of each platform (the exit end in the case of stubs and pockets) has a button near the platform edge that spawns a train of a predetermined class and slowly rolls it to the stop marker, to be boarded by a user who actuated the button with the intent to board the train. Several buttons may occupy the same area, each spawning a different applicable train class, and the installation may be implemented in a ticket vending machine decoration or elsewhere.
Place one of the below signs with a redstone connection to the appropriate button.
[train]
spawn -0.25
yourtrainclass
[train]
spawn 0.25
yourtrainclass
The spawn directions are with reference to the attached side of the sign, and the sign is assumed perpendicular to the track (text facing sideways or abeam the tracks). Some terminal situations may warrant a speed other than 2.5 dm/t for spawning and spotting.
On one or more train classes’ spawners, you may wish to employ an ! in the sign powered setting to cause the sign to trigger on a redstone low instead of a high. This allows locking-out of the HTB system on a train-class basis if the station is to gain or lose express service flexibly.
Not your typical ETCS…
If the server hosting your TrainCarts railroad is concerned about performance, then it is likely that train presets do not feature properties for keeping chunks loaded. If nobody is loading chunks near the station, then upon pulling out of it and hitting the first unloaded chunk, trains are likely to become stuck and not respond to TC controls, as well as fouling the railroad for any other user. Therefore, in conjunction with limited spawning of trains via HTB, ETCS allows empty trains to be eliminated after pulling out of the station, preserving immersion and server performance alike.
[+train]
skip
!empty
[+train]
destroy
[+train]
skip 0 2
!empty
[+train]
destroy
[+train]
skip 0 2
!empty
General acceleration/deceleration
[+train]
launch yourparameter
yourtargetspeed
yourparameter may take on 0.5Gb, 0.5G, or yourdistancetorun to set acceleration as Bézier, linear, and linear from distance-to-run, respectively. Furthermore, 0.5G is replaceable with whatever standard rate you choose.
Speed change on bidirectional track
As if you were putting down a speed board and painting onto both sides, put each of the acceleration/deceleration directives next to one another on the side a train should obey them from. Then, put the following to either side:
[+train]
skip 1 2
Station stop marker with limited acceleration
[+train]
station yourdistancetorun
yourdwelltime
yourlaunchdirection
yourdistancetorun should be selected based on the train class that stops here that has the highest top speed.
Expresses skip a station
Before the stop marker,
[+train]
skip yourdelay yourcount
yourtag
yourdelay sets how many signs the train won’t skip, i.e. how many before it starts applying the skip directive. yourcount sets how many are skipped thereafter. Adjust these if your rulebook is more advanced, such as expresses getting to highball instead of having to decelerate when passing platforms.
Remove the + in the sign powered setting on the first line to enable redstone control, e.g. for flexibly changing the service pattern for expresses.
Accelerate from a station stop, but to a speed short of the train class’s Vmax
After a station stop marker and within about one or two train lengths, add a general acceleration sign configured for linear acceleration and with a speed target of your choosing, e.g. for entering an interlocking at safe speeds. Here I specified “linear acceleration” in accordance with this statement on LTA Regio standards:
Avoid the use of Bézier curves when accelerating from a station stop; station launches are, as we understand them, linear
| Situation | dm/t | m/s | km/h | mph |
|---|---|---|---|---|
| Really crunchy turnouts, esp. trams | 1 | 2.0 | 7.2 | 4.5 |
| Spicy turnouts, esp. trams | 2.5 | 5.0 | 18.0 | 11.2 |
| Street and station running, slow | 4 | 8.0 | 28.8 | 17.9 |
| Street and station running, moderate | 5 | 10.0 | 36.0 | 22.4 |
| Street or dedicated running, moderate | 7 | 14.0 | 50.4 | 31.3 |
| NORAC Limited speed | 10 | 20.0 | 72.0 | 44.7 |
| Street or dedicated running, nyooming | 11 | 22.0 | 79.2 | 49.2 |
| FRA class 3/4 | 14 | 26.0 | 100.8 | 62.6 |
| FRA class 4/5 | 18 | 36.0 | 129.6 | 80.5 |
| FRA class 6* | 22 | 44.0 | 158.4 | 98.4 |
| FRA class 7, emerging High Speed** | 28 | 56.0 | 201.6 | 125.3 |
| Conversion factors | x | 2x | 7.2x | *** |
* Chunk loading may suffer on lower-end servers
** Chunk loading will absolutely suffer on lower-end servers
***
| Greater speed (dm/t) | Lesser speed (dm/t) | at (m) | at (m) |
|---|---|---|---|
| 28 | 22 | 122 | 153 |
| 28 | 18 | 188 | 235 |
| 28 | 14 | 240 | 300 |
| 28 | 11 | 271 | 338 |
| 28 | 10 | 279 | 349 |
| 28 | 7 | 300 | 375 |
| 28 | 5 | 310 | 387 |
| 28 | 4 | 313 | 392 |
| 28 | 2.5 | 317 | 397 |
| 28 | 1 | 320 | 399 |
| 28 | 0 | 320 | 400 |
| 22 | 18 | 65 | 82 |
| 22 | 14 | 118 | 147 |
| 22 | 11 | 148 | 185 |
| 22 | 10 | 157 | 196 |
| 22 | 7 | 178 | 222 |
| 22 | 5 | 187 | 234 |
| 22 | 4 | 191 | 239 |
| 22 | 2.5 | 195 | 244 |
| 22 | 1 | 197 | 246 |
| 22 | 0 | 198 | 247 |
| 18 | 14 | 52 | 65 |
| 18 | 11 | 83 | 104 |
| 18 | 10 | 91 | 114 |
| 18 | 7 | 112 | 140 |
| 18 | 5 | 122 | 153 |
| 18 | 4 | 126 | 157 |
| 18 | 2.5 | 130 | 162 |
| 18 | 1 | 132 | 165 |
| 18 | 0 | 132 | 165 |
| 14 | 11 | 31 | 38 |
| 14 | 10 | 39 | 49 |
| 14 | 7 | 60 | 75 |
| 14 | 5 | 70 | 87 |
| 14 | 4 | 73 | 92 |
| 14 | 2.5 | 77 | 97 |
| 14 | 1 | 80 | 99 |
| 14 | 0 | 80 | 100 |
| 11 | 10 | 9 | 11 |
| 11 | 7 | 29 | 37 |
| 11 | 5 | 39 | 49 |
| 11 | 4 | 43 | 54 |
| 11 | 2.5 | 47 | 59 |
| 11 | 1 | 49 | 61 |
| 11 | 0 | 49 | 62 |
| 10 | 7 | 21 | 26 |
| 10 | 5 | 31 | 38 |
| 10 | 4 | 34 | 43 |
| 10 | 2.5 | 38 | 48 |
| 10 | 1 | 40 | 51 |
| 10 | 0 | 41 | 51 |
| 7 | 5 | 10 | 12 |
| 7 | 4 | 13 | 17 |
| 7 | 2.5 | 17 | 22 |
| 7 | 1 | 20 | 24 |
| 7 | 0 | 20 | 25 |
| 5 | 4 | 4 | 5 |
| 5 | 2.5 | 8 | 10 |
| 5 | 1 | 10 | 12 |
| 5 | 0 | 10 | 13 |
| 4 | 2.5 | 4 | 5 |
| 4 | 1 | 6 | 8 |
| 4 | 0 | 7 | 8 |
| 2.5 | 1 | 2 | 3 |
| 2.5 | 0 | 3 | 3 |
| 1 | 0 | 1 | 1 |
| Arbitrary | Arbitrary |