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

@@ -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());
}
}
}
}