package net.mindoverflow.ultratools.inventories; import net.mindoverflow.ultratools.Main; import org.bukkit.Bukkit; import org.bukkit.Difficulty; import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryView; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import java.util.ArrayList; import java.util.List; public class Inventories implements Listener { private static Main plugin; public Inventories(Main plugin) { Inventories.plugin = plugin; } public static Inventory tools = Bukkit.createInventory(null, 54, "§5§lUltra§6§lTools"); static { List ls = new ArrayList(); //ls.add("UltraTntProZ!"); //TIME SETTINGS tools.setItem(0, setName(new ItemStack(Material.CLOCK, 1), "§7§lTime", ls)); ls.add("§7Set the time at Dawn!"); tools.setItem(18, setName(new ItemStack(Material.REDSTONE, 1), "§6Dawn", ls)); ls.clear(); ls.add("§7Set the time at Midday!"); tools.setItem(27, setName(new ItemStack(Material.GLOWSTONE_DUST, 1), "§eMidday", ls)); ls.clear(); ls.add("§7Set the time at Evening!"); tools.setItem(36, setName(new ItemStack(Material.SUGAR, 1), "§7Evening", ls)); ls.clear(); ls.add("§7Set the time at Midnight!"); tools.setItem(45, setName(new ItemStack(Material.GUNPOWDER, 1), "§8Midnight", ls)); ls.clear(); //WEATHER SETTINGS tools.setItem(2, setName(new ItemStack(Material.BLAZE_POWDER, 1), "§7§lWeather", ls)); ls.clear(); ls.add("§7Change the Weather to Sun!"); tools.setItem(20, setName(new ItemStack(Material.GOLD_NUGGET, 1), "§6Sun", ls)); ls.clear(); ls.add("§7Change the Weather to Rain!"); tools.setItem(29, setName(new ItemStack(Material.GHAST_TEAR, 1), "§7Rain", ls)); ls.clear(); ls.add("§7Change the Weather to Thunder!"); tools.setItem(38, setName(new ItemStack(Material.FLINT, 1), "§8Thunder", ls)); ls.clear(); //GAMEMODE SETTINGS tools.setItem(4, setName(new ItemStack(Material.EGG, 1), "§7§lGamemode", ls)); ls.clear(); ls.add("§7Change your Gamemode to Creative!"); tools.setItem(22, setName(new ItemStack(Material.GRASS, 1), "§6Creative", ls)); ls.clear(); ls.add("§7Change your Gamemode to Survival!"); tools.setItem(31, setName(new ItemStack(Material.CRAFTING_TABLE, 1), "§cSurvival", ls)); ls.clear(); ls.add("§7Change your Gamemode to Adventure!"); tools.setItem(40, setName(new ItemStack(Material.CHEST, 1), "§9Adventure", ls)); ls.clear(); //DIFFICULTY SETTINGS tools.setItem(6, setName(new ItemStack(Material.SKELETON_SKULL, 1), "§7§lDifficulty", ls)); ls.clear(); ls.add("§7Change the Difficulty to Peaceful!"); tools.setItem(24, setName(new ItemStack(Material.WOODEN_SWORD, 1), "§2Peaceful", ls)); ls.clear(); ls.add("§7Change the Difficulty to Easy!"); tools.setItem(33, setName(new ItemStack(Material.STONE_SWORD, 1), "§6Easy", ls)); ls.clear(); ls.add("§7Change the Difficulty to Normal!"); tools.setItem(42, setName(new ItemStack(Material.IRON_SWORD, 1), "§cNormal", ls)); ls.clear(); ls.add("§7Change the Difficulty to Hard!"); tools.setItem(51, setName(new ItemStack(Material.DIAMOND_SWORD, 1), "§4Hard", ls)); ls.clear(); //HEAL THE PLAYER ls.add("§7Heal yourself!"); tools.setItem(26, setName(new ItemStack(Material.COOKED_PORKCHOP, 1), "§aHeal", ls)); ls.clear(); //PERMIT FLY TO THE PLAYER ls.add("§7Enable the Fly Mode!"); tools.setItem(35, setName(new ItemStack(Material.FEATHER, 1), "§8Fly", ls)); ls.clear(); //ENABLE OR DISABLE VANISH MODE ls.add("§7Enable the Vanish Mode!"); tools.setItem(44, setName(new ItemStack(Material.POTION, 1), "§9Vanish", ls)); ls.clear(); //CLOSE THE MENU ls.add("§7Close the Menu!"); tools.setItem(8, setName(new ItemStack(Material.ENDER_PEARL, 1), "§cClose", ls)); ls.clear(); //tools.setItem(8, new ItemStack(Material.GOLD_BLOCK, 1)); } @EventHandler public void onInventoryClick(InventoryClickEvent event) { Player player = (Player) event.getWhoClicked(); ItemStack clicked = event.getCurrentItem(); Inventory inventory = event.getInventory(); if(event.getView().getTitle().equals("§5§lUltra§6§lTools")) { if (clicked.getType() == Material.GLOWSTONE_DUST) { //Bukkit.getServer().dispatchCommand(player, "time set 6000"); player.getWorld().setTime(6000L); event.setCancelled(true); player.closeInventory(); player.sendMessage("§eTime set to Midday!"); } else if (clicked.getType() == Material.REDSTONE) { player.getWorld().setTime(0L); event.setCancelled(true); player.closeInventory(); player.sendMessage("§6Time set to Dawn!"); } else if (clicked.getType() == Material.SUGAR) { player.getWorld().setTime(13000L); event.setCancelled(true); player.closeInventory(); player.sendMessage("§7Time set to Evening!"); } else if (clicked.getType() == Material.GUNPOWDER) { player.getWorld().setTime(18000L); event.setCancelled(true); player.closeInventory(); player.sendMessage("§8Time set to Midnight!"); } else if (clicked.getType() == Material.GOLD_NUGGET) { player.getWorld().setStorm(false); player.getWorld().setThundering(false); event.setCancelled(true); player.closeInventory(); player.sendMessage("§6It's Sunny now!"); } else if (clicked.getType() == Material.GHAST_TEAR) { player.getWorld().setStorm(true); player.getWorld().setThundering(false); event.setCancelled(true); player.closeInventory(); player.sendMessage("§9It's Rainy now!"); } else if (clicked.getType() == Material.FLINT) { player.getWorld().setStorm(true); player.getWorld().setThundering(true); event.setCancelled(true); player.closeInventory(); player.sendMessage("§1It's Thundering!"); } else if (clicked.getType() == Material.GRASS) { player.setGameMode(GameMode.CREATIVE); event.setCancelled(true); player.closeInventory(); player.sendMessage("§6Gamemode changed to Creative!"); } else if (clicked.getType() == Material.CRAFTING_TABLE) { player.setGameMode(GameMode.SURVIVAL); event.setCancelled(true); player.closeInventory(); player.sendMessage("§cGamemode changed to Survival!"); } else if (clicked.getType() == Material.CHEST) { player.setGameMode(GameMode.ADVENTURE); event.setCancelled(true); player.closeInventory(); player.sendMessage("§9Gamemode changed to Adventure!"); //DIFFICULTY SETTINGS } else if (clicked.getType() == Material.WOODEN_SWORD) { player.getWorld().setDifficulty(Difficulty.PEACEFUL); event.setCancelled(true); player.closeInventory(); player.sendMessage("§2Difficulty changed to Peaceful!"); } else if (clicked.getType() == Material.STONE_SWORD) { player.getWorld().setDifficulty(Difficulty.EASY); event.setCancelled(true); player.closeInventory(); player.sendMessage("§6Difficulty changed to Easy!"); } else if (clicked.getType() == Material.IRON_SWORD) { player.getWorld().setDifficulty(Difficulty.NORMAL); event.setCancelled(true); player.closeInventory(); player.sendMessage("§cDifficulty changed to Normal!"); } else if (clicked.getType() == Material.DIAMOND_SWORD) { player.getWorld().setDifficulty(Difficulty.HARD); event.setCancelled(true); player.closeInventory(); player.sendMessage("§4Difficulty changed to Hard!"); } else if (clicked.getType() == Material.COOKED_PORKCHOP) { player.setHealth(20L); player.setFoodLevel(20); event.setCancelled(true); player.closeInventory(); player.sendMessage("§aYou have been Healed!"); } else if (clicked.getType() == Material.FEATHER) { event.setCancelled(true); player.closeInventory(); if(player.getAllowFlight()) { player.setAllowFlight(false); player.setFlying(false); player.sendMessage("§8Fly Mode disabled!"); } else { player.setAllowFlight(true); player.sendMessage("§8Fly Mode enabled!"); } } else if (clicked.getType() == Material.POTION) { if(Main.vanished.contains(player.getName())) { for (Player p : Bukkit.getServer().getOnlinePlayers()) { p.showPlayer(plugin, player); } player.sendMessage("§cVanish Mode Disabled!"); Main.vanished.remove(player.getName()); } else {for (Player p : Bukkit.getServer().getOnlinePlayers()) { p.hidePlayer(plugin, player); } player.sendMessage("§9Vanish Mode Enabled!"); player.sendMessage("§7You will continue seeing yourself, but nobody else will see you!"); Main.vanished.add(player.getName()); } event.setCancelled(true); player.closeInventory(); } else if (clicked.getType() == Material.ENDER_PEARL) { event.setCancelled(true); player.closeInventory(); } else { event.setCancelled(true); } } } private static ItemStack setName(ItemStack is, String name, List lore) { ItemMeta im = is.getItemMeta(); if(name != null && im != null) { im.setDisplayName(name); } if(lore != null && im != null) { im.setLore(lore); } is.setItemMeta(im); return is; } }