Jps21
4/27/2019 - 1:55 PM

Armerstand GUI

package com.supremewars.armerstandgui;

import com.supremewars.armerstandgui.commands.ArmerstandGUICommand;
import com.supremewars.armerstandgui.events.MenuHandler;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;


import java.util.ArrayList;

public final class ArmerstandGUI extends JavaPlugin {

    @Override
    public void onEnable() {
        // Plugin startup logic

        System.out.println("Plugin Has started up");
        getCommand("armorstandgui").setExecutor(new ArmerstandGUICommand(this));

        getServer().getPluginManager().registerEvents(new MenuHandler(this), this);

    }

    @Override
    public void onDisable() {
        // Plugin shutdown logic
    }

    public void openMainMenu(Player player) {

        Inventory main_menu = Bukkit.createInventory(player, 9, ChatColor.BLUE + "Armerstand GUI");

        ItemStack create = new ItemStack(Material.ARMOR_STAND);
        ItemMeta create_meta = create.getItemMeta();
        create_meta.setDisplayName(ChatColor.GREEN + "Create");
        ArrayList<String> create_lore = new ArrayList<>();
        create_lore.add(ChatColor.DARK_PURPLE + "Create a new armor stand");
        create_meta.setLore(create_lore);
        create.setItemMeta(create_meta);

        ItemStack close = new ItemStack(Material.BARRIER);
        ItemMeta close_meta = close.getItemMeta();
        close_meta.setDisplayName(ChatColor.RED + "Close");
        close.setItemMeta(close_meta);

        main_menu.setItem(0, create);
        main_menu.setItem(8, close);
        player.openInventory(main_menu);

    }


    public void openCreateMenu(Player player) {

        Inventory create_menu = Bukkit.createInventory(player, 9, ChatColor.GREEN + "Create a Armor Stand");

        ItemStack arms = new ItemStack(Material.ARMOR_STAND);
        ItemStack glow = new ItemStack(Material.BEACON);
        ItemStack armer = new ItemStack(Material.LEATHER_CHESTPLATE);
        ItemStack base = new ItemStack(Material.STONE,1);
        ItemStack complete = new ItemStack(Material.LEGACY_WOOL, 1,(short)13); //Finish creating your armor stand
        ItemStack cancel = new ItemStack(Material.LEGACY_WOOL,1, (short) 14); //Cancel and return to main menu



        create_menu.setItem(0, arms);
        create_menu.setItem(1, glow);
        create_menu.setItem(2, armer);
        create_menu.setItem(3, base);
        create_menu.setItem(7, complete);
        create_menu.setItem(8,cancel);

        player.openInventory(create_menu);

    }



}
package com.supremewars.armerstandgui.events;

import com.supremewars.armerstandgui.ArmerstandGUI;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;

public class MenuHandler implements Listener {

    ArmerstandGUI plugin;

    public MenuHandler(ArmerstandGUI plugin) {
        this.plugin = plugin;
    }

    @EventHandler
    public void onMenuClick(InventoryClickEvent e) {

        Player player = (Player) e.getWhoClicked();

        //menu list

        final String MAIN_MENU = ChatColor.BLUE + "Armerstand GUI";

        if (e.getClickedInventory().getTitle().equalsIgnoreCase(MAIN_MENU)) {

            switch (e.getCurrentItem().getType()) {
                case ARMOR_STAND:
                    player.sendMessage("Opened Armor Stand Create Menu");
                    player.closeInventory();
                    //open the armor stand Inventory
                    plugin.openCreateMenu(player);
                    break;
                case BARRIER:
                    player.sendMessage("Closing Main Menu");
                    player.closeInventory();
                    break;

            }

            e.setCancelled(true);

        }
    }
}
package com.supremewars.armerstandgui.commands;

import com.supremewars.armerstandgui.ArmerstandGUI;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Item;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

import java.util.ArrayList;

public class ArmerstandGUICommand implements CommandExecutor {

    ArmerstandGUI plugin;

    public ArmerstandGUICommand(ArmerstandGUI plugin) {
        this.plugin = plugin;
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

        if(sender instanceof Player) {

            Player player = (Player) sender;

            plugin.openMainMenu(player);
            plugin.openMainMenu(player);


        }

            return true;


    }
}
name: ArmerstandGUI
version: ${project.version}
main: com.supremewars.armerstandgui.ArmerstandGUI
api-version: 1.13
authors: [JackScott]
description: This is an Armerstand GUI Plugin
website: supremewars.com
commands:
  armorstandgui:
    description: Create a armor stand
    usage: /<command>
    aliases: asgui