001 002 import java.util.Random; 003 004 public class bg extends hr { 005 006 protected bg(int paramInt1, int paramInt2) { 007 super(paramInt1, paramInt2, mh.u); 008 a(true); 009 } 010 011 public void a(fv paramfv, int paramInt1, int paramInt2, int paramInt3, Random paramRandom) { 012 if (paramfv.e(paramInt1, paramInt2 + 1, paramInt3)) { 013 int i = 1; 014 while (paramfv.a(paramInt1, paramInt2 - i, paramInt3) == bi) { 015 i++; 016 } 017 if (i < 3) { 018 int j = paramfv.b(paramInt1, paramInt2, paramInt3); 019 if (j == 15) { 020 paramfv.e(paramInt1, paramInt2 + 1, paramInt3, bi); 021 paramfv.c(paramInt1, paramInt2, paramInt3, 0); 022 } else { 023 paramfv.c(paramInt1, paramInt2, paramInt3, j + 1); 024 } 025 } 026 } 027 } 028 029 public fa d(fv paramfv, int paramInt1, int paramInt2, int paramInt3) { 030 float f = 0.0625F; 031 return fa.b(paramInt1 + f, paramInt2, paramInt3 + f, paramInt1 + 1 - f, paramInt2 + 1 - f, paramInt3 + 1 - f); 032 } 033 034 public int a(int paramInt) { 035 if (paramInt == 1) { 036 return bh - 1; 037 } 038 if (paramInt == 0) { 039 return bh + 1; 040 } 041 return bh; 042 } 043 044 public boolean a() { 045 return false; 046 } 047 048 public boolean a(fv paramfv, int paramInt1, int paramInt2, int paramInt3) { 049 if (!super.a(paramfv, paramInt1, paramInt2, paramInt3)) { 050 return false; 051 } 052 053 return f(paramfv, paramInt1, paramInt2, paramInt3); 054 } 055 056 public void b(fv paramfv, int paramInt1, int paramInt2, int paramInt3, int paramInt4) { 057 if (!f(paramfv, paramInt1, paramInt2, paramInt3)) { 058 a_(paramfv, paramInt1, paramInt2, paramInt3, paramfv.b(paramInt1, paramInt2, paramInt3)); 059 paramfv.e(paramInt1, paramInt2, paramInt3, 0); 060 } 061 } 062 063 public boolean f(fv paramfv, int paramInt1, int paramInt2, int paramInt3) { 064 if (paramfv.c(paramInt1 - 1, paramInt2, paramInt3).a()) { 065 return false; 066 } 067 if (paramfv.c(paramInt1 + 1, paramInt2, paramInt3).a()) { 068 return false; 069 } 070 if (paramfv.c(paramInt1, paramInt2, paramInt3 - 1).a()) { 071 return false; 072 } 073 if (paramfv.c(paramInt1, paramInt2, paramInt3 + 1).a()) { 074 return false; 075 } 076 int i = paramfv.a(paramInt1, paramInt2 - 1, paramInt3); 077 return (i == hr.aV.bi) || (i == hr.E.bi); 078 } 079 080 public void a(fv paramfv, int paramInt1, int paramInt2, int paramInt3, fe paramfe) { 081 // hMod Damage hook: Cactus 082 if (paramfe instanceof mj && (Boolean) etc.getLoader().callHook(PluginLoader.Hook.DAMAGE, PluginLoader.DamageType.CACTUS, null, new LivingEntity((mj) paramfe), 1)) { 083 return; 084 } 085 paramfe.a((fe)null, 1); 086 } 087 }