Fixed External Storage not refreshing when the storage is broken or replaced

This commit is contained in:
raoulvdberge
2019-11-11 22:15:34 +01:00
parent d6cbbaa2a4
commit f58bf5be18
2 changed files with 19 additions and 0 deletions

View File

@@ -7,6 +7,7 @@
- Removed migration code for the development builds that were released on Discord (not on CurseForge). If you used the development builds and never used version 1.7 before, first switch to 1.7, open your world, modify a storage disk, and then upgrade to 1.7.1 (raoulvdberge)
- Grids now do not sort if you interact with it while holding shift (Darkere)
- Fixed Pattern Grid causing world hanging on load (raoulvdberge)
- Fixed External Storage not refreshing when the storage is broken or replaced (raoulvdberge)
### 1.7
NOTE: This is an alpha release. Bugs may happen. Remember to take backups.

View File

@@ -1,11 +1,14 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.ExternalStorageNetworkNode;
import com.raoulvdberge.refinedstorage.container.ExternalStorageContainer;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider;
import com.raoulvdberge.refinedstorage.tile.ExternalStorageTile;
import com.raoulvdberge.refinedstorage.util.BlockUtils;
import com.raoulvdberge.refinedstorage.util.NetworkUtils;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
@@ -99,4 +102,19 @@ public class ExternalStorageBlock extends CableBlock {
return true;
}
@Override
public void neighborChanged(BlockState state, World world, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) {
super.neighborChanged(state, world, pos, block, fromPos, isMoving);
if (!world.isRemote) {
INetworkNode node = NetworkUtils.getNodeFromTile(world.getTileEntity(pos));
if (node instanceof ExternalStorageNetworkNode &&
node.getNetwork() != null &&
fromPos.equals(pos.offset(((ExternalStorageNetworkNode) node).getDirection()))) {
((ExternalStorageNetworkNode) node).updateStorage(node.getNetwork());
}
}
}
}