@Override
  public void b(OWorld paramOWorld, int paramInt1, int paramInt2, int paramInt3) {
    super.b(paramOWorld, paramInt1, paramInt2, paramInt3);
    if (paramOWorld.z) return;

    paramOWorld.h(paramInt1, paramInt2 + 1, paramInt3, bi);
    paramOWorld.h(paramInt1, paramInt2 - 1, paramInt3, bi);
    g(paramOWorld, paramInt1, paramInt2, paramInt3);

    h(paramOWorld, paramInt1 - 1, paramInt2, paramInt3);
    h(paramOWorld, paramInt1 + 1, paramInt2, paramInt3);
    h(paramOWorld, paramInt1, paramInt2, paramInt3 - 1);
    h(paramOWorld, paramInt1, paramInt2, paramInt3 + 1);

    if (paramOWorld.d(paramInt1 - 1, paramInt2, paramInt3))
      h(paramOWorld, paramInt1 - 1, paramInt2 + 1, paramInt3);
    else h(paramOWorld, paramInt1 - 1, paramInt2 - 1, paramInt3);
    if (paramOWorld.d(paramInt1 + 1, paramInt2, paramInt3))
      h(paramOWorld, paramInt1 + 1, paramInt2 + 1, paramInt3);
    else h(paramOWorld, paramInt1 + 1, paramInt2 - 1, paramInt3);
    if (paramOWorld.d(paramInt1, paramInt2, paramInt3 - 1))
      h(paramOWorld, paramInt1, paramInt2 + 1, paramInt3 - 1);
    else h(paramOWorld, paramInt1, paramInt2 - 1, paramInt3 - 1);
    if (paramOWorld.d(paramInt1, paramInt2, paramInt3 + 1))
      h(paramOWorld, paramInt1, paramInt2 + 1, paramInt3 + 1);
    else h(paramOWorld, paramInt1, paramInt2 - 1, paramInt3 + 1);
  }
  @Override
  public void b(OWorld paramOWorld, int paramInt1, int paramInt2, int paramInt3, int paramInt4) {
    if (paramOWorld.z) return;
    int i = paramOWorld.b(paramInt1, paramInt2, paramInt3);

    boolean bool = a(paramOWorld, paramInt1, paramInt2, paramInt3);

    if (!bool) {
      a_(paramOWorld, paramInt1, paramInt2, paramInt3, i);
      paramOWorld.e(paramInt1, paramInt2, paramInt3, 0);
    } else g(paramOWorld, paramInt1, paramInt2, paramInt3);

    super.b(paramOWorld, paramInt1, paramInt2, paramInt3, paramInt4);
  }