does anyone know why this doesnt work?

u can now attack players doesnt matter what lvl you are and
it keeps saying message you have to be in safepk to attack this player
doesnt matter if ur in safepk wild or rev caves

Code:
	@Override
	public boolean isAttackable(Mob mob) {
		Mob lastAttacker = getCombatExecutor().getLastAttacker();
		if (lastAttacker != null && lastAttacker != mob
				&& (!isMulti() || !mob.isMulti())) {
			if (mob.isPlayer()) {
				mob.getPlayer()
						.sendMessage("That player is already in combat.");
			}
			return false;
		} else if (mob.getCombatExecutor().getLastAttacker() != null
				&& mob.getCombatExecutor().getLastAttacker() != this
				&& (!isMulti() || !mob.isMulti())) {
			if (mob.isPlayer()) {
				mob.getPlayer().sendMessage("You are already under attack.");
			}
			return false;
		}
		if (mob.isPlayer()) {
			if (getActivity().isRunning()
					&& getActivity().isCombatActivity(mob, this)) {
				return true;
			}
			if (!mob.inWilderness()) {
				mob.getPlayer().sendMessage("You have to be in the wilderness to attack other players.");
				return true;
			} else if (!inWilderness()) {
				mob.getPlayer().sendMessage("That player is not deep enough in the Wilderness for you to attack.");
				return true;
			} else if (!mob.inSafePk()) {
				mob.getPlayer().sendMessage("You have to be in Safe PvP to attack other players.");
				return true;
			} else if (!inSafePk()) {
				mob.getPlayer().sendMessage("This player aint in SafePk");
				return true;
			} else if (!mob.inRevCave()) {
				mob.getPlayer().sendMessage("You have to be in the wilderness to attack other players.");
				return true;
			} else if (!inRevCave()) {
				mob.getPlayer().sendMessage("That player is not deep enough in the Wilderness for you to attack.");
				return true;
			}
			int combatLevel = getSkills().getCombatLevelWithoutSummoning();
			int otherLevel = mob.getPlayer().getSkills().getCombatLevelWithoutSummoning();
			int wildernessLevel = getLocation().getWildernessLevel();
			int otherWildernessLevel = mob.getLocation().getWildernessLevel();
			if (!((combatLevel + wildernessLevel >= otherLevel && combatLevel - wildernessLevel <= otherLevel)
					&& (otherLevel + otherWildernessLevel) >= combatLevel && otherLevel- otherWildernessLevel <= combatLevel)) {
				mob.getPlayer().sendMessage("The difference between your opponents and your combat level is to large.");
				return false;
				}
			}
		return true;
	}

this is whats im talking about

Code:
			if (!mob.inWilderness()) {
				mob.getPlayer().sendMessage("You have to be in the wilderness to attack other players.");
				return true;
			} else if (!inWilderness()) {
				mob.getPlayer().sendMessage("That player is not deep enough in the Wilderness for you to attack.");
				return true;
			} else if (!mob.inSafePk()) {
				mob.getPlayer().sendMessage("You have to be in Safe PvP to attack other players.");
				return true;
			} else if (!inSafePk()) {
				mob.getPlayer().sendMessage("This player aint in SafePk");
				return true;
			} else if (!mob.inRevCave()) {
				mob.getPlayer().sendMessage("You have to be in the wilderness to attack other players.");
				return true;
			} else if (!inRevCave()) {
				mob.getPlayer().sendMessage("That player is not deep enough in the Wilderness for you to attack.");
				return true;
			}
i know its supposed to be set to return false; but if i do that u cant attack at all and no message is sent