Skip to content

Instantly share code, notes, and snippets.

@JustBru00
Created December 19, 2016 22:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JustBru00/7d6e407e2be3db7b8af22469235c0f28 to your computer and use it in GitHub Desktop.
Save JustBru00/7d6e407e2be3db7b8af22469235c0f28 to your computer and use it in GitHub Desktop.
package me.noahw7.Plugin.Listeners;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import me.noahw7.Plugin.Saves.TARDIS;
import me.noahw7.Plugin.Tasks.TARDISTasks;
import me.noahw7.Plugin.Variables.TARDISVariables;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
public class ConsoleSelector
{
public static void openGUI(Player player)
{
Inventory inv = Bukkit.createInventory(null, 9, ChatColor.DARK_BLUE + "Select a console");
inv.setItem(3, createItem("Default"));
inv.setItem(4, createItem("Eleventh twelfth"));
inv.setItem(5, createItem("Tenth"));
inv.setItem(6, createItem("Classic"));
player.openInventory(inv);
}
private static ItemStack createItem(String name)
{
ItemStack item = new ItemStack(Material.NETHER_STAR);
ItemMeta itemMeta = item.getItemMeta();
itemMeta.setDisplayName(name);
List<String> l = new ArrayList();
l.add("TARDIS_CONSOLE");
itemMeta.setLore(l);
item.setItemMeta(itemMeta);
return item;
}
public static void onClick(InventoryClickEvent event)
{
if (!ChatColor.stripColor(event.getInventory().getName()).equalsIgnoreCase("Select a console")) {
return;
}
Player player = (Player)event.getWhoClicked();
event.setCancelled(true);
String TID = TARDISVariables.getTARDISID(player.getUniqueId().toString());
if ((TID.equalsIgnoreCase("notFound")) ||
(event.getCurrentItem() == null) ||
(event.getCurrentItem().getType() == Material.AIR) ||
(!event.getCurrentItem().hasItemMeta()))
{
player.sendMessage(ChatColor.RED + "Can't find your TARDIS or not a valid console!");
return;
}
TARDIS tardis = TARDISVariables.getTARDIS(Integer.parseInt(TID));
if ((!tardis.isBusy()) && (!tardis.isInFlight()))
{
if ((event.getCurrentItem().getItemMeta().hasLore()) && (event.getCurrentItem().getItemMeta().getLore().contains("TARDIS_CONSOLE")))
{
tardis.setBusy(true);
String console = event.getCurrentItem().getItemMeta().getDisplayName();
console = console.replace(' ', '_');
TARDISTasks.setConsole(tardis.getTardisID(), console);
player.closeInventory();
player.sendMessage(ChatColor.AQUA + "The TARDIS will rebuild itself after you leave.");
}
}
else {
player.sendMessage(ChatColor.RED + "You can't do that!");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment