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