Skip to content

Retrieving Player Race Data

Redned edited this page Nov 29, 2019 · 2 revisions

Using the RaceManager class, you are able to retrieve and store player race data. The main classes you will be using are RacePlayer and RaceData. RacePlayer stores most all the race information about a player. For each race a player has, a RaceData object will be instantiated. An ArrayList of them can be found in the RacePlayer class.

Here is a code example below printing the player's active race

RaceManager raceManager = PwingRacesAPI.getRaceManager();
RacePlayer racePlayer = raceManager.getRacePlayer(offlinePlayer);
Optional<Race> race = racePlayer.getRace();
if (race.isPresent()) {
    System.out.println("Active race is: " + racePlayer.getActiveRace().getName());
}

RaceData is what stores most everything about a player's race. You can use it to see if the player has the race unlocked, the amount of experience they have, the level they are, their unused skillpoints, their used skillpoints, and the skilltree elements they've purchased.

Here is a code example checking if the player's active race is unlocked

RaceManager raceManager = PwingRacesAPI.getRaceManager();
RacePlayer racePlayer = raceManager.getRacePlayer(offlinePlayer);
RaceData raceData = racePlayer.getRaceData(racePlayer.getRace().get());
if (!raceData.isUnlocked()) {
    System.out.println("Race is not unlocked!");
    return;
}