diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java index 98020c026..557c49586 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java @@ -4,6 +4,7 @@ import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSGui; import com.raoulvdberge.refinedstorage.tile.TileReader; +import mcmultipart.microblock.MicroblockContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -12,6 +13,7 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import java.util.List; @@ -37,6 +39,11 @@ public class BlockReader extends BlockCable { return true; } + @Override + public boolean canConnectRedstoneDefault(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side, MicroblockContainer partContainer) { + return side == ((TileReader) world.getTileEntity(pos)).getDirection().getOpposite(); + } + @Override public TileEntity createTileEntity(World world, IBlockState state) { return new TileReader(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java index 7067af92c..74c5db449 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java @@ -3,6 +3,7 @@ package com.raoulvdberge.refinedstorage.block; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSGui; +import com.raoulvdberge.refinedstorage.tile.TileReader; import com.raoulvdberge.refinedstorage.tile.TileWriter; import mcmultipart.microblock.MicroblockContainer; import net.minecraft.block.state.IBlockState; @@ -55,7 +56,17 @@ public class BlockWriter extends BlockCable { @Override @SuppressWarnings("deprecation") public int getStrongPowerDefault(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side, MicroblockContainer partContainer) { - return getWeakPower(state, world, pos, side); + return getWeakPowerDefault(state, world, pos, side, partContainer); + } + + @Override + public boolean canProvidePower(IBlockState state) { + return true; + } + + @Override + public boolean canConnectRedstoneDefault(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side, MicroblockContainer partContainer) { + return side == ((TileWriter) world.getTileEntity(pos)).getDirection().getOpposite(); } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java index 0154a31dc..0003490af 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java @@ -60,7 +60,7 @@ public class TileReader extends TileMultipartNode implements IReader { @Override public int getRedstoneStrength() { - return worldObj.getRedstonePower(pos, getDirection().getOpposite()); + return worldObj.getRedstonePower(pos.offset(getDirection()), getDirection()); } @Override