EpicVouchers/src/main/java/com/craftaro/epicvouchers/menus/ActionMenu.java

70 lines
3.2 KiB
Java

package com.craftaro.epicvouchers.menus;
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
import com.craftaro.core.utils.TextUtils;
import com.craftaro.epicvouchers.EpicVouchers;
import com.craftaro.epicvouchers.libraries.ItemBuilder;
import com.craftaro.epicvouchers.libraries.inventory.FastInv;
import com.craftaro.epicvouchers.menus.sub.action.ForceMenu;
import com.craftaro.epicvouchers.menus.sub.action.GiveMenu;
import com.craftaro.epicvouchers.voucher.Voucher;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import java.util.ArrayList;
import static org.bukkit.ChatColor.GRAY;
import static org.bukkit.ChatColor.YELLOW;
import static org.bukkit.Material.BARRIER;
public class ActionMenu extends FastInv {
public ActionMenu(EpicVouchers instance, Voucher voucher) {
super(27, "Give menu");
addItem(10, new ItemBuilder(Material.FEATHER)
.name(TextUtils.formatText("&6Give voucher"))
.lore(TextUtils.formatText("&eGive the voucher to a"),
TextUtils.formatText("&especific player."))
.build(), event -> new GiveMenu(instance, voucher).open(event.getPlayer()));
addItem(14, new ItemBuilder(Material.ANVIL)
.name(TextUtils.formatText("&6Force voucher"))
.lore(TextUtils.formatText("&eForce the redeeming of the"),
TextUtils.formatText("&evoucher on a specific player."))
.build(), event -> new ForceMenu(instance, voucher).open(event.getPlayer()));
addItem(12, new ItemBuilder(Material.FEATHER)
.name(TextUtils.formatText("&6Give all voucher"))
.lore(TextUtils.formatText("&eGive the voucher to all"),
TextUtils.formatText("&eonline players."))
.build(), event -> new ConfirmMenu(instance,
() -> {
voucher.giveAll(event.getPlayer(), 1);
open(event.getPlayer());
}, () -> open(event.getPlayer())).open(event.getPlayer()));
addItem(16, new ItemBuilder(Material.ANVIL)
.name(TextUtils.formatText("&6Force all voucher"))
.lore(TextUtils.formatText("&eForce the redeeming of the"),
TextUtils.formatText("&evoucher on all online players."))
.build(), event -> new ConfirmMenu(instance,
() -> {
voucher.forceRedeem(event.getPlayer(), new ArrayList<>(Bukkit.getOnlinePlayers()), 1);
open(event.getPlayer());
}, () -> open(event.getPlayer())).open(event.getPlayer()));
addItem(18, new ItemBuilder(BARRIER)
.name(YELLOW + "Return")
.lore(GRAY + "Return to the editor")
.addGlow().build(), event -> new VoucherMenu(instance).open(event.getPlayer()));
if (instance.getConfig().getBoolean("Interface.Fill Interfaces With Glass")) {
ItemStack fillItem = XMaterial.GRAY_STAINED_GLASS_PANE.parseItem();
fill(new ItemBuilder(fillItem).name(ChatColor.RESET.toString()).build());
}
}
}