001    
002    import java.util.Random;
003    
004    public class lm extends hg {
005    
006        public lm(int paramInt) {
007            super(paramInt);
008            bb = 1;
009            bc = 64;
010        }
011    
012        public boolean a(jl paramjl, hl paramhl, fv paramfv, int paramInt1, int paramInt2, int paramInt3, int paramInt4) {
013            // hMod: Store block data clicked
014            Block blockClicked = new Block(paramfv.a(paramInt1, paramInt2, paramInt3), paramInt1, paramInt2, paramInt3);
015            blockClicked.setFaceClicked(Block.Face.fromId(paramInt4));
016            if (paramInt4 == 0) {
017                paramInt2--;
018            }
019            if (paramInt4 == 1) {
020                paramInt2++;
021            }
022            if (paramInt4 == 2) {
023                paramInt3--;
024            }
025            if (paramInt4 == 3) {
026                paramInt3++;
027            }
028            if (paramInt4 == 4) {
029                paramInt1--;
030            }
031            if (paramInt4 == 5) {
032                paramInt1++;
033            }
034    
035            int i = paramfv.a(paramInt1, paramInt2, paramInt3);
036    
037            if (i == 0) {
038                // hMod: Hook to control ignites AND ligther use
039                Block blockPlaced = new Block(Block.Type.Fire.getType(), paramInt1, paramInt2, paramInt3);
040                Player player = ((fy) paramhl).getPlayer();
041    
042                Boolean preventLighter = (Boolean) etc.getLoader().callHook(PluginLoader.Hook.ITEM_USE, player, blockPlaced, blockClicked, new Item(paramjl));
043                blockPlaced.setStatus(2); // Specificly to mark this ignite as from a lighter
044                Boolean preventIgnite = (Boolean) etc.getLoader().callHook(PluginLoader.Hook.IGNITE, blockPlaced, player);
045                if (preventIgnite || preventLighter) {
046                    return false;
047                } else {
048                    paramfv.a(paramInt1 + 0.5D, paramInt2 + 0.5D, paramInt3 + 0.5D, "fire.ignite", 1.0F, b.nextFloat() * 0.4F + 0.8F);
049                    paramfv.e(paramInt1, paramInt2, paramInt3, hr.ar.bi);
050                }
051            }
052    
053            paramjl.b(1);
054            return true;
055        }
056    }