82 lines
4.1 KiB
Diff
82 lines
4.1 KiB
Diff
--- a/net/minecraft/block/PistonBlockStructureHelper.java
|
|
+++ b/net/minecraft/block/PistonBlockStructureHelper.java
|
|
@@ -48,7 +48,7 @@
|
|
} else {
|
|
for(int i = 0; i < this.field_177258_e.size(); ++i) {
|
|
BlockPos blockpos = this.field_177258_e.get(i);
|
|
- if (func_227029_a_(this.field_177261_a.func_180495_p(blockpos).func_177230_c()) && !this.func_177250_b(blockpos)) {
|
|
+ if (this.field_177261_a.func_180495_p(blockpos).isStickyBlock() && !this.func_177250_b(blockpos)) {
|
|
return false;
|
|
}
|
|
}
|
|
@@ -57,24 +57,9 @@
|
|
}
|
|
}
|
|
|
|
- private static boolean func_227029_a_(Block p_227029_0_) {
|
|
- return p_227029_0_ == Blocks.field_180399_cE || p_227029_0_ == Blocks.field_226907_mc_;
|
|
- }
|
|
-
|
|
- private static boolean func_227030_a_(Block p_227030_0_, Block p_227030_1_) {
|
|
- if (p_227030_0_ == Blocks.field_226907_mc_ && p_227030_1_ == Blocks.field_180399_cE) {
|
|
- return false;
|
|
- } else if (p_227030_0_ == Blocks.field_180399_cE && p_227030_1_ == Blocks.field_226907_mc_) {
|
|
- return false;
|
|
- } else {
|
|
- return func_227029_a_(p_227030_0_) || func_227029_a_(p_227030_1_);
|
|
- }
|
|
- }
|
|
-
|
|
private boolean func_177251_a(BlockPos p_177251_1_, Direction p_177251_2_) {
|
|
BlockState blockstate = this.field_177261_a.func_180495_p(p_177251_1_);
|
|
- Block block = blockstate.func_177230_c();
|
|
- if (blockstate.func_196958_f()) {
|
|
+ if (field_177261_a.func_175623_d(p_177251_1_)) {
|
|
return true;
|
|
} else if (!PistonBlock.func_185646_a(blockstate, this.field_177261_a, p_177251_1_, this.field_177257_d, false, p_177251_2_)) {
|
|
return true;
|
|
@@ -87,12 +72,12 @@
|
|
if (i + this.field_177258_e.size() > 12) {
|
|
return false;
|
|
} else {
|
|
- while(func_227029_a_(block)) {
|
|
+ BlockState oldState;
|
|
+ while(blockstate.isStickyBlock()) {
|
|
BlockPos blockpos = p_177251_1_.func_177967_a(this.field_177257_d.func_176734_d(), i);
|
|
- Block block1 = block;
|
|
+ oldState = blockstate;
|
|
blockstate = this.field_177261_a.func_180495_p(blockpos);
|
|
- block = blockstate.func_177230_c();
|
|
- if (blockstate.func_196958_f() || !func_227030_a_(block1, block) || !PistonBlock.func_185646_a(blockstate, this.field_177261_a, blockpos, this.field_177257_d, false, this.field_177257_d.func_176734_d()) || blockpos.equals(this.field_177259_b)) {
|
|
+ if (blockstate.isAir(this.field_177261_a, blockpos) || !oldState.canStickTo(blockstate) || !PistonBlock.func_185646_a(blockstate, this.field_177261_a, blockpos, this.field_177257_d, false, this.field_177257_d.func_176734_d()) || blockpos.equals(this.field_177259_b)) {
|
|
break;
|
|
}
|
|
|
|
@@ -119,7 +104,7 @@
|
|
|
|
for(int k = 0; k <= j + l; ++k) {
|
|
BlockPos blockpos2 = this.field_177258_e.get(k);
|
|
- if (func_227029_a_(this.field_177261_a.func_180495_p(blockpos2).func_177230_c()) && !this.func_177250_b(blockpos2)) {
|
|
+ if (this.field_177261_a.func_180495_p(blockpos2).isStickyBlock() && !this.func_177250_b(blockpos2)) {
|
|
return false;
|
|
}
|
|
}
|
|
@@ -128,7 +113,7 @@
|
|
}
|
|
|
|
blockstate = this.field_177261_a.func_180495_p(blockpos1);
|
|
- if (blockstate.func_196958_f()) {
|
|
+ if (blockstate.isAir(field_177261_a, blockpos1)) {
|
|
return true;
|
|
}
|
|
|
|
@@ -173,7 +158,7 @@
|
|
if (direction.func_176740_k() != this.field_177257_d.func_176740_k()) {
|
|
BlockPos blockpos = p_177250_1_.func_177972_a(direction);
|
|
BlockState blockstate1 = this.field_177261_a.func_180495_p(blockpos);
|
|
- if (func_227030_a_(blockstate1.func_177230_c(), blockstate.func_177230_c()) && !this.func_177251_a(blockpos, direction)) {
|
|
+ if (blockstate1.canStickTo(blockstate) && !this.func_177251_a(blockpos, direction)) {
|
|
return false;
|
|
}
|
|
}
|