Search in sources :

Example 1 with Title

use of gg.projecteden.nexus.features.menus.api.annotations.Title in project Nexus by ProjectEdenGG.

the class McMMOResetProvider method init.

@Override
public void init() {
    McMMOPlayer mcmmoPlayer = UserManager.getPlayer(player);
    int totalPowerLevel = 0;
    boolean _canPrestigeAll = true;
    for (ResetSkillType skill : ResetSkillType.values()) {
        int powerLevel = Math.min(TIER_ONE, mcmmoPlayer.getSkillLevel(PrimarySkillType.valueOf(skill.name())));
        totalPowerLevel += powerLevel;
        if (powerLevel < TIER_ONE)
            _canPrestigeAll = false;
    }
    final boolean canPrestigeAll = _canPrestigeAll;
    ItemBuilder all = new ItemBuilder(Material.BEACON).name("&eAll Skills").lore("&3Power Level: &e" + totalPowerLevel + "/" + TIER_ONE_ALL + "", "&3&lReward:", "&f- " + DEPOSIT_PRETTY + " per level " + TIER_ONE + " skill (x" + MAX_DEPOSIT_MULTIPLIER + " if level " + TIER_TWO + ")", "&f- " + DEPOSIT_ALL_PRETTY + " bonus (x" + MAX_DEPOSIT_ALL_MULTIPLIER + " if every skill is level " + TIER_TWO + ")", "&f- All normal rewards", "&f- When your health gets low, this breastplate will give you the strength of an angry barbarian!").glow(mcmmoPlayer.getPowerLevel() >= TIER_ONE_ALL);
    ItemStack reset = new ItemBuilder(Material.BARRIER).name("&cReset all with &lno reward").build();
    contents.set(0, 4, ClickableItem.of(all, e -> {
        if (!canPrestigeAll)
            return;
        ConfirmationMenu.builder().title("&4Confirm Prestige All?").onConfirm(e2 -> {
            player.closeInventory();
            prestigeAll(player);
        }).open(player);
    }));
    contents.set(5, 4, ClickableItem.of(reset, e -> ConfirmationMenu.builder().title("&4Confirm Reset All? (No Rewards)").onConfirm(e2 -> {
        player.closeInventory();
        resetAll(mcmmoPlayer);
    }).open(player)));
    McMMOPrestige mcMMOPrestige = service.getPrestige(player.getUniqueId().toString());
    for (ResetSkillType skill : ResetSkillType.values()) {
        ItemBuilder item = new ItemBuilder(skill.getMaterial()).itemFlags(ItemFlag.HIDE_POTION_EFFECTS, ItemFlag.HIDE_ATTRIBUTES).name("&e" + StringUtils.camelCase(skill.name())).lore("&3Level: &e" + mcmmoPlayer.getSkillLevel(PrimarySkillType.valueOf(skill.name())), "", "&3&lReward:", "&f" + DEPOSIT_PRETTY + " (x" + MAX_DEPOSIT_MULTIPLIER + " for level " + TIER_TWO + ")", "&f" + skill.getRewardDescription(), "", "&3Number of Prestieges: &e" + mcMMOPrestige.getPrestige(skill.name())).glow(mcmmoPlayer.getSkillLevel(PrimarySkillType.valueOf(skill.name())) >= TIER_ONE);
        contents.set(skill.getRow(), skill.getColumn(), ClickableItem.of(item, (e) -> {
            if (mcmmoPlayer.getSkillLevel(PrimarySkillType.valueOf(skill.name())) < TIER_ONE)
                return;
            ConfirmationMenu.builder().title("Confirm Prestige?").onConfirm((e2) -> {
                player.closeInventory();
                prestige(player, skill, true);
            }).open(player);
        }));
    }
}
Also used : ItemFlag(org.bukkit.inventory.ItemFlag) TIER_ONE(gg.projecteden.nexus.features.mcmmo.McMMO.TIER_ONE) StringUtils(gg.projecteden.nexus.utils.StringUtils) Getter(lombok.Getter) Enchantment(org.bukkit.enchantments.Enchantment) Player(org.bukkit.entity.Player) McMMOPlayer(com.gmail.nossr50.datatypes.player.McMMOPlayer) ClickableItem(gg.projecteden.nexus.features.menus.api.ClickableItem) TIER_ONE_ALL(gg.projecteden.nexus.features.mcmmo.McMMO.TIER_ONE_ALL) McMMOPrestige(gg.projecteden.nexus.models.mcmmo.McMMOPrestige) Enchant(gg.projecteden.nexus.utils.Enchant) PlayerUtils(gg.projecteden.nexus.utils.PlayerUtils) TransactionCause(gg.projecteden.nexus.models.banker.Transaction.TransactionCause) McMMOService(gg.projecteden.nexus.models.mcmmo.McMMOService) BankerService(gg.projecteden.nexus.models.banker.BankerService) Nickname(gg.projecteden.nexus.models.nickname.Nickname) TIER_TWO(gg.projecteden.nexus.features.mcmmo.McMMO.TIER_TWO) Material(org.bukkit.Material) ConfirmationMenu(gg.projecteden.nexus.features.menus.MenuUtils.ConfirmationMenu) ItemBuilder(gg.projecteden.nexus.utils.ItemBuilder) ShopGroup(gg.projecteden.nexus.models.shop.Shop.ShopGroup) UserManager(com.gmail.nossr50.util.player.UserManager) Koda(gg.projecteden.nexus.features.chat.Koda) LuckPermsUtils(gg.projecteden.nexus.utils.LuckPermsUtils) PermissionChange(gg.projecteden.nexus.utils.LuckPermsUtils.PermissionChange) ItemStack(org.bukkit.inventory.ItemStack) GemCommand(gg.projecteden.nexus.features.crates.GemCommand) Title(gg.projecteden.nexus.features.menus.api.annotations.Title) InventoryProvider(gg.projecteden.nexus.features.menus.api.content.InventoryProvider) AllArgsConstructor(lombok.AllArgsConstructor) PrimarySkillType(com.gmail.nossr50.datatypes.skills.PrimarySkillType) ItemBuilder(gg.projecteden.nexus.utils.ItemBuilder) McMMOPlayer(com.gmail.nossr50.datatypes.player.McMMOPlayer) ItemStack(org.bukkit.inventory.ItemStack) McMMOPrestige(gg.projecteden.nexus.models.mcmmo.McMMOPrestige)

