- Fixed Stations and Signals not properly rotating with schematics
- Fixed Bezier tracks not costing anything to the cannon
- Fixed Bezier tracks not being placed by the cannon
- Streamlined a number of existing recipe paths
- Added recipes for new items and blocks
- Creating bogeys in survival mode now requires railway casing
- Carriages now track stored items and fluids
- Fixed a number of inconsistencies in the new PSI behaviour
- Fixed several issues with portal cut-off
- PSIs can no longer interface with carriage contraptions that are located in two dimensions
- Trackgraphs and trains now properly differentiate between the dimensions they are located in
- Tracks placed next to a nether portal will attempt to connect to a second track piece in the nether
- 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
- Refactor the ArmInteractionPoint system
- ArmInteractionPointTypes are now used instead of instances
- Point types can now have a priority that determines the primary type
at a certain location
- Points can now deserialize arbitrary data
- Points' cached BlockState is now updated before it is used
- Points now store the Level directly
- Default types are now registered in AllArmInteractionPointTypes
- Add point types for campfires and respawn anchors
- Fix arms being able to insert any item into composters
- Delete unused flag models and texture
- Make all BehaviorType instances final
- 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
- Track curves now drop items when destroyed
- Track curves now spawn particles when destroyed
- Fixed tamed wolves not accepting schedules when driving a train
- Fixed girders not being consumed when placing girder tracks
- Fixed break-overlay of connected tracks not going away after track is 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
- Fixed signaling edge groups not being cleared when a signal migrates graphs
- Graphs without any signals now create a fallback group
- Fixed removed signals not clearing signal groups of previously affected edges
- Signaling sections now use a fixed set of colours
- Colours of signaling sections now try to be distinct from neighbouring sections
- Colours of signal sections now get synched to the client
- Edges now keep track of any intersections with bezier turns that cannot be part of the underlying graph structure
- Signaling sections now consider all other intersecting sections when checking whether they are occupied
- Holding a signal block now highlights nearby tracks with their respective section colour
- Graphs now keep track of a boundary box
- Track edges now carry back-references to their nodes
- Graph debugger moved from keypress to f3