Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/generated/resources/assets/create/lang/en_ud.json
Original file line number Diff line number Diff line change
Expand Up @@ -3087,7 +3087,7 @@
"create.train.status.missing_driver": "buıssıɯ ǝuob sɐɥ ɹǝʌıɹᗡ",
"create.train.status.navigation_success": "pǝpǝǝɔɔns uoıʇɐbıʌɐN",
"create.train.status.no_match": ",%1$s, sǝɥɔʇɐɯ ɥdɐɹb uo uoıʇɐʇs oN",
"create.train.status.no_package_target": "ssǝɹppɐ sʇı sǝɥɔʇɐɯ ʇɐɥʇ xoqʇsod ou sɐɥ obɹɐɔ uı ǝbɐʞɔɐd Ɐ",
"create.train.status.no_package_target": "ʇı ʇdǝɔɔɐ uɐɔ ʇɐɥʇ xoqʇsod ou sɐɥ obɹɐɔ uı ǝbɐʞɔɐd Ɐ",
"create.train.status.no_path": "punoɟ ǝq pןnoɔ uoıʇɐuıʇsǝp pǝןnpǝɥɔS ʇxǝu ǝɥʇ oʇ ɥʇɐd ǝןqɐʇıns oN",
"create.train.status.opposite_driver": "uoıʇɔǝɹıp ǝʇısoddo ǝɥʇ buıɔɐɟ ɹǝʌıɹp ɐ sǝɹınbǝɹ ɥʇɐԀ",
"create.train.status.paused_for_manual": "sןoɹʇuoɔ ןɐnuɐɯ ɹoɟ pǝsnɐd ǝןnpǝɥɔS",
Expand Down
2 changes: 1 addition & 1 deletion src/generated/resources/assets/create/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -3087,7 +3087,7 @@
"create.train.status.missing_driver": "Driver has gone missing",
"create.train.status.navigation_success": "Navigation succeeded",
"create.train.status.no_match": "No station on graph matches '%1$s'",
"create.train.status.no_package_target": "A package in cargo has no postbox that matches its address",
"create.train.status.no_package_target": "A package in cargo has no postbox that can accept it",
"create.train.status.no_path": "No suitable path to the next Scheduled destination could be found",
"create.train.status.opposite_driver": "Path requires a driver facing the opposite direction",
"create.train.status.paused_for_manual": "Schedule paused for manual controls",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ private void saveOfflineBuffer() {
return;

globalPackagePort.saveOfflineBuffer(inventory);
globalPackagePort.acceptsPackages = acceptsPackages;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,10 @@ public DiscoveredPath start(ScheduleRuntime runtime, Level level) {
firstPackage = PackageItem.getAddress(stack);
for (GlobalStation globalStation : train.graph.getPoints(EdgePointType.STATION)) {
for (Entry<BlockPos, GlobalPackagePort> port : globalStation.connectedPorts.entrySet()) {
if (!PackageItem.matchAddress(stack, port.getValue().address))
GlobalPackagePort packagePort = port.getValue();
if (!packagePort.acceptsPackages)
continue;
if (!PackageItem.matchAddress(stack, packagePort.address))
continue;
anyMatch = true;
validStations.add(globalStation);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ public class GlobalPackagePort {
public ItemStackHandler offlineBuffer = new ItemStackHandler(18);
public boolean primed = false;
private boolean restoring = false;
public boolean acceptsPackages = true;

public void restoreOfflineBuffer(IItemHandlerModifiable inventory) {
if (!primed) return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ public void read(CompoundTag nbt, HolderLookup.Provider registries, boolean migr
port.address = c.getString("Address");
port.offlineBuffer.deserializeNBT(registries, c.getCompound("OfflineBuffer"));
port.primed = c.getBoolean("Primed");
port.acceptsPackages = c.getBoolean("AcceptsPackages");
connectedPorts.put(NBTHelper.readBlockPos(c, "Pos"), port);
});
}
Expand All @@ -96,6 +97,7 @@ public void write(CompoundTag nbt, HolderLookup.Provider registries, DimensionPa
c.putString("Address", e.getValue().address);
c.put("OfflineBuffer", e.getValue().offlineBuffer.serializeNBT(registries));
c.putBoolean("Primed", e.getValue().primed);
c.putBoolean("AcceptsPackages", e.getValue().acceptsPackages);
c.put("Pos", NbtUtils.writeBlockPos(e.getKey()));
return c;
}));
Expand Down Expand Up @@ -225,6 +227,9 @@ public void runMailTransfer() {
BlockPos pos = entry.getKey();
PostboxBlockEntity box = null;

if (!port.acceptsPackages)
continue;

if (!PackageItem.matchAddress(stack, port.address))
continue;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1015,6 +1015,7 @@ public void attachPackagePort(PackagePortBlockEntity ppbe) {
if (globalPackagePort == null) {
globalPackagePort = new GlobalPackagePort();
globalPackagePort.address = ppbe.addressFilter;
globalPackagePort.acceptsPackages = ppbe.acceptsPackages;
station.connectedPorts.put(ppbe.getBlockPos(), globalPackagePort);
} else {
globalPackagePort.restoreOfflineBuffer(ppbe.inventory);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -994,7 +994,7 @@
"create.train.status.navigation_success": "Navigation succeeded",
"create.train.status.no_match": "No station on graph matches '%1$s'",
"create.train.status.no_path": "No suitable path to the next Scheduled destination could be found",
"create.train.status.no_package_target": "A package in cargo has no postbox that matches its address",
"create.train.status.no_package_target": "A package in cargo has no postbox that can accept it",

"create.track_signal.cannot_change_mode": "Unable to switch mode of this Signal",
"create.track_signal.mode_change.entry_signal": "-> Allow passage if section unoccupied",
Expand Down