001    
002    import java.util.Random;
003    
004    public class hf extends hr {
005    
006        public static boolean a = false;
007    
008        public hf(int paramInt1, int paramInt2) {
009            super(paramInt1, paramInt2, mh.m);
010        }
011    
012        public void e(fv paramfv, int paramInt1, int paramInt2, int paramInt3) {
013            // hMod: Physics
014            if (!(Boolean) etc.getLoader().callHook(PluginLoader.Hook.BLOCK_PHYSICS, new Block(bh, paramInt1, paramInt2, paramInt3), true)) {
015                paramfv.i(paramInt1, paramInt2, paramInt3, bi);
016            }
017        }
018    
019        public void b(fv paramfv, int paramInt1, int paramInt2, int paramInt3, int paramInt4) {
020            // hMod: Physics
021            if (!(Boolean) etc.getLoader().callHook(PluginLoader.Hook.BLOCK_PHYSICS, new Block(bh, paramInt1, paramInt2, paramInt3), false)) {
022    
023                paramfv.i(paramInt1, paramInt2, paramInt3, bi);
024            }
025        }
026    
027        public void a(fv paramfv, int paramInt1, int paramInt2, int paramInt3, Random paramRandom) {
028            h(paramfv, paramInt1, paramInt2, paramInt3);
029        }
030    
031        private void h(fv paramfv, int paramInt1, int paramInt2, int paramInt3) {
032            int i = paramInt1;
033            int j = paramInt2;
034            int k = paramInt3;
035            if ((g(paramfv, i, j - 1, k)) && (j >= 0)) {
036                int m = 32;
037                if ((a) || (!paramfv.a(paramInt1 - m, paramInt2 - m, paramInt3 - m, paramInt1 + m, paramInt2 + m, paramInt3 + m))) {
038                    paramfv.e(paramInt1, paramInt2, paramInt3, 0);
039                    while ((g(paramfv, paramInt1, paramInt2 - 1, paramInt3)) && (paramInt2 > 0)) {
040                        paramInt2--;
041                    }
042                    if (paramInt2 > 0) {
043                        paramfv.e(paramInt1, paramInt2, paramInt3, bi);
044                    }
045                } else {
046                    kd localkd = new kd(paramfv, paramInt1 + 0.5F, paramInt2 + 0.5F, paramInt3 + 0.5F, bi);
047                    paramfv.a(localkd);
048                }
049            }
050        }
051    
052        public int b() {
053            return 3;
054        }
055    
056        public static boolean g(fv paramfv, int paramInt1, int paramInt2, int paramInt3) {
057            int i = paramfv.a(paramInt1, paramInt2, paramInt3);
058            if (i == 0) {
059                return true;
060            }
061            if (i == hr.ar.bi) {
062                return true;
063            }
064            mh localmh = hr.m[i].bt;
065            if (localmh == mh.f) {
066                return true;
067            }
068            return localmh == mh.g;
069        }
070    }