From c9f035cf035bcd07ab035f922604ee9f60b7df84 Mon Sep 17 00:00:00 2001 From: "Joseph C. Sible" Date: Sun, 22 Apr 2018 21:58:21 -0400 Subject: [PATCH] Fix #4772: add an "isActivator" boolean to powered rails (#4774) --- .../net/minecraft/block/Block.java.patch | 9 ++++++++ .../block/BlockRailPowered.java.patch | 22 +++++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/patches/minecraft/net/minecraft/block/Block.java.patch b/patches/minecraft/net/minecraft/block/Block.java.patch index 7a98991ce..ddf28090c 100644 --- a/patches/minecraft/net/minecraft/block/Block.java.patch +++ b/patches/minecraft/net/minecraft/block/Block.java.patch @@ -1567,6 +1567,15 @@ public static void func_149671_p() { func_176215_a(0, field_176230_a, (new BlockAir()).func_149663_c("air")); +@@ -1105,7 +2462,7 @@ + Block block11 = (new BlockQuartz()).func_149672_a(SoundType.field_185851_d).func_149711_c(0.8F).func_149663_c("quartzBlock"); + func_176219_a(155, "quartz_block", block11); + func_176219_a(156, "quartz_stairs", (new BlockStairs(block11.func_176223_P().func_177226_a(BlockQuartz.field_176335_a, BlockQuartz.EnumType.DEFAULT))).func_149663_c("stairsQuartz")); +- func_176219_a(157, "activator_rail", (new BlockRailPowered()).func_149711_c(0.7F).func_149672_a(SoundType.field_185852_e).func_149663_c("activatorRail")); ++ func_176219_a(157, "activator_rail", (new BlockRailPowered(true)).func_149711_c(0.7F).func_149672_a(SoundType.field_185852_e).func_149663_c("activatorRail")); + func_176219_a(158, "dropper", (new BlockDropper()).func_149711_c(3.5F).func_149672_a(SoundType.field_185851_d).func_149663_c("dropper")); + func_176219_a(159, "stained_hardened_clay", (new BlockStainedHardenedClay()).func_149711_c(1.25F).func_149752_b(7.0F).func_149672_a(SoundType.field_185851_d).func_149663_c("clayHardenedStained")); + func_176219_a(160, "stained_glass_pane", (new BlockStainedGlassPane()).func_149711_c(0.3F).func_149672_a(SoundType.field_185853_f).func_149663_c("thinStainedGlass")); @@ -1230,31 +2587,6 @@ block15.field_149783_u = flag; } diff --git a/patches/minecraft/net/minecraft/block/BlockRailPowered.java.patch b/patches/minecraft/net/minecraft/block/BlockRailPowered.java.patch index 571804d1a..bd799f531 100644 --- a/patches/minecraft/net/minecraft/block/BlockRailPowered.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockRailPowered.java.patch @@ -1,11 +1,29 @@ --- ../src-base/minecraft/net/minecraft/block/BlockRailPowered.java +++ ../src-work/minecraft/net/minecraft/block/BlockRailPowered.java -@@ -146,7 +146,7 @@ +@@ -23,9 +23,17 @@ + }); + public static final PropertyBool field_176569_M = PropertyBool.func_177716_a("powered"); + ++ private final boolean isActivator; ++ + protected BlockRailPowered() + { ++ this(false); ++ } ++ ++ protected BlockRailPowered(boolean isActivator) ++ { + super(true); ++ this.isActivator = isActivator; + this.func_180632_j(this.field_176227_L.func_177621_b().func_177226_a(field_176568_b, BlockRailBase.EnumRailDirection.NORTH_SOUTH).func_177226_a(field_176569_M, Boolean.valueOf(false))); + } + +@@ -146,7 +154,7 @@ { IBlockState iblockstate = p_176567_1_.func_180495_p(p_176567_2_); - if (iblockstate.func_177230_c() != this) -+ if (!(iblockstate.func_177230_c() instanceof BlockRailPowered)) ++ if (!(iblockstate.func_177230_c() instanceof BlockRailPowered) || isActivator != ((BlockRailPowered)iblockstate.func_177230_c()).isActivator) { return false; }