001    
002    import java.io.PrintStream;
003    import java.util.Random;
004    
005    public class as extends jy {
006    
007        public as(int paramInt1, int paramInt2) {
008            super(paramInt1, paramInt2, mh.x, false);
009        }
010    
011        public fa d(fv paramfv, int paramInt1, int paramInt2, int paramInt3) {
012            return null;
013        }
014    
015        public void a(la paramla, int paramInt1, int paramInt2, int paramInt3) {
016            float f1;
017            float f2;
018            if ((paramla.a(paramInt1 - 1, paramInt2, paramInt3) == bi) || (paramla.a(paramInt1 + 1, paramInt2, paramInt3) == bi)) {
019                f1 = 0.5F;
020                f2 = 0.125F;
021                a(0.5F - f1, 0.0F, 0.5F - f2, 0.5F + f1, 1.0F, 0.5F + f2);
022            } else {
023                f1 = 0.125F;
024                f2 = 0.5F;
025                a(0.5F - f1, 0.0F, 0.5F - f2, 0.5F + f1, 1.0F, 0.5F + f2);
026            }
027        }
028    
029        public boolean a() {
030            return false;
031        }
032    
033        public boolean b_(fv paramfv, int paramInt1, int paramInt2, int paramInt3) {
034            int i = 0;
035            int j = 0;
036            if ((paramfv.a(paramInt1 - 1, paramInt2, paramInt3) == hr.ap.bi) || (paramfv.a(paramInt1 + 1, paramInt2, paramInt3) == hr.ap.bi)) {
037                i = 1;
038            }
039            if ((paramfv.a(paramInt1, paramInt2, paramInt3 - 1) == hr.ap.bi) || (paramfv.a(paramInt1, paramInt2, paramInt3 + 1) == hr.ap.bi)) {
040                j = 1;
041            }
042    
043            System.out.println(i + ", " + j);
044            if (i == j) {
045                return false;
046            }
047    
048            if (paramfv.a(paramInt1 - i, paramInt2, paramInt3 - j) == 0) {
049                paramInt1 -= i;
050                paramInt3 -= j;
051            }
052            int m;
053            for (int k = -1; k <= 2; k++) {
054                for (m = -1; m <= 3; m++) {
055                    int n = (k == -1) || (k == 2) || (m == -1) || (m == 3) ? 1 : 0;
056                    if (((k == -1) || (k == 2)) && ((m == -1) || (m == 3))) {
057                        continue;
058                    }
059                    int i1 = paramfv.a(paramInt1 + i * k, paramInt2 + m, paramInt3 + j * k);
060    
061                    if (n != 0) {
062                        if (i1 != hr.ap.bi) {
063                            return false;
064                        }
065                    } else if ((i1 != 0) && (i1 != hr.ar.bi)) {
066                        return false;
067                    }
068                }
069    
070            }
071    
072            paramfv.i = true;
073            for (int k = 0; k < 2; k++) {
074                for (m = 0; m < 3; m++) {
075                    paramfv.e(paramInt1 + i * k, paramInt2 + m, paramInt3 + j * k, hr.be.bi);
076                }
077            }
078            paramfv.i = false;
079    
080            return true;
081        }
082    
083        public void b(fv paramfv, int paramInt1, int paramInt2, int paramInt3, int paramInt4) {
084            // hMod: Block Physics
085            if (!(Boolean) etc.getLoader().callHook(PluginLoader.Hook.BLOCK_PHYSICS, new Block(this.bh, paramInt1, paramInt2, paramInt3), false)) {
086                int i = 0;
087                int j = 1;
088                if ((paramfv.a(paramInt1 - 1, paramInt2, paramInt3) == bi) || (paramfv.a(paramInt1 + 1, paramInt2, paramInt3) == bi)) {
089                    i = 1;
090                    j = 0;
091                }
092    
093                int k = paramInt2;
094                while (paramfv.a(paramInt1, k - 1, paramInt3) == bi) {
095                    k--;
096                }
097                if (paramfv.a(paramInt1, k - 1, paramInt3) != hr.ap.bi) {
098                    paramfv.e(paramInt1, paramInt2, paramInt3, 0);
099                    return;
100                }
101    
102                int m = 1;
103                while ((m < 4) && (paramfv.a(paramInt1, k + m, paramInt3) == bi)) {
104                    m++;
105                }
106                if ((m != 3) || (paramfv.a(paramInt1, k + m, paramInt3) != hr.ap.bi)) {
107                    paramfv.e(paramInt1, paramInt2, paramInt3, 0);
108                    return;
109                }
110    
111                int n = (paramfv.a(paramInt1 - 1, paramInt2, paramInt3) == bi) || (paramfv.a(paramInt1 + 1, paramInt2, paramInt3) == bi) ? 1 : 0;
112                int i1 = (paramfv.a(paramInt1, paramInt2, paramInt3 - 1) == bi) || (paramfv.a(paramInt1, paramInt2, paramInt3 + 1) == bi) ? 1 : 0;
113                if ((n != 0) && (i1 != 0)) {
114                    paramfv.e(paramInt1, paramInt2, paramInt3, 0);
115                    return;
116                }
117    
118                if (((paramfv.a(paramInt1 + i, paramInt2, paramInt3 + j) != hr.ap.bi) || (paramfv.a(paramInt1 - i, paramInt2, paramInt3 - j) != bi)) && ((paramfv.a(paramInt1 - i, paramInt2, paramInt3 - j) != hr.ap.bi) || (paramfv.a(paramInt1 + i, paramInt2, paramInt3 + j) != bi))) {
119                    paramfv.e(paramInt1, paramInt2, paramInt3, 0);
120                    return;
121                }
122            }
123        }
124    
125        public boolean a(la paramla, int paramInt1, int paramInt2, int paramInt3, int paramInt4) {
126            return true;
127        }
128    
129        public int a(Random paramRandom) {
130            return 0;
131        }
132    
133        public void a(fv paramfv, int paramInt1, int paramInt2, int paramInt3, fe paramfe) {
134            if (paramfv.z) {
135                return;
136            }
137    
138            paramfe.H();
139        }
140    }