private int nextWorldInOrder(boolean members) {
        return getWorlds().getAvailableWorlds(true)
                .stream()
                .filter(world -> !world.isPvpWorld() && world.isMembers() == members && !world.getActivity().contains("skill") && !world.getActivity().contains("Deadman") && world.getId() > getWorlds().getCurrentWorld())
                .min(Comparator.comparingInt(World::getId))
                .map(World::getId)
                .orElseGet(() -> members ? 302 : 301);
    }
	and then 
 
        getWorlds().hop(nextWorldInOrder(true));
	should work for you, if u want to use total level worlds aswell then parseInt of world acrivity and check if ur total level > required