Aggregations

McMMOPlayer (com.gmail.nossr50.datatypes.player.McMMOPlayer)1 PrimarySkillType (com.gmail.nossr50.datatypes.skills.PrimarySkillType)1 UserManager (com.gmail.nossr50.util.player.UserManager)1 Koda (gg.projecteden.nexus.features.chat.Koda)1 GemCommand (gg.projecteden.nexus.features.crates.GemCommand)1 TIER_ONE (gg.projecteden.nexus.features.mcmmo.McMMO.TIER_ONE)1 TIER_ONE_ALL (gg.projecteden.nexus.features.mcmmo.McMMO.TIER_ONE_ALL)1 TIER_TWO (gg.projecteden.nexus.features.mcmmo.McMMO.TIER_TWO)1 ConfirmationMenu (gg.projecteden.nexus.features.menus.MenuUtils.ConfirmationMenu)1 ClickableItem (gg.projecteden.nexus.features.menus.api.ClickableItem)1 Title (gg.projecteden.nexus.features.menus.api.annotations.Title)1 InventoryProvider (gg.projecteden.nexus.features.menus.api.content.InventoryProvider)1 BankerService (gg.projecteden.nexus.models.banker.BankerService)1 TransactionCause (gg.projecteden.nexus.models.banker.Transaction.TransactionCause)1 McMMOPrestige (gg.projecteden.nexus.models.mcmmo.McMMOPrestige)1 McMMOService (gg.projecteden.nexus.models.mcmmo.McMMOService)1 Nickname (gg.projecteden.nexus.models.nickname.Nickname)1 ShopGroup (gg.projecteden.nexus.models.shop.Shop.ShopGroup)1 Enchant (gg.projecteden.nexus.utils.Enchant)1 ItemBuilder (gg.projecteden.nexus.utils.ItemBuilder)1