Train Schedules are used to instruct non-player Train conductors.
Obtaining[]
Crafting[]
| Name | Ingredients | Recipe |
|---|---|---|
| Train Schedule | Sturdy Sheet + Paper |
Usage[]
Right-click a valid conductor with a schedule to give it to them. A conductor must either be a mob Seated directly in front of Train Controls on an assembled Train or a Blaze Burner positioned similarly.
Programming[]
The Train will continue past Station East at 20% max speed if a player is seated AND the cargo has been inactive for 5 seconds, OR at 8:00 AM daily.
Right click with the Schedule in hand to open the interface. 3 types of commands can be added.
- Travel to Station - Navigate to a specified Train Station.
- Update Schedule Title - Name of route as displayed by the Train Station summary in the Display Link.
- Limit Max Speed - Change max speed when traveling to a station.
Station Recognition[]
Naming[]
Train Stations can be specified by simply typing their name in the appropriate field. Train Stations can be given unique names in their own interface. If multiple stations have the same name, the conductor will choose the nearest accessible and unoccupied station of them. A conductor will not navigate to a different station that has the same name as the one they're currently at.
"*" can be used as a wildcard character. If a Train is scheduled to arrive at "Station *", it can arrive at either "Station 1" or "Station 2" depending on which is more accessible. Though it will not leave either Station if the next command is also "Station *".
Suggested Stations[]
While inputting a Train Station name, suggestions will show up below the input. Initially, suggested stations will show up in the Schedule's interface in order of proximity to the player, regardless of if they're connected to the same rail network. Once one station is input to the Schedule, then only stations on the same network will be suggested.
Conditions[]
The Travel to Station command allows for multiple AND or OR conditions to be added. All of these conditions can be checked regardless of if the chunk is loaded, though Cargo conditions may not be met as unloaded chunks cannot change the Train's cargo. The Train will continue to the next station if or after these conditions are met:
- Scheduled Delay - Wait for 0-120 ticks, seconds, or minutes.
- Time of Day - Beginning at an in-game hour, and repeating at a specified interval (Daily, every 12 hours, from every 6 hours to hourly, or every 45, 30, or 15 minutes)
- Fluid Cargo Condition - If the Train has more than, less than, or exactly a specified amount of a fluid. Filters optional.
- Item Cargo Condition - If the Train has more than, less than, or exactly a specified amount of items or stacks of items. Filters optional.
- Redstone Link - If a Redstone Link sends or does not send a signal on the specified Frequency. This is checked globally, regardless of the link's range. No extra Redstone Links required.
- Players Seated - If the Train has exactly or at least a specified amount of players seated at any point.
- Cargo Inactivity - If there are no changes to Train Cargo within 0-120 ticks, seconds, or minutes.
- Chunk Unloaded - If or when a chunk unloads.
- Station Powered - If the station the Train is at is powered by Redstone.
Train Schedules can be set to loop infinitely.
Pathfinding[]
When a train is searching for the next station to navigate to, it looks for the nearest accessible and unoccupied station that matches the requested name (accounting for wildcards). The following points are considered:
- The word “nearest” refers to the length of track along the route, not the simple Euclidean (as-the-crow-flies) distance from the train’s current position.
- The train will consider both paths that begin with it moving forwards and backwards from its previous station. It will not consider paths that involve reversing part way along the path, however.
- The effective length of a path may be increased if it passes through certain locations that add a “penalty distance” on top of the actual geometric distance:
- Each time the path would pass through another train that is being manually driven, a penalty of 200 blocks is added.
- Each time the path would pass through another train that is not being manually driven but that has no schedule or whose schedule is paused, a penalty of 700 blocks is added.
- Each time the path would pass through another train that is waiting at a red signal, a penalty is added equal to 50 blocks plus one block per second that the train has been waiting, up to a maximum penalty of 50+1000=1050 blocks if the train has been waiting for 16:40.
- Each time the path would pass through another train that is slowing down for a signal or station, a penalty of 50 blocks is added.
- Each time the path would pass through any other train (i.e. one that is running normally on a schedule), a penalty of 25 blocks is added.
- Each time the path would pass through a signal that is red due to a redstone signal, a penalty of 400 blocks is added.
- Each time the path would pass through or end at a station that has a train stopped at it, a penalty of 300 blocks is added.
- Each time the path would pass through an unoccupied station that is not the desired destination, a penalty of 50 blocks is added.
Automatic Schedule Changing[]
Upon stopping at a station, if a Schedule is input to the station, the contents will be copied to the conductor's current schedule. The schedule itself will remain at the station.
Data values[]
ID[]
| Name | Namespaced ID | Form | Translation key |
|---|---|---|---|
| Train Schedule | create:train_schedule
|
Item | item.create.train_schedule
|
History[]
- 0.5.1: Filters and Schedules can now be reset via crafting
- 0.5e: Cargo Conditions in schedules now match any cargo if no filter is specified
- 0.5a:
- Renamed Throttle schedule instruction to avoid confusion
- Players are no longer considered valid drivers to schedules
- 0.5: Introduced.
| Items | |
|---|---|
| Raw Materials | |
| Manufactured | |
| Tools | |
| Crafting Components | |
| Food-related | |
| Utility | |
| Removed Items | |