Skip to content

Commit

Permalink
Fix #87 (again)
Browse files Browse the repository at this point in the history
  • Loading branch information
Sm0keySa1m0n committed Sep 1, 2023
1 parent a843167 commit 38998c1
Showing 1 changed file with 10 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -196,23 +196,26 @@ public boolean isCartLocked(AbstractMinecart cart) {
private boolean isSameTrainOrCart() {
final LockingMode lockingMode = LockingTrackBlock.getLockingMode(this.getBlockState());
if (lockingMode.getLockType().isTrain()) {
if (this.currentCart != null && this.prevCart != null) {
var extension = RollingStock.getOrThrow(this.currentCart);
var prevExtension = RollingStock.getOrThrow(this.prevCart);
if (extension.isSameTrainAs(prevExtension)) {
if (this.currentCart != null
&& this.currentCart.isAlive()
&& this.prevCart != null
&& this.prevCart.isAlive()) {
var rollingStock = RollingStock.getOrThrow(this.currentCart);
var prevRollingStock = RollingStock.getOrThrow(this.prevCart);
if (rollingStock.isSameTrainAs(prevRollingStock)) {
// reset trainDelay
this.trainDelay = TRAIN_LOCKDOWN_DELAY;
} else {
// We've encountered a new train, force the delay to 0, so we return false
this.trainDelay = 0;
}
} else if (this.trainLeaving && this.prevCart != null) {
var prevExtension = RollingStock.getOrThrow(this.prevCart);
} else if (this.trainLeaving && this.prevCart != null && this.prevCart.isAlive()) {
var prevRollingStock = RollingStock.getOrThrow(this.prevCart);
if (EntitySearcher.findMinecarts()
.at(this.getBlockPos())
.stream(this.level)
.map(RollingStock::getOrThrow)
.anyMatch(cart -> cart.isSameTrainAs(prevExtension))) {
.anyMatch(cart -> cart.isSameTrainAs(prevRollingStock))) {
this.trainDelay = TRAIN_LOCKDOWN_DELAY;
}
}
Expand Down

0 comments on commit 38998c1

Please sign in to comment.