public class OItemFlintAndSteel extends OItem { public OItemFlintAndSteel(int paramInt) { super(paramInt); be = 1; d(64); } @Override public boolean a(OItemStack paramOItemStack, OEntityPlayer paramOEntityPlayer, OWorld paramOWorld, int paramInt1, int paramInt2, int paramInt3, int paramInt4) { // hMod: Store block data clicked Block blockClicked = new Block(paramOWorld.a(paramInt1, paramInt2, paramInt3), paramInt1, paramInt2, paramInt3); blockClicked.setFaceClicked(Block.Face.fromId(paramInt4)); if (paramInt4 == 0) paramInt2--; if (paramInt4 == 1) paramInt2++; if (paramInt4 == 2) paramInt3--; if (paramInt4 == 3) paramInt3++; if (paramInt4 == 4) paramInt1--; if (paramInt4 == 5) paramInt1++; int i = paramOWorld.a(paramInt1, paramInt2, paramInt3); if (i == 0) { // hMod: Hook to control ignites AND ligther use Block blockPlaced = new Block(Block.Type.Fire.getType(), paramInt1, paramInt2, paramInt3); Player player = ((OEntityPlayerMP) paramOEntityPlayer).getPlayer(); Boolean preventLighter = (Boolean) etc.getLoader().callHook(PluginLoader.Hook.ITEM_USE, player, blockPlaced, blockClicked, new Item(paramOItemStack)); blockPlaced.setStatus(2); // Specificly to mark this ignite as from // a lighter Boolean preventIgnite = (Boolean) etc.getLoader().callHook(PluginLoader.Hook.IGNITE, blockPlaced, player); if (preventIgnite || preventLighter) return false; else { paramOWorld.a(paramInt1 + 0.5D, paramInt2 + 0.5D, paramInt3 + 0.5D, "fire.ignite", 1.0F, b.nextFloat() * 0.4F + 0.8F); paramOWorld.e(paramInt1, paramInt2, paramInt3, OBlock.ar.bl); } } paramOItemStack.a(1, paramOEntityPlayer); return true; } }