Signal Groups Ignore Dimensions
techno-sam opened this issue ยท 1 comments
Describe the Bug
If two track curves in different dimensions occupy the exact same position, and signals are set up in both dimensions, then there will be only one Signal Group, shared between the dimensions, because the two tracks are considered to be intersecting.
This causes a train in one dimension to produce a red signal in the other dimension.
Reproduction Steps
- Hollow out a space centered on (0, 0, 0) in the overworld and nether, and place a gold block at (0, 0, 0) in both dimensions.
- Place the attached schematic in each dimension, so that the gold block in the schematic is at (0, 0, 0) and the redstone block is at (4, 0, -1).
- Move a train onto the overworld track, like in the screenshot:
- Observe that the nether-side signal also turns red
Schematic for reproduction (zipped so github accepts it):
demo.zip
Expected Result
The signal groups would be separated per-dimension (I understand inter-dimensional edges with portals have an exception).
Screenshots and Videos
No response
Crash Report or Log
No response
Operating System
Ubuntu 22.04.1
Mod Version
0.5.1f
Minecraft Version
1.19.2
Forge Version
43.3.0
Other Mods
Create was the only mod installed
Additional Context
It appears (after an hour-long debugging session) that when the TrackPropagator/TrackGraph calls com.simibubi.create.content.trains.graph.EdgeData#addIntersection
, it does not include any checks that the 'intersecting' edges are actually in the same dimension.
@HB-Stratos originally discovered this bug, and we've been working together to find exact reproduction steps.
also an issue on 1.20 with create-1.20.1-0.5.1.f its actually blocking @simibubi 's train station on our server..