Search in sources :

Example 6 with Rank

use of de.kaktushose.levelbot.database.model.Rank in project Levelbot by Kaktushose.

the class LevelService method applyRewards.

public String applyRewards(long userId, int rankId) {
    Rank rank = getRank(rankId);
    StringBuilder rewardText = new StringBuilder();
    rank.getRankRewards().forEach(rankReward -> {
        userService.addCoins(userId, rankReward.getCoins());
        userService.addDiamonds(userId, rankReward.getDiamonds());
        userService.addXp(userId, rankReward.getXp());
        if (rankReward.getItem() != null) {
            shopService.addItem(userId, rankReward.getItem().getItemId());
        }
        rewardText.append(rankReward.getMessage()).append("\n");
    });
    return rewardText.substring(0, rewardText.length() - 1);
}
Also used : Rank(de.kaktushose.levelbot.database.model.Rank)

Aggregations

Rank (de.kaktushose.levelbot.database.model.Rank)6 CollectEvent (de.kaktushose.levelbot.database.model.CollectEvent)2 EmbedDTO (com.github.kaktushose.jda.commands.embeds.EmbedDTO)1 BotUser (de.kaktushose.levelbot.database.model.BotUser)1 Item (de.kaktushose.levelbot.shop.data.items.Item)1 EmbedBuilder (net.dv8tion.jda.api.EmbedBuilder)1 Guild (net.dv8tion.jda.api.entities.Guild)1 TextChannel (net.dv8tion.jda.api.entities.TextChannel)1 User (net.dv8tion.jda.api.entities.User)1