diff --git a/src/main/java/com/simibubi/create/content/trains/graph/EdgeData.java b/src/main/java/com/simibubi/create/content/trains/graph/EdgeData.java index 8e15284f6..221d0ece5 100644 --- a/src/main/java/com/simibubi/create/content/trains/graph/EdgeData.java +++ b/src/main/java/com/simibubi/create/content/trains/graph/EdgeData.java @@ -107,6 +107,8 @@ public class EdgeData { if (!hasSignalBoundaries()) return getEffectiveEdgeGroupId(graph); SignalBoundary firstSignal = next(EdgePointType.SIGNAL, 0); + if (firstSignal == null) + return null; UUID currentGroup = firstSignal.getGroup(edge.node1); for (TrackEdgePoint trackEdgePoint : getPoints()) { diff --git a/src/main/java/com/simibubi/create/content/trains/graph/TrackGraph.java b/src/main/java/com/simibubi/create/content/trains/graph/TrackGraph.java index 10cace626..f72159062 100644 --- a/src/main/java/com/simibubi/create/content/trains/graph/TrackGraph.java +++ b/src/main/java/com/simibubi/create/content/trains/graph/TrackGraph.java @@ -505,7 +505,7 @@ public class TrackGraph { SignalEdgeGroup group = Create.RAILWAYS.signalEdgeGroups.get(groupId); SignalEdgeGroup otherGroup = Create.RAILWAYS.signalEdgeGroups.get(otherGroupId); - if (group == null || otherGroup == null) + if (group == null || otherGroup == null || groupId == null || otherGroupId == null) continue; intersection.groupId = groupId;