/*
* Copyright (C) 2014 eccentric_nz
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package me.eccentric_nz.TARDIS.sonic;
import java.util.Arrays;
import java.util.List;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
/**
* Oh, yes. Harmless is just the word. That's why I like it! Doesn't kill,
* doesn't wound, doesn't maim. But I'll tell you what it does do. It is very
* good at opening doors!
*
* @author eccentric_nz
*/
public class TARDISSonicMenuInventory {
private final ItemStack[] menu;
public TARDISSonicMenuInventory() {
this.menu = getItemStack();
}
/**
* Constructs an inventory for the Sonic Screwdriver Menu GUI.
*
* @return an Array of itemStacks (an inventory)
*/
@SuppressWarnings("deprecation")
private ItemStack[] getItemStack() {
// \u00a7 = ยง (ChatColor code)
// mark I
ItemStack markone = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta markone_im = markone.getItemMeta();
markone_im.setDisplayName(ChatColor.DARK_GRAY + "Sonic Screwdriver");
markone_im.setLore(Arrays.asList("Mark I"));
markone.setItemMeta(markone_im);
// mark II
ItemStack marktwo = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta marktwo_im = marktwo.getItemMeta();
marktwo_im.setDisplayName(ChatColor.YELLOW + "Sonic Screwdriver");
marktwo_im.setLore(Arrays.asList("Mark II"));
marktwo.setItemMeta(marktwo_im);
// mark III
ItemStack markthree = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta markthree_im = markthree.getItemMeta();
markthree_im.setDisplayName(ChatColor.DARK_PURPLE + "Sonic Screwdriver");
markthree_im.setLore(Arrays.asList("Mark III"));
markthree.setItemMeta(markthree_im);
// mark IV
ItemStack markfour = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta markfour_im = markfour.getItemMeta();
markfour_im.setDisplayName(ChatColor.GRAY + "Sonic Screwdriver");
markfour_im.setLore(Arrays.asList("Mark IV"));
markfour.setItemMeta(markfour_im);
// mcgann
ItemStack mcgann = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta mcgann_im = mcgann.getItemMeta();
mcgann_im.setDisplayName(ChatColor.BLUE + "Sonic Screwdriver");
mcgann_im.setLore(Arrays.asList("Eighth Doctor"));
mcgann.setItemMeta(mcgann_im);
// eccelston
ItemStack eccelston = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta eccelston_im = eccelston.getItemMeta();
eccelston_im.setDisplayName(ChatColor.GREEN + "Sonic Screwdriver");
eccelston_im.setLore(Arrays.asList("Ninth Doctor"));
eccelston.setItemMeta(eccelston_im);
// eccelston open
ItemStack eccelston_open = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta eccelston_open_im = eccelston_open.getItemMeta();
eccelston_open_im.setDisplayName(ChatColor.DARK_GREEN + "Sonic Screwdriver");
eccelston_open_im.setLore(Arrays.asList("Ninth Doctor Open"));
eccelston_open.setItemMeta(eccelston_open_im);
// tennant
ItemStack tennant = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta tennant_im = tennant.getItemMeta();
tennant_im.setDisplayName(ChatColor.AQUA + "Sonic Screwdriver");
tennant_im.setLore(Arrays.asList("Tenth Doctor"));
tennant.setItemMeta(tennant_im);
// tennant open
ItemStack tennant_open = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta tennant_open_im = tennant_open.getItemMeta();
tennant_open_im.setDisplayName(ChatColor.DARK_AQUA + "Sonic Screwdriver");
tennant_open_im.setLore(Arrays.asList("Tenth Doctor Open"));
tennant_open.setItemMeta(tennant_open_im);
// smith
ItemStack smith = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta smith_im = smith.getItemMeta();
smith_im.setDisplayName("Sonic Screwdriver");
smith_im.setLore(Arrays.asList("Eleventh Doctor"));
smith.setItemMeta(smith_im);
// smith open
ItemStack smith_open = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta smith_open_im = smith_open.getItemMeta();
smith_open_im.setDisplayName(ChatColor.LIGHT_PURPLE + "Sonic Screwdriver");
smith_open_im.setLore(Arrays.asList("Eleventh Doctor Open"));
smith_open.setItemMeta(smith_open_im);
// hurt
ItemStack hurt = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta hurt_im = hurt.getItemMeta();
hurt_im.setDisplayName(ChatColor.DARK_RED + "Sonic Screwdriver");
hurt_im.setLore(Arrays.asList("War Doctor"));
hurt.setItemMeta(hurt_im);
// master
ItemStack master = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta master_im = master.getItemMeta();
master_im.setDisplayName(ChatColor.DARK_BLUE + "Sonic Screwdriver");
master_im.setLore(Arrays.asList("Master"));
master.setItemMeta(master_im);
// sarah jane
ItemStack sarahjane = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta sarahjane_im = sarahjane.getItemMeta();
sarahjane_im.setDisplayName(ChatColor.RED + "Sonic Screwdriver");
sarahjane_im.setLore(Arrays.asList("Sarah Jane"));
sarahjane.setItemMeta(sarahjane_im);
// river song
ItemStack song = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta song_im = song.getItemMeta();
song_im.setDisplayName(ChatColor.GOLD + "Sonic Screwdriver");
song_im.setLore(Arrays.asList("River Song"));
song.setItemMeta(song_im);
// twelfth doctor (peter capaldi)
ItemStack peter = new ItemStack(Material.BLAZE_ROD, 1);
ItemMeta capaldi = peter.getItemMeta();
capaldi.setDisplayName(ChatColor.UNDERLINE + "Sonic Screwdriver");
capaldi.setLore(Arrays.asList("Twelfth Doctor"));
peter.setItemMeta(capaldi);
// info
ItemStack info = new ItemStack(Material.BOOK, 1);
ItemMeta info_im = info.getItemMeta();
info_im.setDisplayName("Instructions");
List<String> lore = Arrays.asList(new String[]{"Put your Sonic Screwdriver", "in the bottom left most slot", "and then click on the", "Sonic of your choice."});
info_im.setLore(lore);
info.setItemMeta(info_im);
// close
ItemStack close = new ItemStack(Material.BOWL, 1);
ItemMeta close_im = close.getItemMeta();
close_im.setDisplayName("Close");
close.setItemMeta(close_im);
ItemStack[] stack = {
markone, marktwo, markthree, markfour, mcgann, eccelston, tennant, smith, hurt,
null, master, sarahjane, song, null, eccelston_open, tennant_open, smith_open, peter,
null, null, null, null, info, null, null, null, close
};
return stack;
}
public ItemStack[] getMenu() {
return menu;
}
}