ForgePatch/patches/minecraft/net/minecraft/block/RedstoneWireBlock.java.patch

43 lines
2.2 KiB
Diff

--- a/net/minecraft/block/RedstoneWireBlock.java
+++ b/net/minecraft/block/RedstoneWireBlock.java
@@ -184,7 +184,7 @@
BlockState blockstate = p_235545_1_.func_180495_p(blockpos);
if (p_235545_4_) {
boolean flag = this.func_235552_b_(p_235545_1_, blockpos, blockstate);
- if (flag && func_176346_d(p_235545_1_.func_180495_p(blockpos.func_177984_a()))) {
+ if (flag && canConnectTo(p_235545_1_.func_180495_p(blockpos.func_177984_a()), p_235545_1_, blockpos.func_177984_a(), null) ) {
if (blockstate.func_224755_d(p_235545_1_, blockpos, p_235545_3_.func_176734_d())) {
return RedstoneSide.UP;
}
@@ -193,7 +193,7 @@
}
}
- return !func_176343_a(blockstate, p_235545_3_) && (blockstate.func_215686_e(p_235545_1_, blockpos) || !func_176346_d(p_235545_1_.func_180495_p(blockpos.func_177977_b()))) ? RedstoneSide.NONE : RedstoneSide.SIDE;
+ return !canConnectTo(blockstate, p_235545_1_, blockpos, p_235545_3_) && (blockstate.func_215686_e(p_235545_1_, blockpos) || !canConnectTo(p_235545_1_.func_180495_p(blockpos.func_177977_b()), p_235545_1_, blockpos.func_177977_b(), null)) ? RedstoneSide.NONE : RedstoneSide.SIDE;
}
public boolean func_196260_a(BlockState p_196260_1_, IWorldReader p_196260_2_, BlockPos p_196260_3_) {
@@ -335,11 +335,7 @@
}
}
- protected static boolean func_176346_d(BlockState p_176346_0_) {
- return func_176343_a(p_176346_0_, (Direction)null);
- }
-
- protected static boolean func_176343_a(BlockState p_176343_0_, @Nullable Direction p_176343_1_) {
+ protected static boolean canConnectTo(BlockState p_176343_0_, IBlockReader world, BlockPos pos, @Nullable Direction p_176343_1_) {
if (p_176343_0_.func_203425_a(Blocks.field_150488_af)) {
return true;
} else if (p_176343_0_.func_203425_a(Blocks.field_196633_cV)) {
@@ -348,7 +344,7 @@
} else if (p_176343_0_.func_203425_a(Blocks.field_190976_dk)) {
return p_176343_1_ == p_176343_0_.func_177229_b(ObserverBlock.field_176387_N);
} else {
- return p_176343_0_.func_185897_m() && p_176343_1_ != null;
+ return p_176343_0_.canConnectRedstone(world, pos, p_176343_1_) && p_176343_1_ != null;
}
}