UltraTools/src/net/mindoverflow/ultratools/inventories/Inventories.java

249 lines
11 KiB
Java

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<String> ls = new ArrayList<String>();
//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<String> 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;
}
}