Create

Create

86M Downloads

Signal Groups Ignore Dimensions

techno-sam opened this issue ยท 1 comments

commented

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

  1. 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.
  2. 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).
  3. Move a train onto the overworld track, like in the screenshot:
    overworld_signals
  4. Observe that the nether-side signal also turns red
    nether_signals

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.

commented

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..