249 lines
11 KiB
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;
|
||
|
}
|
||
|
}
|