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