Skip to content

Instantly share code, notes, and snippets.

@kBULOSU
Created January 22, 2020 09:08
Show Gist options
  • Save kBULOSU/aa0ffa5351bd5f10e388bfc7cbebb1a3 to your computer and use it in GitHub Desktop.
Save kBULOSU/aa0ffa5351bd5f10e388bfc7cbebb1a3 to your computer and use it in GitHub Desktop.
utility class for mcmmo.
import com.gmail.nossr50.database.DatabaseManager;
import com.gmail.nossr50.database.DatabaseManagerFactory;
import com.gmail.nossr50.datatypes.database.PlayerStat;
import com.gmail.nossr50.datatypes.skills.SkillType;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class McMMOUtil {
private static final DatabaseManager DATABASE_MANAGER = DatabaseManagerFactory.getDatabaseManager();
public static List<String> getTopLore(SkillType skillType) {
List<String> lore = new ArrayList<>();
readTop(skillType, 10).stream().sorted(Comparator.comparingInt(o -> o.statVal))
.forEach($ -> lore.add("§e" + $.name + ": §f" + $.statVal));
return lore;
}
public static int getPlayerPosition(String name, SkillType skillType) {
Integer integer = DATABASE_MANAGER.readRank(name).get(skillType);
return integer <= 0 ? 0 : integer;
}
public static List<PlayerStat> readTop(SkillType skillType, int range) {
return DATABASE_MANAGER.readLeaderboard(skillType, 1, range);
}
public static String getFirst(SkillType skillType) {
Optional<PlayerStat> first = Optional.empty();
for (PlayerStat playerStat : readTop(skillType, 1)) {
first = Optional.of(playerStat);
break;
}
return first.isPresent() ? first.get().name : "Ninguém";
}
public static String getFirst() {
Optional<PlayerStat> first = Optional.empty();
for (PlayerStat playerStat : readTop(null, 1)) {
first = Optional.of(playerStat);
break;
}
return first.isPresent() ? first.get().name : "Ninguém";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment