Skip to content

Commit e9cf583

Browse files
committed
- stations get picked up in network requests even when unloaded
- station frame triggers network detection of station when converted - station automated distribution can target unloaded crates again
1 parent f408077 commit e9cf583

4 files changed

Lines changed: 10 additions & 8 deletions

File tree

src/main/java/com/khazoda/basicstorage/block/CrateStationFrameBlock.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.khazoda.basicstorage.registry.BlockRegistry;
44
import com.khazoda.basicstorage.registry.CriterionRegistry;
55
import com.khazoda.basicstorage.registry.ParticleRegistry;
6+
import com.khazoda.basicstorage.storage.CrateNetworkManager;
67
import net.minecraft.core.BlockPos;
78
import net.minecraft.server.level.ServerLevel;
89
import net.minecraft.server.level.ServerPlayer;
@@ -52,6 +53,12 @@ protected InteractionResult useItemOn(ItemStack stack, BlockState state, Level w
5253
if (!player.getAbilities().instabuild) {
5354
stack.shrink(1);
5455
}
56+
if (world instanceof ServerLevel serverLevel) {
57+
BlockState newState = world.getBlockState(pos);
58+
if (newState.is(BlockRegistry.CRATE_STATION_BLOCK)) {
59+
CrateNetworkManager.get(serverLevel).onBlockAdded(world, pos, newState);
60+
}
61+
}
5562
}
5663
return InteractionResult.SUCCESS;
5764
}

src/main/java/com/khazoda/basicstorage/block/entity/CrateStationBlockEntity.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,6 @@ private void distributeBuffer() {
121121
if (!compatibleCrates.isEmpty()) {
122122
// Insert items into compatible crates
123123
for (BlockPos cratePos : compatibleCrates) {
124-
if (!serverLevel.isLoaded(cratePos)) continue;
125-
126124
/*
127125
* Ensure crate is actually registered in a network
128126
* Prevents sending to disconnected crates after reset command

src/main/java/com/khazoda/basicstorage/packet/StationBeamPayload.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import net.minecraft.network.FriendlyByteBuf;
77
import net.minecraft.network.codec.StreamCodec;
88
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
9-
import net.minecraft.resources.Identifier;
109

1110
import java.util.List;
1211

src/main/java/com/khazoda/basicstorage/storage/CrateNetworkManager.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -320,11 +320,9 @@ public void tick(Level level) {
320320
if (stations == null) continue;
321321

322322
for (BlockPos stationPos : stations) {
323-
if (level.isLoaded(stationPos)) {
324-
var be = level.getBlockEntity(stationPos);
325-
if (be instanceof NetworkNode node) {
326-
node.markCacheForUpdate();
327-
}
323+
var be = level.getBlockEntity(stationPos);
324+
if (be instanceof NetworkNode node) {
325+
node.markCacheForUpdate();
328326
}
329327
}
330328
}

0 commit comments

Comments
 (0)