- Modified the "time of day" schedule condition to allow for multiple trips per day
- Fixed girder wrenching not working on dedicated servers
- Fixed startup crash from the train hud on dedicated servers
- Backtanks now warn a player when reaching 10% and 0% respectively
- Pulleys can now be monitored with a Stockpile Switch
- Target blocks now act as a display source for analog redstone strength
- Right-clicking a conductor now resumes a previously paused schedule
- Players now wear a conductor head when sitting in driver seats
- Players no longer wear a conductor head while wearing another helmet
- Manual train controls no longer allow approaching an occupied station
- Limited train status message dump to 3 latest entries
- Trains now communicate when no station on a graph actually matches the targeted filter
- Fixed Destination instruction not escaping regex characters
- Schedule autocomplete now defaults to listing all destinations when graph filtering leaves an otherwise empty set
- Created "Data-source" behaviour for Boilers, Seats, Kinetic Gauges, Enchantment Table and Fluid-Content Observers
- Minor refactors at some locations
- Changed whistle sound when used with trains
- Trains now have sound effects
- Bogeys now emit particle effects
- Steam engines now have sound effects
- Trains deal twice their damage to hostile mobs
- Implemented Cargo Threshold and Idle Cargo schedule conditions
- Added a redstone link schedule condition
- Refactored wait conditions to share a ui builder with display links
- Added jei item assignment support to schedule conditions
- Fixed de-sync with ghost item slots in the schedule UI
- Fixed constant updates firing from stockpile switches
- Fixed navigation not factoring in red signals leading to occupied blocks
- Fixed navigation not updating when waiting for a red chain signal near a station
- Fixed train carriages with passengers not spawning in correctly
- Railway Casing -> Train Casing
- Streamlined a number of existing recipe paths
- Added recipes for new items and blocks
- Creating bogeys in survival mode now requires railway casing
- Trains now play a sound sequence based on attached blocks when arriving at a station after travelling for some time
- Trains can now be stalled by movement behaviours of mounted blocks
- Fixed bells constantly activating when mounted to a train
- Max train length is now configurable and substantially longer
- Increased distance at which activated whistles can be heard
- Super glue captured by schematics or /c clone now gets cropped to the selected boundary
- Controlled contraptions now save their anchor block position in relative coords
- Encased fans can no longer provide stress capacity as generators
- Removed the Furnace Engine
- Added Kryppers' new Flywheel model
- Fixed inverted stress capacity labels in tooltips
- Removed speed requirements from tooltips
- Fixed belt tickers not properly being removed when parts of the belts are destroyed
- Fixed train relocation not working
- Train relocation now works on selected beziers
- Fixed trains with driverless backward controls not navigating forward
- Fixed trains not properly stopped by dead ends
- Fixed tracks not separating edges meeting at 45 degrees
- Assembly screen now shows whether any drives are present on the train
- Track placement and pavement now checks and consumes inventory items in survival mode
- Signals and Stations can no longer share a location on a track
- Multiple stations can no longer share a location on a track
- Signals and Stations now render their overlay during the track selection process
- Train Navigation can no longer approach or pass through stations currently in assembly mode
- Station screen now displays whether trains can be (dis-)assembled
- Bezier turn segments between tracks can now be hovered as if they were blocks
- Bezier turns can now be destroyed by breaking any of their segments
- Signals and Stations can now be pointed to anywhere on a track, not only to physical blocks
- Added a basic collision shape for straight tracks
- Schedules now display stops in their tooltip
- Schedules can now be given a name through one of their instructions
- Fixed Display boards rendering cogs on the wrong axis
- Updated bogey assets
- Schedules are now consumed and returned when added/removed from Trains
- Added a schedule retrieval option to the Stations' UI
- Schedule items now keep track of their 'progress', which can be modified to skip stations
- Fixed crash when displaying station summary on a tiny display
- Fixed display boards breaking each other when blocks are added after providing rotational force
- Added placement assist for Display Boards
- Stations can now be given a Schedule via funnels/hoppers, which will apply a copy to its train
- Added the Display Board
- Added the Data Gatherer
- Nixie Tubes no longer animate text from "dynamic" vanilla text components
- Trains now keep travel time statistics for prediction purposes
- Created "Data-target" behaviour for Signs, Display Boards, Lecterns and Nixie Tubes
- Created "Data-source" behaviour for Train Stations, Clocks, Nixie Tubes, Content Observers, Stockpile Switches, Respawn Anchors, Depots, Belts, Belt Tunnels and Command Blocks
- Fix ColorAttribute not showing color name
- Refactor some code related to SpeedLevel
- Improve goggles predicate API
- Make ToolboxInventory use Item#canFitInsideContainerItems
- Prevent toolbox items from being placed inside of shulker boxes
- Fix shadow steel always converting below y=0 instead of the min build
height
- Added a new signal mode for easier junction & platform management
- Fixed crash during trains' tick after a collision
- Fixed Trains trying to avoid their own carriages in navigation
- Fixed Trains trying to avoid their own station in navigation
- Fixed Trains triggering signals behind their targeted station
- Fixed Trains reversing mid-travel when path cost behind them is lower
- Wait time at signals now affects the tick order of Trains
- Trains no longer change destination when they are close to arriving at their initial choice
- Fixed crashed trains no longer keeping signal blocks occupied
- Fixed crash when a trains' path update is unable to find the original destination
- Improved precision of trains arriving at signals/stations