@Override
    public void onBlockIgnite(BlockIgniteEvent event) {
        Block b = event.getBlock();
        if (event.getCause().equals(BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL)) {
            Player p = event.getPlayer();
            World w = event.getBlock().getWorld();
            Block netherRack = b.getLocation().subtract(0.0D, 1.0D, 0.0D).getBlock();
            Block mossyCobble = b.getLocation().subtract(0.0D, 2.0D, 0.0D).getBlock();
            if (netherRack.getType().equals(Material.NETHERRACK) && mossyCobble.getType().equals(Material.MOSSY_COBBLESTONE) && plugin.isDead() && plugin.canSpawn(p.getWorld())) {
                Herobrine.isAttacking = true;
                if (Herobrine.changeEnvironment) {
                    w.setStorm(true);
                    w.setTime(14200); 
                }
                if (Herobrine.removeMossyCobblestone) {
                    mossyCobble.setType(Material.COBBLESTONE);
                }
                w.strikeLightning(b.getLocation());
                w.createExplosion(b.getLocation(), -1.0F);
                if (Herobrine.sendMessages) {
                    TextGenerator tg = new TextGenerator();
                    plugin.getServer().broadcastMessage(tg.getMessage());
                }
                if (p.getGameMode().equals(GameMode.CREATIVE)) {
                    p.setGameMode(GameMode.SURVIVAL);
                }
                Herobrine.trackingEntity = Boolean.valueOf(true);
                w.spawnCreature(b.getLocation(), CreatureType.ZOMBIE);
                Zombie z = (Zombie) plugin.hbEntity;
                z.setTarget(p);
                log.event(1, p.getName()); 
            }
        }
    }