Newer
Older
ChallengeSystem / src / main / java / de / fanta / challenges / guis / settingsgui / MainGui.java
@fantahund fantahund on 17 Jul 2020 2 KB GUIS erstellen macht kein Spaß :(
package de.fanta.challenges.guis.settingsgui;

import de.fanta.challenges.Challenges;
import de.fanta.challenges.utils.guiutils.GUIUtils;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;

public class MainGui implements Listener {

    private static final Challenges plugin = Challenges.getPlugin();

    public static final int INVENTORY_SIZE = 27;
    public static final Inventory MAIN_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Settings");

    private static final int CHALLENGES_INDEX = 10;
    private static final int SERVER_SETTINGS_INDEX = 13;
    private static final int CLOSE_IDEX = 26;

    public static void createMainGUI(Player p) {
        MAIN_GUI.setItem(CHALLENGES_INDEX, GUIUtils.createGuiItem(Material.REPEATER, ChatColor.GREEN + "Challenges"));
        MAIN_GUI.setItem(CLOSE_IDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatColor.RED + "Menü Verlassen!"));
        MAIN_GUI.setItem(SERVER_SETTINGS_INDEX, GUIUtils.createGuiItem(Material.COMMAND_BLOCK, ChatColor.GREEN+ "Server Einstellungen"));
        for (int i = 0; i < INVENTORY_SIZE; i++) {
            if (MAIN_GUI.getItem(i) == null || MAIN_GUI.getItem(i).getType() == Material.AIR) {
                MAIN_GUI.setItem(i, GUIUtils.EMPTY_ICON);
            }
        }
        p.openInventory(MAIN_GUI);
    }

    @EventHandler
    public void onInventoryClick(InventoryClickEvent e) {
        int slot = e.getRawSlot();
        Player p = (Player) e.getWhoClicked();
        if (e.getInventory() == MAIN_GUI) {
            switch (slot) {
                case CHALLENGES_INDEX:
                    SettingsGui.createSettingsGUI(p);
                    break;
                case CLOSE_IDEX:
                    p.closeInventory();
                    break;
                case SERVER_SETTINGS_INDEX:
                    ServerSettingsGui.createServerSettingsGUI(p);
                    break;
            }
            e.setCancelled(true);
        }
    }
}