--- a/net/minecraft/entity/boss/WitherEntity.java
+++ b/net/minecraft/entity/boss/WitherEntity.java
@@ -213,7 +213,7 @@
       if (this.func_82212_n() > 0) {
          int j1 = this.func_82212_n() - 1;
          if (j1 <= 0) {
-            Explosion.Mode explosion$mode = this.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223599_b) ? Explosion.Mode.DESTROY : Explosion.Mode.NONE;
+            Explosion.Mode explosion$mode = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.field_70170_p, this) ? Explosion.Mode.DESTROY : Explosion.Mode.NONE;
             this.field_70170_p.func_217398_a(this, this.func_226277_ct_(), this.func_226280_cw_(), this.func_226281_cx_(), 7.0F, false, explosion$mode);
             if (!this.func_174814_R()) {
                this.field_70170_p.func_175669_a(1023, this.func_233580_cy_(), 0);
@@ -290,7 +290,7 @@
 
          if (this.field_82222_j > 0) {
             --this.field_82222_j;
-            if (this.field_82222_j == 0 && this.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223599_b)) {
+            if (this.field_82222_j == 0 && net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.field_70170_p, this)) {
                int i1 = MathHelper.func_76128_c(this.func_226278_cu_());
                int l1 = MathHelper.func_76128_c(this.func_226277_ct_());
                int i2 = MathHelper.func_76128_c(this.func_226281_cx_());
@@ -304,7 +304,7 @@
                         int l = i2 + l2;
                         BlockPos blockpos = new BlockPos(i3, k, l);
                         BlockState blockstate = this.field_70170_p.func_180495_p(blockpos);
-                        if (func_181033_a(blockstate)) {
+                        if (blockstate.canEntityDestroy(this.field_70170_p, blockpos, this) && net.minecraftforge.event.ForgeEventFactory.onEntityDestroyBlock(this, blockpos, blockstate)) {
                            flag = this.field_70170_p.func_225521_a_(blockpos, true, this) || flag;
                         }
                      }
@@ -325,6 +325,7 @@
       }
    }
 
+   @Deprecated //Forge: DO NOT USE use BlockState.canEntityDestroy
    public static boolean func_181033_a(BlockState p_181033_0_) {
       return !p_181033_0_.func_196958_f() && !BlockTags.field_219755_X.func_230235_a_(p_181033_0_.func_177230_c());
    }
