Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.baneofsmite.twodonkeysgm;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.enchantments.Enchantment;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.ClickType;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.InventoryHolder;
- import org.bukkit.inventory.ItemFlag;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import java.util.HashMap;
- public class ScenarioManager implements InventoryHolder, Listener {
- private final Main plugin;
- public static HashMap<ItemStack, String> scenarios = new HashMap<>();
- public static HashMap<ItemStack, String> skriptScenarios = new HashMap<>();
- Inventory inv;
- public ScenarioManager(Main plugin) {
- this.plugin = plugin;
- }
- public void openManager(Player p) {
- inv = Bukkit.createInventory(this, 54, "Scenario Manager");
- this.createInv(p);
- }
- public void createInv(Player p) {
- System.out.println(skriptScenarios.get(new ItemStack(Material.DIAMOND_ORE)));
- scenarios.forEach((item,name) -> {
- ItemMeta meta = item.getItemMeta();
- meta.setDisplayName("§e" + name);
- if (meta.getEnchants().containsKey(Enchantment.ARROW_INFINITE)) {
- meta.removeEnchant(Enchantment.ARROW_INFINITE);
- }
- if (plugin.getConfig().getBoolean(meta.getDisplayName().substring(3))) {
- meta.addEnchant(Enchantment.ARROW_INFINITE, 1, true);
- meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
- }
- item.setItemMeta(meta);
- inv.addItem(item);
- }
- );
- skriptScenarios.forEach((item,name) -> {
- ItemMeta meta = item.getItemMeta();
- meta.setDisplayName("§e" + name);
- item.setItemMeta(meta);
- inv.addItem(item);
- });
- p.openInventory(inv);
- }
- @EventHandler
- public void onInventoryClick(InventoryClickEvent e) {
- if (e.getClickedInventory().getName() != "Scenario Manager") {
- return;
- }
- if (e.getClick().equals(ClickType.NUMBER_KEY)){
- e.setCancelled(true);
- }
- e.setCancelled(true);
- Player p = (Player) e.getWhoClicked();
- ItemStack clickedItem = e.getCurrentItem();
- // verify current item is not null
- if (clickedItem == null || clickedItem.getType() == Material.AIR) return;
- // Using slots click is a best option for your inventory click's
- ItemMeta meta = clickedItem.getItemMeta();
- if (scenarios.containsValue(meta.getDisplayName().substring(3))) {
- if (plugin.getConfig().getBoolean(meta.getDisplayName().substring(3))) {
- plugin.getConfig().set(meta.getDisplayName().substring(3), false);
- meta.removeEnchant(Enchantment.ARROW_INFINITE);
- clickedItem.setItemMeta(meta);
- Bukkit.broadcastMessage(Main.getPrefix() + ChatColor.GRAY + " " + meta.getDisplayName() + " has been" + ChatColor.RED + " disabled");
- }
- else {
- plugin.getConfig().set(meta.getDisplayName().substring(3), true);
- meta.addEnchant(Enchantment.ARROW_INFINITE, 1, true);
- meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
- clickedItem.setItemMeta(meta);
- Bukkit.broadcastMessage(Main.getPrefix() + ChatColor.GRAY + " " + meta.getDisplayName() + " has been" + ChatColor.GREEN + " enabled");
- }
- }
- else if (skriptScenarios.containsValue(meta.getDisplayName().substring(3))) {
- if (clickedItem.getEnchantments().isEmpty()) {
- Bukkit.getServer().dispatchCommand(p, meta.getDisplayName().substring(3) + " enable");
- Bukkit.broadcastMessage(Main.getPrefix() + ChatColor.GRAY + " " + meta.getDisplayName() + " has been" + ChatColor.GREEN + " enabled");
- meta.addEnchant(Enchantment.ARROW_INFINITE, 1, true);
- meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
- clickedItem.setItemMeta(meta);
- }
- else {
- Bukkit.getServer().dispatchCommand(p, meta.getDisplayName().substring(3) + " disable");
- Bukkit.broadcastMessage(Main.getPrefix() + ChatColor.GRAY + " " + meta.getDisplayName() + " has been" + ChatColor.RED + " disabled");
- meta.removeEnchant(Enchantment.ARROW_INFINITE);
- clickedItem.setItemMeta(meta);
- }
- }
- else {
- }
- }
- @Override
- public Inventory getInventory() {
- return inv;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement