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    }