/**
* Called when the user clicks a shop menu category
* @param mode The buyable items in the shop
* @param p the Player who this menu should be shown
*/
private static void openMerchantInventory (int mode, Player p){
// Create inventory
Merchant inv = new Merchant();
// Instanciate some variables that are re-defined in the switch
ItemStack buyA = new ItemStack (Material.AIR, 1);
ItemStack sell;
ItemMeta meta;
// There are several shop menus, they are defined by the mode variable
switch (mode) {
case 0:
// Instanciate the new ItemStacks and add them to the Villager Shop
buyA = new ItemStack (Material.CLAY_BRICK, 1);
meta = buyA.getItemMeta ();
meta.setDisplayName (ChatColor.RED + "Bronze");
buyA.setItemMeta(meta);
sell = new ItemStack (Material.SANDSTONE, 2);
inv.addOffer (new MerchantOffer (buyA, sell));
buyA = new ItemStack (Material.CLAY_BRICK, 7);
meta = buyA.getItemMeta ();
meta.setDisplayName (ChatColor.RED + "Bronze");
buyA.setItemMeta(meta);
sell = new ItemStack (Material.ENDER_STONE, 1);
inv.addOffer (new MerchantOffer (buyA, sell));
buyA = new ItemStack (Material.CLAY_BRICK, 2);
meta = buyA.getItemMeta ();
meta.setDisplayName (ChatColor.RED + "Bronze");
buyA.setItemMeta(meta);
sell = new ItemStack (Material.GLOWSTONE, 1);
inv.addOffer (new MerchantOffer (buyA, sell));
buyA = new ItemStack (Material.IRON_INGOT, 1);
meta = buyA.getItemMeta ();
meta.setDisplayName (ChatColor.GRAY + "Silber");
buyA.setItemMeta(meta);
sell = new ItemStack (Material.CHEST, 1);
inv.addOffer (new MerchantOffer (buyA, sell));
buyA = new ItemStack (Material.IRON_INGOT, 3);
meta = buyA.getItemMeta ();
meta.setDisplayName (ChatColor.GRAY + "Silber");
buyA.setItemMeta(meta);
sell = new ItemStack (Material.IRON_BLOCK, 1);
inv.addOffer (new MerchantOffer (buyA, sell));
buyA = new ItemStack (Material.GOLD_INGOT, 1);
meta = buyA.getItemMeta ();
meta.setDisplayName (ChatColor.GOLD + "Gold");
buyA.setItemMeta(meta);
sell = new ItemStack (Material.ENDER_CHEST, 1);
meta = sell.getItemMeta();
meta.setDisplayName(ChatColor.DARK_PURPLE + "Team-Kiste");
sell.setItemMeta(meta);
inv.addOffer (new MerchantOffer (buyA, sell));
inv.setTitle ("Blöcke");
break;
// I've left out some other cases because in fact it's the same
// only with other shop items
}
// Close the old menu that has been shown before
p.closeInventory();
// Open the new inventory
inv.setCustomer(p);
inv.openTrading(p);
}