diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java index 8f5ccbd92..104fc3f42 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java @@ -13,6 +13,9 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceKey; +import net.minecraft.server.MinecraftServer; public class StationUnloadedCondition extends ScheduleWaitCondition { @Override @@ -25,9 +28,16 @@ public class StationUnloadedCondition extends ScheduleWaitCondition { GlobalStation currentStation = train.getCurrentStation(); if (currentStation == null) return false; - if (level instanceof ServerLevel serverLevel) - return !serverLevel.isPositionEntityTicking(currentStation.getTilePos()); - return false; + BlockPos stationPos = currentStation.getTilePos(); + ResourceKey stationDim = currentStation.getTileDimension(); + MinecraftServer server = level.getServer(); + if (server == null) + return false; + ServerLevel stationLevel = server.getLevel(stationDim); + if (stationLevel == null) { + return false; + } + return !stationLevel.isPositionEntityTicking(currentStation.getTilePos()); } @Override @@ -45,4 +55,4 @@ public class StationUnloadedCondition extends ScheduleWaitCondition { public MutableComponent getWaitingStatus(Level level, Train train, CompoundTag tag) { return Lang.translateDirect("schedule.condition.unloaded.status"); } -} \ No newline at end of file +}