001    
002    import java.util.List;
003    import java.util.Random;
004    
005    public class bw extends hr {
006    
007        private ee a;
008    
009        protected bw(int paramInt1, int paramInt2, ee paramee) {
010            super(paramInt1, paramInt2, mh.d);
011            a = paramee;
012            a(true);
013    
014            float f = 0.0625F;
015            a(f, 0.0F, f, 1.0F - f, 0.03125F, 1.0F - f);
016        }
017    
018        public int b() {
019            return 20;
020        }
021    
022        public fa d(fv paramfv, int paramInt1, int paramInt2, int paramInt3) {
023            return null;
024        }
025    
026        public boolean a() {
027            return false;
028        }
029    
030        public boolean a(fv paramfv, int paramInt1, int paramInt2, int paramInt3) {
031            return paramfv.d(paramInt1, paramInt2 - 1, paramInt3);
032        }
033    
034        public void e(fv paramfv, int paramInt1, int paramInt2, int paramInt3) {
035        }
036    
037        public void b(fv paramfv, int paramInt1, int paramInt2, int paramInt3, int paramInt4) {
038            int i = 0;
039    
040            if (!paramfv.d(paramInt1, paramInt2 - 1, paramInt3)) {
041                i = 1;
042            }
043    
044            if (i != 0) {
045                a_(paramfv, paramInt1, paramInt2, paramInt3, paramfv.b(paramInt1, paramInt2, paramInt3));
046                paramfv.e(paramInt1, paramInt2, paramInt3, 0);
047            }
048        }
049    
050        public void a(fv paramfv, int paramInt1, int paramInt2, int paramInt3, Random paramRandom) {
051            if (paramfv.z) {
052                return;
053            }
054            if (paramfv.b(paramInt1, paramInt2, paramInt3) == 0) {
055                return;
056            }
057    
058            g(paramfv, paramInt1, paramInt2, paramInt3);
059        }
060    
061        public void a(fv paramfv, int paramInt1, int paramInt2, int paramInt3, fe paramfe) {
062            if (paramfv.z) {
063                return;
064            }
065    
066            if (paramfv.b(paramInt1, paramInt2, paramInt3) == 1) {
067                return;
068            }
069    
070            g(paramfv, paramInt1, paramInt2, paramInt3);
071        }
072    
073        private void g(fv paramfv, int paramInt1, int paramInt2, int paramInt3) {
074            int i = paramfv.b(paramInt1, paramInt2, paramInt3) == 1 ? 1 : 0;
075            int j = 0;
076    
077            float f = 0.125F;
078            List localList = null;
079            if (a == ee.a) {
080                localList = paramfv.b(null, fa.b(paramInt1 + f, paramInt2, paramInt3 + f, paramInt1 + 1 - f, paramInt2 + 0.25D, paramInt3 + 1 - f));
081            }
082            if (a == ee.b) {
083                localList = paramfv.a(mj.class, fa.b(paramInt1 + f, paramInt2, paramInt3 + f, paramInt1 + 1 - f, paramInt2 + 0.25D, paramInt3 + 1 - f));
084            }
085            if (a == ee.c) {
086                localList = paramfv.a(hl.class, fa.b(paramInt1 + f, paramInt2, paramInt3 + f, paramInt1 + 1 - f, paramInt2 + 0.25D, paramInt3 + 1 - f));
087            }
088            if (localList.size() > 0) {
089                j = 1;
090            }
091            // hMod: Allow pressure plate interaction to power redstone
092            if (j != i) {
093                j = (Integer) etc.getLoader().callHook(PluginLoader.Hook.REDSTONE_CHANGE, new Block(this.bh, paramInt1, paramInt2, paramInt3), i, j);
094                if (j > 0) {
095                    j = 1;
096                }
097            }
098    
099            if ((j != 0) && (i == 0)) {
100                paramfv.c(paramInt1, paramInt2, paramInt3, 1);
101                paramfv.h(paramInt1, paramInt2, paramInt3, bi);
102                paramfv.h(paramInt1, paramInt2 - 1, paramInt3, bi);
103                paramfv.b(paramInt1, paramInt2, paramInt3, paramInt1, paramInt2, paramInt3);
104    
105                paramfv.a(paramInt1 + 0.5D, paramInt2 + 0.1D, paramInt3 + 0.5D, "random.click", 0.3F, 0.6F);
106            }
107            if ((j == 0) && (i != 0)) {
108                paramfv.c(paramInt1, paramInt2, paramInt3, 0);
109                paramfv.h(paramInt1, paramInt2, paramInt3, bi);
110                paramfv.h(paramInt1, paramInt2 - 1, paramInt3, bi);
111                paramfv.b(paramInt1, paramInt2, paramInt3, paramInt1, paramInt2, paramInt3);
112    
113                paramfv.a(paramInt1 + 0.5D, paramInt2 + 0.1D, paramInt3 + 0.5D, "random.click", 0.3F, 0.5F);
114            }
115    
116            if (j != 0) {
117                paramfv.i(paramInt1, paramInt2, paramInt3, bi);
118            }
119        }
120    
121        public void b(fv paramfv, int paramInt1, int paramInt2, int paramInt3) {
122            int i = paramfv.b(paramInt1, paramInt2, paramInt3);
123            if (i > 0) {
124                paramfv.h(paramInt1, paramInt2, paramInt3, bi);
125                paramfv.h(paramInt1, paramInt2 - 1, paramInt3, bi);
126            }
127            super.b(paramfv, paramInt1, paramInt2, paramInt3);
128        }
129    
130        public void a(la paramla, int paramInt1, int paramInt2, int paramInt3) {
131            int i = paramla.b(paramInt1, paramInt2, paramInt3) == 1 ? 1 : 0;
132    
133            float f = 0.0625F;
134            if (i != 0) {
135                a(f, 0.0F, f, 1.0F - f, 0.03125F, 1.0F - f);
136            } else {
137                a(f, 0.0F, f, 1.0F - f, 0.0625F, 1.0F - f);
138            }
139        }
140    
141        public boolean b(la paramla, int paramInt1, int paramInt2, int paramInt3, int paramInt4) {
142            return paramla.b(paramInt1, paramInt2, paramInt3) > 0;
143        }
144    
145        public boolean d(fv paramfv, int paramInt1, int paramInt2, int paramInt3, int paramInt4) {
146            if (paramfv.b(paramInt1, paramInt2, paramInt3) == 0) {
147                return false;
148            }
149            return paramInt4 == 1;
150        }
151    
152        public boolean c() {
153            return true;
154        }
155    }