001    
002    import java.util.Random;
003    
004    public class lo extends hg {
005    
006        public lo(int paramInt, bv parambv) {
007            super(paramInt);
008            bb = 1;
009            bc = parambv.a();
010        }
011    
012        public boolean a(jl paramjl, hl paramhl, fv paramfv, int paramInt1, int paramInt2, int paramInt3, int paramInt4) {
013            int i = paramfv.a(paramInt1, paramInt2, paramInt3);
014            mh localmh = paramfv.c(paramInt1, paramInt2 + 1, paramInt3);
015    
016            if (((!localmh.a()) && (i == hr.u.bi)) || (i == hr.v.bi)) {
017                // hMod: Hoes
018                Block blockClicked = new Block(i, paramInt1, paramInt2, paramInt3);
019                blockClicked.setFaceClicked(Block.Face.fromId(paramInt4));
020                Block blockPlaced = new Block(paramfv.a(paramInt1, paramInt2 + 1, paramInt3), paramInt1, paramInt2 + 1, paramInt3);
021    
022                // Call the hook
023                if (paramhl instanceof fy) {
024                    Player player = ((fy) paramhl).getPlayer();
025                    if ((Boolean) etc.getLoader().callHook(PluginLoader.Hook.ITEM_USE, player, blockPlaced, blockClicked, new Item(paramjl))) {
026                        return false;
027                    }
028                }
029                hr localhr = hr.aA;
030                paramfv.a(paramInt1 + 0.5F, paramInt2 + 0.5F, paramInt3 + 0.5F, localhr.br.c(), (localhr.br.a() + 1.0F) / 2.0F, localhr.br.b() * 0.8F);
031    
032                if (paramfv.z) {
033                    return true;
034                }
035                paramfv.e(paramInt1, paramInt2, paramInt3, localhr.bi);
036                paramjl.b(1);
037    
038                if ((paramfv.l.nextInt(8) == 0) && (i == hr.u.bi)) {
039                    int j = 1;
040                    for (int k = 0; k < j; k++) {
041                        float f1 = 0.7F;
042                        float f2 = paramfv.l.nextFloat() * f1 + (1.0F - f1) * 0.5F;
043                        float f3 = 1.2F;
044                        float f4 = paramfv.l.nextFloat() * f1 + (1.0F - f1) * 0.5F;
045                        ic localic = new ic(paramfv, paramInt1 + f2, paramInt2 + f3, paramInt3 + f4, new jl(hg.Q));
046                        localic.c = 10;
047                        paramfv.a(localic);
048                    }
049                }
050    
051                return true;
052            }
053    
054            return false;
055        }
056    }