Railcraft

Railcraft

34M Downloads

Routing book crash w/ Rider=entity

purpleposeidon opened this issue ยท 3 comments

commented

A routing book with the line:

Rider=entity:cow

Crashes when a player rides past:

java.lang.NullPointerException: Ticking block entity
	at mods.railcraft.common.util.routing.RoutingLogic$RiderCondition.lambda$matches$3(RoutingLogic.java:475)
	at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
	at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1351)
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
	at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:449)
	at mods.railcraft.common.util.routing.RoutingLogic$RiderCondition.matches(RoutingLogic.java:475)
	at mods.railcraft.common.util.routing.RoutingLogic$Condition.evaluate(RoutingLogic.java:191)
	at mods.railcraft.common.util.routing.RoutingLogic.lambda$evaluate$0(RoutingLogic.java:109)
	at java.util.stream.ReferencePipeline$4$1.accept(ReferencePipeline.java:210)
	at java.util.LinkedList$LLSpliterator.tryAdvance(LinkedList.java:1249)
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.IntPipeline.findFirst(IntPipeline.java:492)
	at mods.railcraft.common.util.routing.RoutingLogic.evaluate(RoutingLogic.java:109)
	at mods.railcraft.common.blocks.detector.types.DetectorRouting.testCarts(DetectorRouting.java:142)
	at mods.railcraft.common.blocks.detector.TileDetector.func_73660_a(TileDetector.java:154)
	at net.minecraft.world.World.func_72939_s(World.java:1804)
commented

Routing tables being kinda complex, maybe wrap 'er up in a try-catch?

commented

No, it is that we miss an annotation on an interface

commented

Oh... It is caused by players not having registry names.