diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/EffectsInv.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/EffectsInv.java new file mode 100644 index 0000000..032af1e --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/EffectsInv.java @@ -0,0 +1,130 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv; + +import net.noodles.staffmodegui2.staffmodegui2Inv.InvItems.EffectsInvItems; +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.MainInvItems; +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.MobInvItems; +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.entity.EntityType; +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.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; + +public class EffectsInv implements Listener { + @SuppressWarnings("unused") + private StaffModeGUI2 main; + + public EffectsInv(StaffModeGUI2 main) { + this.main = main; + main.getServer().getPluginManager().registerEvents( this, main); + } + + private String getTitle() { + return ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "Mob Control"; + } + + private int getSize() { + return 9; + } + public Inventory getInventory() { + Inventory inv = Bukkit.createInventory(null, getSize(), getTitle()); + + inv.setItem(0, EffectsInvItems.potionWater()); + inv.setItem(1, EffectsInvItems.invis()); + inv.setItem(2, EffectsInvItems.jumpboostMenu()); + inv.setItem(3, EffectsInvItems.speedMenu()); + inv.setItem(4, EffectsInvItems.strengthMenu()); + inv.setItem(5, EffectsInvItems.slowness()); + inv.setItem(6, EffectsInvItems.removeEffects()); + inv.setItem(7, EffectsInvItems.potionNight()); + inv.setItem(8, MainInvItems.mainMenuReturn()); + + for (int i = 0; i < 9; ++i) { + if (inv.getItem(i) == null) { + inv.setItem(i, Glass()); + } + } + + return inv; + } + + + private ItemStack Glass() { + ItemStack stone = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)8); + ItemMeta stonem = stone.getItemMeta(); + stonem.setDisplayName(""); + stone.setItemMeta(stonem); + return stone; + } + + + @EventHandler + public void onInventoryClick(InventoryClickEvent event) { + Player player = (Player) event.getWhoClicked(); + + if (event.getClickedInventory() == null) return; + if (!event.getClickedInventory().getTitle().equals(getTitle())) return; + + if (event.getCurrentItem() == null) return; + if (event.getCurrentItem().getType() == Material.AIR) return; + + event.setCancelled(true); + if (event.getCurrentItem().isSimilar(EffectsInvItems.potionWater())) { + player.addPotionEffect(new PotionEffect ( PotionEffectType.WATER_BREATHING, 10000000, 0)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.messageItemWaterBreathing").replace("&", "§")); + event.getWhoClicked().closeInventory(); + } else if (event.getCurrentItem().isSimilar(EffectsInvItems.invis())) { + player.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 10000000, 0)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.messageItemInvis").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem ().isSimilar ( EffectsInvItems.jumpboostMenu () )) { + if (!player.hasPermission ( "staffmodegui.jumpmenu" )) { + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "defaultMessage.noPermission" ).replace ( "&" , "§" ) ); + } + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "jumpMenu.openGUI" ).replace ( "&" , "§" ) ); + player.openInventory ( StaffModeGUI2.getInstance ().getJumpboostInv ().getInventory () ); + } else if (event.getCurrentItem ().isSimilar ( EffectsInvItems.speedMenu () )) { + if (!player.hasPermission ( "staffmodegui.speedmenu" )) { + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "defaultMessage.noPermission" ).replace ( "&" , "§" ) ); + } + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "speedMenu.openGUI" ).replace ( "&" , "§" ) ); + player.openInventory ( StaffModeGUI2.getInstance ().getSpeedInv ().getInventory () ); + } else if (event.getCurrentItem ().isSimilar ( EffectsInvItems.strengthMenu () )) { + if (!player.hasPermission ( "staffmodegui.strengthmenu" )) { + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "defaultMessage.noPermission" ).replace ( "&" , "§" ) ); + } + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "strengthMenu.openGUI" ).replace ( "&" , "§" ) ); + player.openInventory ( StaffModeGUI2.getInstance ().getStrengthInv ().getInventory () ); + } else if (event.getCurrentItem().isSimilar(EffectsInvItems.slowness())) { + player.removePotionEffect(PotionEffectType.JUMP); + player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 180000000, 0)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.messageItemSlowness").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(EffectsInvItems.removeEffects())) { + player.getActivePotionEffects().clear(); + for (PotionEffect pe : player.getActivePotionEffects()) { + player.removePotionEffect(pe.getType()); + } + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.messageItemRemoveEffects").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(EffectsInvItems.potionNight())) { + player.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 10000000, 0)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.messageItemNightVision").replace("&", "§")); + event.getWhoClicked().closeInventory(); + } else if (event.getCurrentItem().isSimilar(MainInvItems.mainMenuReturn())) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("mainMenuReturn.message").replace("&", "§")); + player.openInventory(StaffModeGUI2.getInstance().getMainInv().getInventory()); + + } + } + + +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/ExtraMobInv.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/ExtraMobInv.java new file mode 100644 index 0000000..d5c1a66 --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/ExtraMobInv.java @@ -0,0 +1,102 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv; + +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.ExtraMobInvItems; +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.MainInvItems; +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.entity.EntityType; +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.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; + +public class ExtraMobInv implements Listener { + @SuppressWarnings("unused") + private StaffModeGUI2 main; + + public ExtraMobInv(StaffModeGUI2 main) { + this.main = main; + main.getServer().getPluginManager().registerEvents( this, main); + } + + private String getTitle() { + return ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "Extra Mobs"; + } + + private int getSize() { + return 9; + } + public Inventory getInventory() { + Inventory inv = Bukkit.createInventory(null, getSize(), getTitle()); + + inv.setItem(0, ExtraMobInvItems.mobIron()); + inv.setItem(1, ExtraMobInvItems.mobSnow()); + inv.setItem(2, ExtraMobInvItems.mobGiant()); + inv.setItem(3, ExtraMobInvItems.mobWither()); + inv.setItem(4, ExtraMobInvItems.mobDragon()); + inv.setItem(8, MainInvItems.mainMenuReturn()); + + for (int i = 0; i < 9; ++i) { + if (inv.getItem(i) == null) { + inv.setItem(i, Glass()); + } + } + + return inv; + } + + + private ItemStack Glass() { + ItemStack stone = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)8); + ItemMeta stonem = stone.getItemMeta(); + stonem.setDisplayName(""); + stone.setItemMeta(stonem); + return stone; + } + + + @EventHandler + public void onInventoryClick(InventoryClickEvent event) { + Player player = (Player) event.getWhoClicked(); + + if (event.getClickedInventory() == null) return; + if (!event.getClickedInventory().getTitle().equals(getTitle())) return; + + if (event.getCurrentItem() == null) return; + if (event.getCurrentItem().getType() == Material.AIR) return; + + event.setCancelled(true); + if (event.getCurrentItem().isSimilar(ExtraMobInvItems.mobIron())) { + player.getWorld().spawnEntity(player.getLocation(), EntityType.IRON_GOLEM); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.messageItemIron").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(ExtraMobInvItems.mobSnow())) { + player.getWorld().spawnEntity(player.getLocation(), EntityType.SNOWMAN); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.messageItemSnow").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(ExtraMobInvItems.mobGiant())) { + player.getWorld().spawnEntity(player.getLocation(), EntityType.GIANT); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.messageItemGiant").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(ExtraMobInvItems.mobWither())) { + player.getWorld().spawnEntity(player.getLocation(), EntityType.WITHER); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.messageItemWither").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(ExtraMobInvItems.mobDragon())) { + player.getWorld().spawnEntity(player.getLocation(), EntityType.ENDER_DRAGON); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.messageItemDragon").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(MainInvItems.mainMenuReturn())) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("mainMenuReturn.message").replace("&", "§")); + player.openInventory(StaffModeGUI2.getInstance().getMainInv().getInventory()); + + } + } + + +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/FeedAndHealInv.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/FeedAndHealInv.java new file mode 100644 index 0000000..600fe56 --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/FeedAndHealInv.java @@ -0,0 +1,83 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv; + +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.FeedAndHealInvItems; +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.MainInvItems; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +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.ItemStack; +import net.noodles.staffmodegui2.StaffModeGUI2; +import org.bukkit.inventory.meta.ItemMeta; + +public class FeedAndHealInv implements Listener { + @SuppressWarnings("unused") + private StaffModeGUI2 main; + public FeedAndHealInv(StaffModeGUI2 main) { + this.main = main; + main.getServer().getPluginManager().registerEvents(this, main); + } + private String getTitle() { + return ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "Feed And Heal Menu"; + } + + private int getSize() { + return 9; + } + public Inventory getInventory() { + Inventory inv = Bukkit.createInventory(null, getSize(), getTitle()); + + inv.setItem(1, FeedAndHealInvItems.Heal()); + inv.setItem(3, FeedAndHealInvItems.Feed()); + inv.setItem(8, MainInvItems.mainMenuReturn()); + + for (int i = 0; i < 9; ++i) { + if (inv.getItem(i) == null) { + inv.setItem(i, Glass()); + } + } + + return inv; + } + + + private ItemStack Glass() { + ItemStack stone = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)8); + ItemMeta stonem = stone.getItemMeta(); + stonem.setDisplayName(""); + stone.setItemMeta(stonem); + return stone; + } + + + @EventHandler + public void onInventoryClick(InventoryClickEvent event) { + Player player = (Player) event.getWhoClicked(); + + if (event.getClickedInventory() == null) return; + if (!event.getClickedInventory().getTitle().equals(getTitle())) return; + + if (event.getCurrentItem() == null) return; + if (event.getCurrentItem().getType() == Material.AIR) return; + + event.setCancelled(true); + if (event.getCurrentItem().isSimilar(FeedAndHealInvItems.Heal())) { + player.setHealth(20.0); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("feedAndHealMenu.messageItemHeal").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(FeedAndHealInvItems.Feed())) { + player.setFoodLevel(20); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("feedAndHealMenu.messageItemFeed").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(MainInvItems.mainMenuReturn())) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("mainMenuReturn.message").replace("&", "§")); + player.openInventory(StaffModeGUI2.getInstance().getMainInv().getInventory()); + } + } + + +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/EffectsInvItems.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/EffectsInvItems.java new file mode 100644 index 0000000..f6da804 --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/EffectsInvItems.java @@ -0,0 +1,83 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems; + +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import net.noodles.staffmodegui2.staffmodegui2.util.ItemBuilder; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; + +public class EffectsInvItems { + + public static ItemStack potionWater() { + return new ItemBuilder ( Material.GLASS_BOTTLE) + .setName( StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.titleItemWaterBreathing").replace("&", "§")) + .setLore( Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.loreItemWaterBreathing").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack invis() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.titleItemInvis").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.loreItemInvis").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack jumpboostMenu() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.title").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.lore").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack speedMenu() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.title").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.lore").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack strengthMenu() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.title").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.lore").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack slowness() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.titleItemSlowness").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.loreItemSlowness").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack removeEffects() { + return new ItemBuilder(Material.MILK_BUCKET) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.titleItemRemoveEffects").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.loreItemRemoveEffects").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack potionNight() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.titleItemNightVision").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.loreItemNightVision").replace("&", "§") + )) + .toItemStack(); + } +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/ExtraMobInvItems.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/ExtraMobInvItems.java new file mode 100644 index 0000000..6c40e17 --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/ExtraMobInvItems.java @@ -0,0 +1,56 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems; + +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import net.noodles.staffmodegui2.staffmodegui2.util.ItemBuilder; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; + +public class ExtraMobInvItems { + + public static ItemStack mobIron() { + return new ItemBuilder(Material.MOB_SPAWNER) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.titleItemIron").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.loreItemIron").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack mobSnow() { + return new ItemBuilder(Material.MOB_SPAWNER) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.titleItemSnow").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.loreItemSnow").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack mobGiant() { + return new ItemBuilder(Material.MOB_SPAWNER) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.titleItemGiant").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.loreItemGiant").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack mobWither() { + return new ItemBuilder(Material.MOB_SPAWNER) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.titleItemWither").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.loreItemWither").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack mobDragon() { + return new ItemBuilder(Material.MOB_SPAWNER) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.titleItemDragon").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.loreItemDragon").replace("&", "§") + )) + .toItemStack(); + } +} \ No newline at end of file diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/FeedAndHealInvItems.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/FeedAndHealInvItems.java new file mode 100644 index 0000000..90a7017 --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/FeedAndHealInvItems.java @@ -0,0 +1,30 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems; + +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import net.noodles.staffmodegui2.staffmodegui2.util.ItemBuilder; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; + +public class FeedAndHealInvItems { + + public static ItemStack Heal() { + return new ItemBuilder ( Material.SPONGE) + .setName( StaffModeGUI2.getPlugin().getConfig().getString("feedAndHealMenu.titleItemHeal").replace("&", "§")) + .setLore( Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("feedAndHealMenu.loreItemHeal").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack Feed() { + return new ItemBuilder(Material.BREAD) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("feedAndHealMenu.titleItemFeed").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("feedAndHealMenu.loreItemFeed").replace("&", "§") + )) + .toItemStack(); + } + +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/JumpboostInvItems.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/JumpboostInvItems.java new file mode 100644 index 0000000..f928550 --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/JumpboostInvItems.java @@ -0,0 +1,76 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems; + +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import net.noodles.staffmodegui2.staffmodegui2.util.ItemBuilder; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; + +public class JumpboostInvItems { + public static ItemStack jump1() { + return new ItemBuilder ( Material.GLASS_BOTTLE) + .setName( StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.titleItemJump1").replace("&", "§")) + .setLore( Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.loreItemJump1").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack jump2() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.titleItemJump2").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.loreItemJump2").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack jump3() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.titleItemJump3").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.loreItemJump3").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack jump4() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.titleItemJump4").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.loreItemJump4").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack jump5() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.titleItemJump5").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.loreItemJump5").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack jump6() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.titleItemJump6").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.loreItemJump6").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack jump7() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.titleItemJump7").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.loreItemJump7").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack jump8() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.titleItemJump8").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("jumpMenu.loreItemJump8").replace("&", "§") + )) + .toItemStack(); + } +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/MainInvItems.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/MainInvItems.java index 9bc5561..ba4a482 100644 --- a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/MainInvItems.java +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/MainInvItems.java @@ -20,17 +20,8 @@ public static ItemStack mainMenuReturn() { .toItemStack(); } - public static ItemStack whitelistMenu() { - return new ItemBuilder(Material.COMMAND) - .setName(StaffModeGUI2.getPlugin().getConfig().getString("whitelistMenu.title").replace("&", "§")) - .setLore(Arrays.asList( - StaffModeGUI2.getPlugin().getConfig().getString("whitelistMenu.lore").replace("&", "§") - )) - .toItemStack(); - } - public static ItemStack timeMenu() { - return new ItemBuilder(Material.DAYLIGHT_DETECTOR) + return new ItemBuilder(Material.COMPASS) .setName(StaffModeGUI2.getPlugin().getConfig().getString("timeMenu.title").replace("&", "§")) .setLore(Arrays.asList( StaffModeGUI2.getPlugin().getConfig().getString("timeMenu.lore").replace("&", "§") @@ -38,41 +29,14 @@ public static ItemStack timeMenu() { .toItemStack(); } - public static ItemStack weatherMenu() { - return new ItemBuilder(Material.WATER_BUCKET) - .setName(StaffModeGUI2.getPlugin().getConfig().getString("weatherMenu.title").replace("&", "§")) - .setLore(Arrays.asList( - StaffModeGUI2.getPlugin().getConfig().getString("weatherMenu.lore").replace("&", "§") - )) - .toItemStack(); - } - public static ItemStack gamemodeMenu() { - return new ItemBuilder(Material.COBBLESTONE) + return new ItemBuilder(Material.BLAZE_ROD) .setName(StaffModeGUI2.getPlugin().getConfig().getString("gamemodeMenu.title").replace("&", "§")) .setLore(Arrays.asList( StaffModeGUI2.getPlugin().getConfig().getString("gamemodeMenu.lore").replace("&", "§") )) .toItemStack(); - } - - public static ItemStack flyMenu() { - return new ItemBuilder(Material.BLAZE_ROD) - .setName(StaffModeGUI2.getPlugin().getConfig().getString("flyMenu.title").replace("&", "§")) - .setLore(Arrays.asList( - StaffModeGUI2.getPlugin().getConfig().getString("flyMenu.lore").replace("&", "§") - )) - .toItemStack(); - } - public static ItemStack vanishMenu() { - return new ItemBuilder(Material.BEDROCK) - .setName(StaffModeGUI2.getPlugin().getConfig().getString("vanishMenu.title").replace("&", "§")) - .setLore(Arrays.asList( - StaffModeGUI2.getPlugin().getConfig().getString("vanishMenu.lore").replace("&", "§") - )) - .toItemStack(); - } public static ItemStack mobMenu() { return new ItemBuilder(Material.MOB_SPAWNER) @@ -90,5 +54,28 @@ public static ItemStack trollMenu() { )) .toItemStack(); } - + public static ItemStack toolsMenu() { + return new ItemBuilder(Material.COMMAND) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("toolsMenu.title").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("toolsMenu.lore").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack serverManagerMenu() { + return new ItemBuilder(Material.REDSTONE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("serverManagerMenu.title").replace("&", "§")) + .setLore(Arrays.asList ( + StaffModeGUI2.getPlugin().getConfig().getString("serverManagerMenu.lore").replace("&", "§") + )) + .toItemStack (); + } + public static ItemStack effectsMenu() { + return new ItemBuilder(Material.BREWING_STAND_ITEM) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.title").replace("&", "§")) + .setLore(Arrays.asList ( + StaffModeGUI2.getPlugin().getConfig().getString("effectsMenu.lore").replace("&", "§") + )) + .toItemStack (); + } } diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/MobInvItems.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/MobInvItems.java index b1c0b7a..979b710 100644 --- a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/MobInvItems.java +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/MobInvItems.java @@ -225,4 +225,12 @@ public static ItemStack mobVillager() { )) .toItemStack(); } -} \ No newline at end of file + public static ItemStack extraMobMenu() { + return new ItemBuilder(Material.ENDER_CHEST) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.title").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.lore").replace("&", "§") + )) + .toItemStack(); + } +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/ServerManagerInvItems.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/ServerManagerInvItems.java new file mode 100644 index 0000000..750cb9d --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/ServerManagerInvItems.java @@ -0,0 +1,35 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems; + +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import net.noodles.staffmodegui2.staffmodegui2.util.ItemBuilder; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; + +public class ServerManagerInvItems { + public static ItemStack whitelistMenu() { + return new ItemBuilder ( Material.IRON_TRAPDOOR) + .setName( StaffModeGUI2.getPlugin().getConfig().getString("whitelistMenu.title").replace("&", "§")) + .setLore( Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("whitelistMenu.lore").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack weatherMenu() { + return new ItemBuilder(Material.FEATHER) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("weatherMenu.title").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("weatherMenu.lore").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack clearMobs() { + return new ItemBuilder(Material.DIAMOND_AXE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("serverManagerMenu.titleClearMobs").replace("&", "§")) + .setLore(StaffModeGUI2.getPlugin().getConfig().getString("serverManagerMenu.loreItemClearMobs").replace ("&", "§")) + .toItemStack(); + } +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/SpeedInvItems.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/SpeedInvItems.java new file mode 100644 index 0000000..5b85f5b --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/SpeedInvItems.java @@ -0,0 +1,76 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems; + +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import net.noodles.staffmodegui2.staffmodegui2.util.ItemBuilder; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; + +public class SpeedInvItems { + public static ItemStack speed1() { + return new ItemBuilder ( Material.GLASS_BOTTLE) + .setName( StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.titleItemSpeed1").replace("&", "§")) + .setLore( Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.loreItemSpeed1").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack speed2() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.titleItemSpeed2").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.loreItemSpeed2").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack speed3() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.titleItemSpeed3").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.loreItemSpeed3").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack speed4() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.titleItemSpeed4").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.loreItemSpeed4").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack speed5() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.titleItemSpeed5").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.loreItemSpeed5").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack speed6() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.titleItemSpeed6").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.loreItemSpeed6").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack speed7() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.titleItemSpeed7").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.loreItemSpeed7").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack speed8() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.titleItemSpeed8").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.loreItemSpeed8").replace("&", "§") + )) + .toItemStack(); + } +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/StrengthInvItems.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/StrengthInvItems.java new file mode 100644 index 0000000..a63acbe --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/StrengthInvItems.java @@ -0,0 +1,76 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems; + +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import net.noodles.staffmodegui2.staffmodegui2.util.ItemBuilder; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; + +public class StrengthInvItems { + public static ItemStack strength1() { + return new ItemBuilder ( Material.GLASS_BOTTLE) + .setName( StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.titleItemStrength1").replace("&", "§")) + .setLore( Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.loreItemStrength1").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack strength2() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.titleItemStrength2").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.loreItemStrength2").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack strength3() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.titleItemStrength3").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.loreItemStrength3").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack strength4() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.titleItemStrength4").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.loreItemStrength4").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack strength5() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.titleItemStrength5").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.loreItemStrength5").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack strength6() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.titleItemStrength6").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.loreItemStrength6").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack strength7() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.titleItemStrength7").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.loreItemStrength7").replace("&", "§") + )) + .toItemStack(); + } + public static ItemStack strength8() { + return new ItemBuilder(Material.GLASS_BOTTLE) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.titleItemStrength8").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.loreItemStrength8").replace("&", "§") + )) + .toItemStack(); + } +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/ToolsInvItems.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/ToolsInvItems.java new file mode 100644 index 0000000..bcdf37e --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/InvItems/ToolsInvItems.java @@ -0,0 +1,48 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems; + +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import net.noodles.staffmodegui2.staffmodegui2.util.ItemBuilder; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +import java.util.Arrays; + +public class ToolsInvItems { + + public static ItemStack vanishMenu() { + return new ItemBuilder (Material.IRON_TRAPDOOR) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("vanishMenu.title").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("vanishMenu.lore").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack flyMenu() { + return new ItemBuilder(Material.FEATHER) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("flyMenu.title").replace("&", "§")) + .setLore(Arrays.asList( + StaffModeGUI2.getPlugin().getConfig().getString("flyMenu.lore").replace("&", "§") + )) + .toItemStack(); + } + + public static ItemStack invClear() { + return new ItemBuilder(Material.DEAD_BUSH) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("toolsMenu.titleItemInvClear").replace("&", "§")) + .setLore(StaffModeGUI2.getPlugin().getConfig().getString("toolsMenu.loreItemInvClear").replace ("&", "§")) + .toItemStack(); + } + public static ItemStack chatClear() { + return new ItemBuilder(Material.PAPER) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("toolsMenu.titleItemClearChat").replace("&", "§")) + .setLore(StaffModeGUI2.getPlugin().getConfig().getString("toolsMenu.loreItemClearChat").replace ("&", "§")) + .toItemStack(); + } + public static ItemStack feedAndHealMenu() { + return new ItemBuilder(Material.BREAD) + .setName(StaffModeGUI2.getPlugin().getConfig().getString("feedAndHealMenu.title").replace("&", "§")) + .setLore(StaffModeGUI2.getPlugin().getConfig().getString("feedAndHealMenu.lore").replace ("&", "§")) + .toItemStack(); + } +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/JumpboostInv.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/JumpboostInv.java new file mode 100644 index 0000000..46f370a --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/JumpboostInv.java @@ -0,0 +1,124 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv; + +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.JumpboostInvItems; +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.MainInvItems; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +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.ItemStack; +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; + +public class JumpboostInv implements Listener { + @SuppressWarnings("unused") + private StaffModeGUI2 main; + public JumpboostInv(StaffModeGUI2 main) { + this.main = main; + main.getServer().getPluginManager().registerEvents(this, main); + } + private String getTitle() { + return ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "Jump Boost Menu"; + } + + private int getSize() { + return 9; + } + public Inventory getInventory() { + Inventory inv = Bukkit.createInventory(null, getSize(), getTitle()); + + inv.setItem(0, JumpboostInvItems.jump1()); + inv.setItem(1, JumpboostInvItems.jump2()); + inv.setItem(2, JumpboostInvItems.jump3()); + inv.setItem(3, JumpboostInvItems.jump4()); + inv.setItem(4, JumpboostInvItems.jump5()); + inv.setItem(5, JumpboostInvItems.jump6()); + inv.setItem(6, JumpboostInvItems.jump7()); + inv.setItem(7, JumpboostInvItems.jump8()); + inv.setItem(8, MainInvItems.mainMenuReturn()); + + for (int i = 0; i < 9; ++i) { + if (inv.getItem(i) == null) { + inv.setItem(i, Glass()); + } + } + + return inv; + } + + + private ItemStack Glass() { + ItemStack stone = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)8); + ItemMeta stonem = stone.getItemMeta(); + stonem.setDisplayName(""); + stone.setItemMeta(stonem); + return stone; + } + + + @EventHandler + public void onInventoryClick(InventoryClickEvent event) { + Player player = (Player) event.getWhoClicked(); + + if (event.getClickedInventory() == null) return; + if (!event.getClickedInventory().getTitle().equals(getTitle())) return; + + if (event.getCurrentItem() == null) return; + if (event.getCurrentItem().getType() == Material.AIR) return; + + event.setCancelled(true); + if (event.getCurrentItem().isSimilar(JumpboostInvItems.jump1())) { + player.removePotionEffect(PotionEffectType.JUMP); + player.addPotionEffect(new PotionEffect (PotionEffectType.JUMP, 180000000, 1)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("jumpboostMenu.messageItemJump1").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(JumpboostInvItems.jump2())) { + player.removePotionEffect(PotionEffectType.JUMP); + player.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 180000000, 2)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("jumpboostMenu.messageItemJump2").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(JumpboostInvItems.jump3())) { + player.removePotionEffect(PotionEffectType.JUMP); + player.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 180000000, 3)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("jumpboostMenu.messageItemJump3").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(JumpboostInvItems.jump4())) { + player.removePotionEffect(PotionEffectType.JUMP); + player.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 180000000, 4)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("jumpboostMenu.messageItemJump4").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(JumpboostInvItems.jump5())) { + player.removePotionEffect(PotionEffectType.JUMP); + player.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 180000000, 5)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("jumpboostMenu.messageItemJump5").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(JumpboostInvItems.jump6())) { + player.removePotionEffect(PotionEffectType.JUMP); + player.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 180000000, 6)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("jumpboostMenu.messageItemJump6").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(JumpboostInvItems.jump7())) { + player.removePotionEffect(PotionEffectType.JUMP); + player.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 180000000, 7)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("jumpboostMenu.messageItemJump7").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(JumpboostInvItems.jump8())) { + player.removePotionEffect(PotionEffectType.JUMP); + player.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 180000000, 8)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("jumpboostMenu.messageItemJump8").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(MainInvItems.mainMenuReturn())) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("mainMenuReturn.message").replace("&", "§")); + player.openInventory(StaffModeGUI2.getInstance().getMainInv().getInventory()); + + } + } + + +} \ No newline at end of file diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/MainInv.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/MainInv.java index edc74b0..32e08da 100644 --- a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/MainInv.java +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/MainInv.java @@ -1,123 +1,211 @@ -package net.noodles.staffmodegui2.staffmodegui2.Inv; - -import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.MainInvItems; -import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; +package net.noodles.staffmodegui2.staffmodegui2; + +import net.noodles.staffmodegui2.staffmodegui2.commands.StaffModeCommand; +import net.noodles.staffmodegui2.staffmodegui2.commands.StaffModeDev; +import net.noodles.staffmodegui2.staffmodegui2.Inv.*; +import net.noodles.staffmodegui2.staffmodegui2.util.Logger; +import net.noodles.staffmodegui2.staffmodegui2.util.MetricsLite; +import net.noodles.staffmodegui2.staffmodegui2.util.Settings; +import net.noodles.staffmodegui2.staffmodegui2.util.UpdateChecker.UpdateChecker; import org.bukkit.event.Listener; -import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.plugin.java.JavaPlugin; +import java.io.File; +import java.util.Arrays; + +public final class StaffModeGUI2 extends JavaPlugin { -public class MainInv implements Listener { + public static StaffModeGUI2 plugin; + private UpdateChecker checker; + private static StaffModeGUI2 instance; - private StaffModeGUI2 main; - public MainInv(StaffModeGUI2 main) { - this.main = main; - main.getServer().getPluginManager().registerEvents(this, main); + //INV + private MainInv mainInv; + private WhitelistInv whitelistInv; + private TimeInv timeInv; + private WeatherInv weatherInv; + private GamemodeInv gamemodeInv; + private FlyInv flyInv; + private VanishInv vanishInv; + private MobInv mobInv; + private ExtraMobInv extraMobInv; + private TrollInv trollInv; + private ToolsInv toolsInv; + private ServerManagerInv serverManagerInv; + private FeedAndHealInv feedAndHealInv; + private EffectsInv effectsInv; + private SpeedInv speedInv; + private StrengthInv strengthInv; + private JumpboostInv jumpboostInv; + + @Override + public void onEnable() { + Logger.log ( Logger.LogLevel.OUTLINE , "********************" ); + Logger.log ( Logger.LogLevel.INFO , "Initializing StaffModeGUI2 Version: " + Settings.VERSION ); + Logger.log ( Logger.LogLevel.INFO , "Created by: " + Settings.DEVELOPER_NAME ); + Logger.log ( Logger.LogLevel.INFO , "Website: " + Settings.DEVELOPER_URL ); + Logger.log ( Logger.LogLevel.INFO , "Spigot Link: " + Settings.PLUGIN_URL ); + Logger.log ( Logger.LogLevel.INFO , "Support Link: " + Settings.SUPPORT_DISCORD_URL ); + Logger.log ( Logger.LogLevel.OUTLINE , "********************" ); + Logger.log ( Logger.LogLevel.INFO , "Plugin Loading..." ); + Logger.log ( Logger.LogLevel.INFO , "Registering Managers..." ); + this.plugin = this; + instance = this; + MetricsLite metrics = new MetricsLite ( this ); + Logger.log ( Logger.LogLevel.INFO , "Managers Registered!" ); + Logger.log ( Logger.LogLevel.INFO , "Registering Listeners..." ); + registerListener ( + //NOT NEEDED + ); + Logger.log ( Logger.LogLevel.INFO , "Listeners Registered!" ); + Logger.log ( Logger.LogLevel.INFO , "Registering Commands..." ); + new StaffModeCommand (); + new StaffModeDev (); + Logger.log ( Logger.LogLevel.INFO , "Commands Registered!" ); + Logger.log ( Logger.LogLevel.INFO , "Loading Inventory's..." ); + this.mainInv = new MainInv ( this ); + this.whitelistInv = new WhitelistInv ( this ); + this.timeInv = new TimeInv ( this ); + this.weatherInv = new WeatherInv ( this ); + this.gamemodeInv = new GamemodeInv ( this ); + this.flyInv = new FlyInv ( this ); + this.vanishInv = new VanishInv ( this ); + this.mobInv = new MobInv ( this ); + this.extraMobInv = new ExtraMobInv ( this ); + this.trollInv = new TrollInv ( this ); + this.toolsInv = new ToolsInv ( this ); + this.serverManagerInv = new ServerManagerInv ( this ); + this.feedAndHealInv = new FeedAndHealInv ( this ); + this.effectsInv = new EffectsInv(this); + this.speedInv = new SpeedInv ( this ); + this.strengthInv = new StrengthInv ( this ); + this.jumpboostInv = new JumpboostInv ( this ); + Logger.log ( Logger.LogLevel.INFO , "Inventory's Registered!" ); + Logger.log ( Logger.LogLevel.INFO , "Loading Config's..." ); + this.createConfig (); + Logger.log ( Logger.LogLevel.INFO , "Config's Registered!" ); + Logger.log ( Logger.LogLevel.SUCCESS , "StaffModeGUI2 Version: " + Settings.VERSION + " Loaded." ); + this.setEnabled ( true ); + Logger.log ( Logger.LogLevel.OUTLINE , "********************" ); + Logger.log ( Logger.LogLevel.INFO , "Checking for updates..." ); + this.checker = new UpdateChecker ( this ); + if (this.checker.isConnected ()) { + if (this.checker.hasUpdate ()) { + Logger.log ( Logger.LogLevel.OUTLINE , "********************" ); + Logger.log ( Logger.LogLevel.WARNING , ("StaffModeGUI2 is outdated!") ); + Logger.log ( Logger.LogLevel.WARNING , ("Newest version: " + this.checker.getLatestVersion ()) ); + Logger.log ( Logger.LogLevel.WARNING , ("Your version: " + Settings.VERSION) ); + Logger.log ( Logger.LogLevel.WARNING , ("Please Update Here: " + Settings.PLUGIN_URL) ); + Logger.log ( Logger.LogLevel.OUTLINE , "********************" ); + } else { + Logger.log ( Logger.LogLevel.SUCCESS , "StaffModeGUI2 is up to date!" ); + } + } } - private String getTitle() { - return ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "StaffModeGUI"; + + @Override + public void onDisable() { } - private int getSize() { - return 54; + + private void registerListener(Listener... listeners) { + Arrays.stream ( listeners ).forEach ( l -> getServer ().getPluginManager ().registerEvents ( l , this ) ); } - public Inventory getInventory() { - Inventory inv = Bukkit.createInventory(null, getSize(), getTitle()); - inv.setItem(11, MainInvItems.whitelistMenu()); - inv.setItem(13, MainInvItems.timeMenu()); - inv.setItem(15, MainInvItems.weatherMenu()); - inv.setItem(29, MainInvItems.gamemodeMenu()); - inv.setItem(31, MainInvItems.flyMenu()); - inv.setItem(33, MainInvItems.vanishMenu()); - inv.setItem(47, MainInvItems.mobMenu()); - inv.setItem(49, MainInvItems.trollMenu()); - //inv.setItem(51, MainInvItems.Menu()); - for (int i = 0; i < 54; ++i) { - if (inv.getItem(i) == null) { - inv.setItem(i, Glass()); + + @SuppressWarnings({"rawtypes" , "unchecked"}) + public static StaffModeGUI2 getPlugin() { + return (StaffModeGUI2) getPlugin ( (Class) StaffModeGUI2.class ); + } + + private void createConfig() { + try { + if (!getDataFolder ().exists ()) getDataFolder ().mkdirs (); + + File file = new File ( getDataFolder () , "config.yml" ); + if (!file.exists ()) { + saveDefaultConfig (); } + + } catch (Exception exception) { + getLogger ().info ( exception.getMessage () ); } - return inv; } - private ItemStack Glass() { - ItemStack stone = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)8); - ItemMeta stonem = stone.getItemMeta(); - stonem.setDisplayName(""); - stone.setItemMeta(stonem); - return stone; + public static StaffModeGUI2 getInstance() { + return instance; } - @EventHandler - public void onInventoryClick(InventoryClickEvent event) { - Player player = (Player) event.getWhoClicked(); - if (event.getClickedInventory() == null) return; - if (!event.getClickedInventory().getTitle().equals(getTitle())) return; - if (event.getCurrentItem() == null) return; - if (event.getCurrentItem().getType() == Material.AIR) return; - event.setCancelled(true); - // CLICK EVENTS - if (event.getCurrentItem().isSimilar(MainInvItems.whitelistMenu())) { - if(!player.hasPermission("staffmodegui.whitelistmenu")) { - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("defaultMessage.noPermission").replace("&", "§")); - } - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("whitelistMenu.openGUI").replace("&", "§")); - player.openInventory(StaffModeGUI2.getInstance().getWhitelistInv().getInventory()); - } else if (event.getCurrentItem().isSimilar(MainInvItems.timeMenu())) { - if(!player.hasPermission("staffmodegui.timemenu")) { - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("defaultMessage.noPermission").replace("&", "§")); - } - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("timeMenu.openGUI").replace("&", "§")); - player.openInventory(StaffModeGUI2.getInstance().getTimeInv().getInventory()); - } else if (event.getCurrentItem().isSimilar(MainInvItems.gamemodeMenu())) { - if(!player.hasPermission("staffmodegui.gamemodemenu")) { - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("defaultMessage.noPermission").replace("&", "§")); - } - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("gamemodeMenu.openGUI").replace("&", "§")); - player.openInventory(StaffModeGUI2.getInstance().getGamemodeInv().getInventory()); - } else if (event.getCurrentItem().isSimilar(MainInvItems.weatherMenu())) { - if(!player.hasPermission("staffmodegui.weathermenu")) { - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("defaultMessage.noPermission").replace("&", "§")); - } - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("weatherMenu.openGUI").replace("&", "§")); - player.openInventory(StaffModeGUI2.getInstance().getWeatherInv().getInventory()); - } else if (event.getCurrentItem().isSimilar(MainInvItems.flyMenu())) { - if(!player.hasPermission("staffmodegui.flymenu")) { - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("defaultMessage.noPermission").replace("&", "§")); - } - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("flyMenu.openGUI").replace("&", "§")); - player.openInventory(StaffModeGUI2.getInstance().getFlyInv().getInventory()); - } else if (event.getCurrentItem().isSimilar(MainInvItems.vanishMenu())) { - if(!player.hasPermission("staffmodegui.vanishmenu")) { - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("defaultMessage.noPermission").replace("&", "§")); - } - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("vanishMenu.openGUI").replace("&", "§")); - player.openInventory(StaffModeGUI2.getInstance().getVanishInv().getInventory()); - } else if (event.getCurrentItem().isSimilar(MainInvItems.mobMenu())) { - if(!player.hasPermission("staffmodegui.mobmenu")) { - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("defaultMessage.noPermission").replace("&", "§")); - } - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("mobMenu.openGUI").replace("&", "§")); - player.openInventory(StaffModeGUI2.getInstance().getMobInv().getInventory()); - } else if (event.getCurrentItem().isSimilar(MainInvItems.trollMenu())) { - if (!player.hasPermission("staffmodegui.trollmenu")) { - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("defaultMessage.noPermission").replace("&", "§")); - } - player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("trollMenu.openGUI").replace("&", "§")); - player.openInventory(StaffModeGUI2.getInstance().getTrollInv().getInventory()); + //INV - } + public MainInv getMainInv() { + return mainInv; + } + + public WhitelistInv getWhitelistInv() { + return whitelistInv; + } + + public TimeInv getTimeInv() { + return timeInv; + } + + public WeatherInv getWeatherInv() { + return weatherInv; + } + + public GamemodeInv getGamemodeInv() { + return gamemodeInv; + } + + public FlyInv getFlyInv() { + return flyInv; + } + + public VanishInv getVanishInv() { + return vanishInv; + } + + public MobInv getMobInv() { + return mobInv; + } + + public ExtraMobInv getExtraMobInv() { + return extraMobInv; + } + + public TrollInv getTrollInv() { + return trollInv; + } + + public ToolsInv getToolsInv() { + return toolsInv; + } + + public ServerManagerInv getServerManagerInv() { + return serverManagerInv; + } + + public FeedAndHealInv getFeedAndHealInv() { + return feedAndHealInv; + } + + public EffectsInv getEffectsInv() { + return effectsInv; + } + + public SpeedInv getSpeedInv() { + return speedInv; + } + + public StrengthInv getStrengthInv() { + return strengthInv; +} + public JumpboostInv getJumpboostInv() { + return jumpboostInv; } } diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/MobInv.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/MobInv.java index 20165a3..0e392c3 100644 --- a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/MobInv.java +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/MobInv.java @@ -58,6 +58,7 @@ public Inventory getInventory() { inv.setItem(21, MobInvItems.mobOcelot()); inv.setItem(22, MobInvItems.mobHorse()); inv.setItem(23, MobInvItems.mobVillager()); + inv.setItem(24, MobInvItems.extraMobMenu()); inv.setItem(26, MainInvItems.mainMenuReturn()); for (int i = 0; i < 27; ++i) { @@ -186,6 +187,12 @@ public void onInventoryClick(InventoryClickEvent event) { player.getWorld().spawnEntity(player.getLocation(), EntityType.VILLAGER); player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("mobMenu.messageItemVillager").replace("&", "§")); player.closeInventory(); + } else if (event.getCurrentItem().isSimilar( MobInvItems.extraMobMenu())) { + if(!player.hasPermission("staffmodegui.extramobmenu")) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("defaultMessage.noPermission").replace("&", "§")); + } + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("extraMobMenu.openGUI").replace("&", "§")); + player.openInventory(StaffModeGUI2.getInstance().getExtraMobInv().getInventory()); } else if (event.getCurrentItem().isSimilar(MainInvItems.mainMenuReturn())) { player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("mainMenuReturn.message").replace("&", "§")); player.openInventory(StaffModeGUI2.getInstance().getMainInv().getInventory()); @@ -194,4 +201,4 @@ public void onInventoryClick(InventoryClickEvent event) { } -} \ No newline at end of file +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/ServerManagerInv.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/ServerManagerInv.java new file mode 100644 index 0000000..4022972 --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/ServerManagerInv.java @@ -0,0 +1,92 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv; + +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.ServerManagerInvItems; +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.MainInvItems; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +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.ItemStack; +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import org.bukkit.inventory.meta.ItemMeta; + +public class ServerManagerInv implements Listener { + @SuppressWarnings("unused") + private StaffModeGUI2 main; + + public ServerManagerInv(StaffModeGUI2 main) { + this.main = main; + main.getServer().getPluginManager().registerEvents(this, main); + } + + private String getTitle() { + return ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "Server Manager Menu"; + } + + private int getSize() { + return 9; + } + + public Inventory getInventory() { + Inventory inv = Bukkit.createInventory(null, getSize(), getTitle()); + + inv.setItem(1, ServerManagerInvItems.whitelistMenu()); + inv.setItem(3, ServerManagerInvItems.weatherMenu()); + inv.setItem( 5, ServerManagerInvItems.clearMobs()); + inv.setItem(8, MainInvItems.mainMenuReturn()); + + for (int i = 0; i < 9; ++i) { + if (inv.getItem(i) == null) { + inv.setItem(i, Glass()); + } + } + + return inv; + } + + + private ItemStack Glass() { + ItemStack stone = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 8); + ItemMeta stonem = stone.getItemMeta(); + stonem.setDisplayName(""); + stone.setItemMeta(stonem); + return stone; + } + + + @EventHandler + public void onInventoryClick(InventoryClickEvent event) { + Player player = (Player) event.getWhoClicked(); + + if (event.getClickedInventory() == null) return; + if (!event.getClickedInventory().getTitle().equals(getTitle())) return; + + if (event.getCurrentItem() == null) return; + if (event.getCurrentItem().getType() == Material.AIR) return; + event.setCancelled(true); + if (event.getCurrentItem().isSimilar(ServerManagerInvItems.whitelistMenu())) { + if (!player.hasPermission ( "staffmodegui.whitelistmenu" )) { + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "defaultMessage.noPermission" ).replace ( "&" , "§" ) ); + } + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "whitelistMenu.openGUI" ).replace ( "&" , "§" ) ); + player.openInventory ( StaffModeGUI2.getInstance ().getWhitelistInv ().getInventory () ); + } else if (event.getCurrentItem().isSimilar(ServerManagerInvItems.weatherMenu ())) { + if(!player.hasPermission("staffmodegui.weathermenu")) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("defaultMessage.noPermission").replace("&", "§")); + } + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("weatherMenu.openGUI").replace("&", "§")); + player.openInventory(StaffModeGUI2.getInstance().getWeatherInv ().getInventory()); + } else if (event.getCurrentItem().isSimilar(ServerManagerInvItems.clearMobs ())) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("toolsMenu.messageItemClearMobs").replace("&", "§")); + player.getInventory().clear(); + } else if (event.getCurrentItem().isSimilar(MainInvItems.mainMenuReturn())) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("mainMenuReturn.message").replace("&", "§")); + player.openInventory(StaffModeGUI2.getInstance().getMainInv().getInventory()); + + } + } +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/SpeedInv.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/SpeedInv.java new file mode 100644 index 0000000..d0f023e --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/SpeedInv.java @@ -0,0 +1,124 @@ +package net.noodles.staffmodegui2.Inv; + +import net.noodles.staffmodegui2.Inv.InvItems.MainInvItems; +import net.noodles.staffmodegui2.Inv.InvItems.SpeedInvItems; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +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.ItemStack; +import net.noodles.staffmodegui2.StaffModeGUI2; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; + +public class SpeedInv implements Listener { + @SuppressWarnings("unused") + private StaffModeGUI2 main; + public SpeedInv(StaffModeGUI2 main) { + this.main = main; + main.getServer().getPluginManager().registerEvents(this, main); + } + private String getTitle() { + return ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "Speed Menu"; + } + + private int getSize() { + return 9; + } + public Inventory getInventory() { + Inventory inv = Bukkit.createInventory(null, getSize(), getTitle()); + + inv.setItem(0, SpeedInvItems.speed1()); + inv.setItem(1, SpeedInvItems.speed2()); + inv.setItem(2, SpeedInvItems.speed3()); + inv.setItem(3, SpeedInvItems.speed4()); + inv.setItem(4, SpeedInvItems.speed5()); + inv.setItem(5, SpeedInvItems.speed6()); + inv.setItem(6, SpeedInvItems.speed7()); + inv.setItem(7, SpeedInvItems.speed8()); + inv.setItem(8, MainInvItems.mainMenuReturn()); + + for (int i = 0; i < 9; ++i) { + if (inv.getItem(i) == null) { + inv.setItem(i, Glass()); + } + } + + return inv; + } + + + private ItemStack Glass() { + ItemStack stone = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)8); + ItemMeta stonem = stone.getItemMeta(); + stonem.setDisplayName(""); + stone.setItemMeta(stonem); + return stone; + } + + + @EventHandler + public void onInventoryClick(InventoryClickEvent event) { + Player player = (Player) event.getWhoClicked(); + + if (event.getClickedInventory() == null) return; + if (!event.getClickedInventory().getTitle().equals(getTitle())) return; + + if (event.getCurrentItem() == null) return; + if (event.getCurrentItem().getType() == Material.AIR) return; + + event.setCancelled(true); + if (event.getCurrentItem().isSimilar(SpeedInvItems.speed1())) { + player.removePotionEffect(PotionEffectType.SPEED); + player.addPotionEffect(new PotionEffect (PotionEffectType.SPEED, 180000000, 1)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.messageItemSpeed1").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(SpeedInvItems.speed2())) { + player.removePotionEffect(PotionEffectType.SPEED); + player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 180000000, 2)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.messageItemSpeed2").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(SpeedInvItems.speed3())) { + player.removePotionEffect(PotionEffectType.SPEED); + player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 180000000, 3)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.messageItemSpeed3").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(SpeedInvItems.speed4())) { + player.removePotionEffect(PotionEffectType.SPEED); + player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 180000000, 4)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.messageItemSpeed4").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(SpeedInvItems.speed5())) { + player.removePotionEffect(PotionEffectType.SPEED); + player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 180000000, 5)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.messageItemSpeed5").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(SpeedInvItems.speed6())) { + player.removePotionEffect(PotionEffectType.SPEED); + player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 180000000, 6)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.messageItemSpeed6").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(SpeedInvItems.speed7())) { + player.removePotionEffect(PotionEffectType.SPEED); + player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 180000000, 7)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.messageItemSpeed7").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(SpeedInvItems.speed8())) { + player.removePotionEffect(PotionEffectType.SPEED); + player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 180000000, 8)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("speedMenu.messageItemSpeed8").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(MainInvItems.mainMenuReturn())) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("mainMenuReturn.message").replace("&", "§")); + player.openInventory(StaffModeGUI2.getInstance().getMainInv().getInventory()); + + } + } + + +} \ No newline at end of file diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/StrengthInv.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/StrengthInv.java new file mode 100644 index 0000000..9a67e80 --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/StrengthInv.java @@ -0,0 +1,124 @@ +package net.noodles.staffmodegui2.Inv; + +import net.noodles.staffmodegui2.Inv.InvItems.MainInvItems; +import net.noodles.staffmodegui2.Inv.InvItems.StrengthInvItems; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +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.ItemStack; +import net.noodles.staffmodegui2.StaffModeGUI2; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; + +public class StrengthInv implements Listener { + @SuppressWarnings("unused") + private StaffModeGUI2 main; + public StrengthInv(StaffModeGUI2 main) { + this.main = main; + main.getServer().getPluginManager().registerEvents(this, main); + } + private String getTitle() { + return ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "Strength Menu"; + } + + private int getSize() { + return 9; + } + public Inventory getInventory() { + Inventory inv = Bukkit.createInventory(null, getSize(), getTitle()); + + inv.setItem(0, StrengthInvItems.strength1()); + inv.setItem(1, StrengthInvItems.strength2()); + inv.setItem(2, StrengthInvItems.strength3()); + inv.setItem(3, StrengthInvItems.strength4()); + inv.setItem(4, StrengthInvItems.strength5()); + inv.setItem(5, StrengthInvItems.strength6()); + inv.setItem(6, StrengthInvItems.strength7()); + inv.setItem(7, StrengthInvItems.strength8()); + inv.setItem(8, MainInvItems.mainMenuReturn()); + + for (int i = 0; i < 9; ++i) { + if (inv.getItem(i) == null) { + inv.setItem(i, Glass()); + } + } + + return inv; + } + + + private ItemStack Glass() { + ItemStack stone = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)8); + ItemMeta stonem = stone.getItemMeta(); + stonem.setDisplayName(""); + stone.setItemMeta(stonem); + return stone; + } + + + @EventHandler + public void onInventoryClick(InventoryClickEvent event) { + Player player = (Player) event.getWhoClicked(); + + if (event.getClickedInventory() == null) return; + if (!event.getClickedInventory().getTitle().equals(getTitle())) return; + + if (event.getCurrentItem() == null) return; + if (event.getCurrentItem().getType() == Material.AIR) return; + + event.setCancelled(true); + if (event.getCurrentItem().isSimilar(StrengthInvItems.strength1())) { + player.removePotionEffect(PotionEffectType.INCREASE_DAMAGE); + player.addPotionEffect(new PotionEffect (PotionEffectType.INCREASE_DAMAGE, 180000000, 1)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.messageItemStrength1").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(StrengthInvItems.strength2())) { + player.removePotionEffect(PotionEffectType.INCREASE_DAMAGE); + player.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180000000, 2)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.messageItemStrength2").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(StrengthInvItems.strength3())) { + player.removePotionEffect(PotionEffectType.INCREASE_DAMAGE); + player.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180000000, 3)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.messageItemStrength3").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(StrengthInvItems.strength4())) { + player.removePotionEffect(PotionEffectType.INCREASE_DAMAGE); + player.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180000000, 4)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.messageItemStrength4").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(StrengthInvItems.strength5())) { + player.removePotionEffect(PotionEffectType.INCREASE_DAMAGE); + player.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180000000, 5)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.messageItemStrength5").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(StrengthInvItems.strength6())) { + player.removePotionEffect(PotionEffectType.INCREASE_DAMAGE); + player.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180000000, 6)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.messageItemStrength6").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(StrengthInvItems.strength7())) { + player.removePotionEffect(PotionEffectType.INCREASE_DAMAGE); + player.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180000000, 7)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.messageItemStrength7").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(StrengthInvItems.strength8())) { + player.removePotionEffect(PotionEffectType.INCREASE_DAMAGE); + player.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180000000, 8)); + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("strengthMenu.messageItemStrength8").replace("&", "§")); + player.closeInventory(); + } else if (event.getCurrentItem().isSimilar(MainInvItems.mainMenuReturn())) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("mainMenuReturn.message").replace("&", "§")); + player.openInventory(StaffModeGUI2.getInstance().getMainInv().getInventory()); + + } + } + + +} \ No newline at end of file diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/ToolsInv.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/ToolsInv.java new file mode 100644 index 0000000..66f1228 --- /dev/null +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/Inv/ToolsInv.java @@ -0,0 +1,109 @@ +package net.noodles.staffmodegui2.staffmodegui2.Inv; + +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.ToolsInvItems; +import net.noodles.staffmodegui2.staffmodegui2.Inv.InvItems.MainInvItems; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +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.ItemStack; +import net.noodles.staffmodegui2.staffmodegui2.StaffModeGUI2; +import org.bukkit.inventory.meta.ItemMeta; + +public class ToolsInv implements Listener { + @SuppressWarnings("unused") + private StaffModeGUI2 main; + + public ToolsInv(StaffModeGUI2 main) { + this.main = main; + main.getServer().getPluginManager().registerEvents(this, main); + } + + private String getTitle() { + return ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "Tools Menu"; + } + + private int getSize() { + return 9; + } + + public Inventory getInventory() { + Inventory inv = Bukkit.createInventory(null, getSize(), getTitle()); + + inv.setItem(0, ToolsInvItems.vanishMenu()); + inv.setItem(1, ToolsInvItems.flyMenu()); + inv.setItem(2, ToolsInvItems.invClear()); + inv.setItem(3, ToolsInvItems.chatClear()); + inv.setItem(4, ToolsInvItems.feedAndHealMenu()); + inv.setItem(8, MainInvItems.mainMenuReturn()); + + for (int i = 0; i < 9; ++i) { + if (inv.getItem(i) == null) { + inv.setItem(i, Glass()); + } + } + + return inv; + } + + + private ItemStack Glass() { + ItemStack stone = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 8); + ItemMeta stonem = stone.getItemMeta(); + stonem.setDisplayName(""); + stone.setItemMeta(stonem); + return stone; + } + + + @EventHandler + public void onInventoryClick(InventoryClickEvent event) { + Player player = (Player) event.getWhoClicked(); + + if (event.getClickedInventory() == null) return; + if (!event.getClickedInventory().getTitle().equals(getTitle())) return; + + if (event.getCurrentItem() == null) return; + if (event.getCurrentItem().getType() == Material.AIR) return; + event.setCancelled(true); + if (event.getCurrentItem().isSimilar(ToolsInvItems.vanishMenu())) { + if(!player.hasPermission("staffmodegui.vanishmenu")) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("defaultMessage.noPermission").replace("&", "§")); + } + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("vanishMenu.openGUI").replace("&", "§")); + player.openInventory(StaffModeGUI2.getInstance().getVanishInv().getInventory()); + } else if (event.getCurrentItem().isSimilar(ToolsInvItems.flyMenu())) { + if (!player.hasPermission ( "staffmodegui.flymenu" )) { + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "defaultMessage.noPermission" ).replace ( "&" , "§" ) ); + } + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "flyMenu.openGUI" ).replace ( "&" , "§" ) ); + player.openInventory ( StaffModeGUI2.getInstance ().getFlyInv ().getInventory () ); + } else if (event.getCurrentItem().isSimilar(ToolsInvItems.invClear())) { + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "toolsMenu.messageItemInvClear" ).replace ( "&" , "§" ) ); + player.getInventory ().clear (); + } else if (event.getCurrentItem().isSimilar(ToolsInvItems.chatClear ())) { + for (Player players : Bukkit.getOnlinePlayers()) { + for (int i = 0; i < 600; ++i) { + players.sendMessage(""); + } + } + Bukkit.broadcastMessage(StaffModeGUI2.getPlugin ().getConfig ().getString ( "toolsMenu.messageItemClearChat").replace ( "&" , "§" ) ); + Bukkit.broadcastMessage(" "); + event.getWhoClicked().closeInventory(); + } else if (event.getCurrentItem().isSimilar(ToolsInvItems.feedAndHealMenu())) { + if (!player.hasPermission ( "staffmodegui.feedandhealmenu" )) { + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "defaultMessage.noPermission" ).replace ( "&" , "§" ) ); + } + player.sendMessage ( StaffModeGUI2.getPlugin ().getConfig ().getString ( "feedAndHealMenu.openGUI" ).replace ( "&" , "§" ) ); + player.openInventory ( StaffModeGUI2.getInstance ().getFeedAndHealInv ().getInventory () ); + } else if (event.getCurrentItem().isSimilar(MainInvItems.mainMenuReturn())) { + player.sendMessage(StaffModeGUI2.getPlugin().getConfig().getString("mainMenuReturn.message").replace("&", "§")); + player.openInventory(StaffModeGUI2.getInstance().getMainInv().getInventory()); + + } + } +} diff --git a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/StaffModeGUI2.java b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/StaffModeGUI2.java index d9a6a57..32e08da 100644 --- a/src/main/java/net/noodles/staffmodegui2/staffmodegui2/StaffModeGUI2.java +++ b/src/main/java/net/noodles/staffmodegui2/staffmodegui2/StaffModeGUI2.java @@ -1,9 +1,11 @@ package net.noodles.staffmodegui2.staffmodegui2; -import net.noodles.staffmodegui2.staffmodegui2.Inv.*; import net.noodles.staffmodegui2.staffmodegui2.commands.StaffModeCommand; import net.noodles.staffmodegui2.staffmodegui2.commands.StaffModeDev; -import net.noodles.staffmodegui2.staffmodegui2.util.*; +import net.noodles.staffmodegui2.staffmodegui2.Inv.*; +import net.noodles.staffmodegui2.staffmodegui2.util.Logger; +import net.noodles.staffmodegui2.staffmodegui2.util.MetricsLite; +import net.noodles.staffmodegui2.staffmodegui2.util.Settings; import net.noodles.staffmodegui2.staffmodegui2.util.UpdateChecker.UpdateChecker; import org.bukkit.event.Listener; import org.bukkit.plugin.java.JavaPlugin; @@ -26,61 +28,77 @@ public final class StaffModeGUI2 extends JavaPlugin { private FlyInv flyInv; private VanishInv vanishInv; private MobInv mobInv; + private ExtraMobInv extraMobInv; private TrollInv trollInv; + private ToolsInv toolsInv; + private ServerManagerInv serverManagerInv; + private FeedAndHealInv feedAndHealInv; + private EffectsInv effectsInv; + private SpeedInv speedInv; + private StrengthInv strengthInv; + private JumpboostInv jumpboostInv; @Override public void onEnable() { - Logger.log(Logger.LogLevel.OUTLINE, "********************"); - Logger.log(Logger.LogLevel.INFO, "Initializing StaffModeGUI2 Version: " + Settings.VERSION); - Logger.log(Logger.LogLevel.INFO, "Created by: " + Settings.DEVELOPER_NAME); - Logger.log(Logger.LogLevel.INFO, "Website: " + Settings.DEVELOPER_URL); - Logger.log(Logger.LogLevel.INFO, "Spigot Link: " + Settings.PLUGIN_URL); - Logger.log(Logger.LogLevel.INFO, "Support Link: " + Settings.SUPPORT_DISCORD_URL); - Logger.log(Logger.LogLevel.OUTLINE, "********************"); - Logger.log(Logger.LogLevel.INFO, "Plugin Loading..."); - Logger.log(Logger.LogLevel.INFO, "Registering Managers..."); + Logger.log ( Logger.LogLevel.OUTLINE , "********************" ); + Logger.log ( Logger.LogLevel.INFO , "Initializing StaffModeGUI2 Version: " + Settings.VERSION ); + Logger.log ( Logger.LogLevel.INFO , "Created by: " + Settings.DEVELOPER_NAME ); + Logger.log ( Logger.LogLevel.INFO , "Website: " + Settings.DEVELOPER_URL ); + Logger.log ( Logger.LogLevel.INFO , "Spigot Link: " + Settings.PLUGIN_URL ); + Logger.log ( Logger.LogLevel.INFO , "Support Link: " + Settings.SUPPORT_DISCORD_URL ); + Logger.log ( Logger.LogLevel.OUTLINE , "********************" ); + Logger.log ( Logger.LogLevel.INFO , "Plugin Loading..." ); + Logger.log ( Logger.LogLevel.INFO , "Registering Managers..." ); this.plugin = this; instance = this; - MetricsLite metrics = new MetricsLite(this); - Logger.log(Logger.LogLevel.INFO, "Managers Registered!"); - Logger.log(Logger.LogLevel.INFO, "Registering Listeners..."); - registerListener( + MetricsLite metrics = new MetricsLite ( this ); + Logger.log ( Logger.LogLevel.INFO , "Managers Registered!" ); + Logger.log ( Logger.LogLevel.INFO , "Registering Listeners..." ); + registerListener ( //NOT NEEDED ); - Logger.log(Logger.LogLevel.INFO, "Listeners Registered!"); - Logger.log(Logger.LogLevel.INFO, "Registering Commands..."); - new StaffModeCommand(); - new StaffModeDev(); - Logger.log(Logger.LogLevel.INFO, "Commands Registered!"); - Logger.log(Logger.LogLevel.INFO, "Loading Inventory's..."); - this.mainInv = new MainInv(this); - this.whitelistInv = new WhitelistInv(this); - this.timeInv = new TimeInv(this); - this.weatherInv = new WeatherInv(this); - this.gamemodeInv = new GamemodeInv(this); - this.flyInv = new FlyInv(this); - this.vanishInv = new VanishInv(this); - this.mobInv = new MobInv(this); - this.trollInv = new TrollInv(this); - Logger.log(Logger.LogLevel.INFO, "Inventory's Registered!"); - Logger.log(Logger.LogLevel.INFO, "Loading Config's..."); - this.createConfig(); - Logger.log(Logger.LogLevel.INFO, "Config's Registered!"); - Logger.log(Logger.LogLevel.SUCCESS, "StaffModeGUI2 Version: " + Settings.VERSION + " Loaded."); - this.setEnabled(true); - Logger.log(Logger.LogLevel.OUTLINE, "********************"); - Logger.log(Logger.LogLevel.INFO, "Checking for updates..."); - this.checker = new UpdateChecker(this); - if (this.checker.isConnected()) { - if (this.checker.hasUpdate()) { - Logger.log(Logger.LogLevel.OUTLINE, "********************"); - Logger.log(Logger.LogLevel.WARNING, ("StaffModeGUI2 is outdated!")); - Logger.log(Logger.LogLevel.WARNING, ("Newest version: " + this.checker.getLatestVersion())); - Logger.log(Logger.LogLevel.WARNING, ("Your version: " + Settings.VERSION)); - Logger.log(Logger.LogLevel.WARNING, ("Please Update Here: " + Settings.PLUGIN_URL)); - Logger.log(Logger.LogLevel.OUTLINE, "********************"); + Logger.log ( Logger.LogLevel.INFO , "Listeners Registered!" ); + Logger.log ( Logger.LogLevel.INFO , "Registering Commands..." ); + new StaffModeCommand (); + new StaffModeDev (); + Logger.log ( Logger.LogLevel.INFO , "Commands Registered!" ); + Logger.log ( Logger.LogLevel.INFO , "Loading Inventory's..." ); + this.mainInv = new MainInv ( this ); + this.whitelistInv = new WhitelistInv ( this ); + this.timeInv = new TimeInv ( this ); + this.weatherInv = new WeatherInv ( this ); + this.gamemodeInv = new GamemodeInv ( this ); + this.flyInv = new FlyInv ( this ); + this.vanishInv = new VanishInv ( this ); + this.mobInv = new MobInv ( this ); + this.extraMobInv = new ExtraMobInv ( this ); + this.trollInv = new TrollInv ( this ); + this.toolsInv = new ToolsInv ( this ); + this.serverManagerInv = new ServerManagerInv ( this ); + this.feedAndHealInv = new FeedAndHealInv ( this ); + this.effectsInv = new EffectsInv(this); + this.speedInv = new SpeedInv ( this ); + this.strengthInv = new StrengthInv ( this ); + this.jumpboostInv = new JumpboostInv ( this ); + Logger.log ( Logger.LogLevel.INFO , "Inventory's Registered!" ); + Logger.log ( Logger.LogLevel.INFO , "Loading Config's..." ); + this.createConfig (); + Logger.log ( Logger.LogLevel.INFO , "Config's Registered!" ); + Logger.log ( Logger.LogLevel.SUCCESS , "StaffModeGUI2 Version: " + Settings.VERSION + " Loaded." ); + this.setEnabled ( true ); + Logger.log ( Logger.LogLevel.OUTLINE , "********************" ); + Logger.log ( Logger.LogLevel.INFO , "Checking for updates..." ); + this.checker = new UpdateChecker ( this ); + if (this.checker.isConnected ()) { + if (this.checker.hasUpdate ()) { + Logger.log ( Logger.LogLevel.OUTLINE , "********************" ); + Logger.log ( Logger.LogLevel.WARNING , ("StaffModeGUI2 is outdated!") ); + Logger.log ( Logger.LogLevel.WARNING , ("Newest version: " + this.checker.getLatestVersion ()) ); + Logger.log ( Logger.LogLevel.WARNING , ("Your version: " + Settings.VERSION) ); + Logger.log ( Logger.LogLevel.WARNING , ("Please Update Here: " + Settings.PLUGIN_URL) ); + Logger.log ( Logger.LogLevel.OUTLINE , "********************" ); } else { - Logger.log(Logger.LogLevel.SUCCESS, "StaffModeGUI2 is up to date!"); + Logger.log ( Logger.LogLevel.SUCCESS , "StaffModeGUI2 is up to date!" ); } } } @@ -92,26 +110,26 @@ public void onDisable() { private void registerListener(Listener... listeners) { - Arrays.stream(listeners).forEach(l -> getServer().getPluginManager().registerEvents(l, this)); + Arrays.stream ( listeners ).forEach ( l -> getServer ().getPluginManager ().registerEvents ( l , this ) ); } - @SuppressWarnings({"rawtypes", "unchecked"}) + @SuppressWarnings({"rawtypes" , "unchecked"}) public static StaffModeGUI2 getPlugin() { - return (StaffModeGUI2) getPlugin((Class) StaffModeGUI2.class); + return (StaffModeGUI2) getPlugin ( (Class) StaffModeGUI2.class ); } private void createConfig() { try { - if (!getDataFolder().exists()) getDataFolder().mkdirs(); + if (!getDataFolder ().exists ()) getDataFolder ().mkdirs (); - File file = new File(getDataFolder(), "config.yml"); - if (!file.exists()) { - saveDefaultConfig(); + File file = new File ( getDataFolder () , "config.yml" ); + if (!file.exists ()) { + saveDefaultConfig (); } } catch (Exception exception) { - getLogger().info(exception.getMessage()); + getLogger ().info ( exception.getMessage () ); } } @@ -155,7 +173,39 @@ public MobInv getMobInv() { return mobInv; } + public ExtraMobInv getExtraMobInv() { + return extraMobInv; + } + public TrollInv getTrollInv() { return trollInv; } + + public ToolsInv getToolsInv() { + return toolsInv; + } + + public ServerManagerInv getServerManagerInv() { + return serverManagerInv; + } + + public FeedAndHealInv getFeedAndHealInv() { + return feedAndHealInv; + } + + public EffectsInv getEffectsInv() { + return effectsInv; + } + + public SpeedInv getSpeedInv() { + return speedInv; + } + + public StrengthInv getStrengthInv() { + return strengthInv; +} + + public JumpboostInv getJumpboostInv() { + return jumpboostInv; + } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index f215f45..f2b4315 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,11 +1,11 @@ #======================================================= configVersion: 1.0 -#DO NOT CHANGE PLEASE. +# DO NOT CHANGE PLEASE. #======================================================= -#Permssion: staffmodegui.update +# Permission Needed: staffmodegui.update Update: Enabled: true -#Enables if there is a message on-join when the plugin is outdated. +# Enables if there is a message on-join when the plugin is outdated. #======================================================= defaultMessages: noPermission: "&cSorry you don't have permission!" @@ -15,12 +15,12 @@ mainMenuReturn: lore: "&7Click to return to main menu." message: "&7Returned to Main Menu!" #======================================================= -#Whitelist Menu -whitelistMenu: #Permission Needed: staffmodegui.whitelistmenu +# Whitelist Menu +whitelistMenu: # Permission Needed: staffmodegui.whitelistmenu title: "&8Whitelist Menu" lore: "&7Control the server whitelist" openGUI: "&7Opened the whitelist control panel." - #Whitelist Menu Items + # Whitelist Menu Items titleItemON: "&bWhitelist ON" loreItemON: "&7Click to toggle the whitelist ON" messageItemON: "&7You toggled the whitelist ON." @@ -28,11 +28,12 @@ whitelistMenu: #Permission Needed: staffmodegui.whitelistmenu loreItemOFF: "&7Click to toggle the whitelist OFF." messageItemOFF: "&7You toggled the whitelist OFF." #======================================================= -timeMenu: #Permission Needed: staffmodegui.timemenu +# Time Menu +timeMenu: # Permission Needed: staffmodegui.timemenu title: "&8Time Control" lore: "&7Control the server time" openGUI: "&7Opened the time control panel." - #Time Menu Items + # Time Menu Items time12AMTitle: "&b12AM" time12AMLore: "&7Click to change the server time to 12AM" messageTime12AM: "&7Changed the server time to 12AM" @@ -106,11 +107,12 @@ timeMenu: #Permission Needed: staffmodegui.timemenu time11PMLore: "&7Click to change the server time to 11PM" messageTime11PM: "&7Changed the server time to 11PM" #======================================================= -weatherMenu: #Permission Needed: staffmodegui.weathermenu +# Weather Menu +weatherMenu: # Permission Needed: staffmodegui.weathermenu title: "&8Weather Control" lore: "&7Control the server weather" openGUI: "&7Opened the weather control panel." - #Weather Menu Items + # Weather Menu Items titleClear: "&bClear Weather" loreClear: "&7Click to toggle the weather to clear" weatherClearMessage: "&7Set weather to clear!" @@ -118,12 +120,12 @@ weatherMenu: #Permission Needed: staffmodegui.weathermenu loreStorm: "&7Click to toggle the weather to storm" weatherStormMessage: "&7Set weather to storm!" #======================================================= -#Gamemode Menu Messages -gamemodeMenu: #Permission Needed: staffmodegui.gamemodemenu +# Gamemode Menu Messages +gamemodeMenu: # Permission Needed: staffmodegui.gamemodemenu title: '&8Gamemode Menu' lore: '&7Control your Gamemode' openGUI: '&7Opened The Gamemode Menu!' - #Gamemode Menu Items + # Gamemode Menu Items titleCreative: "&bCreative" loreItemCreative: "&7Click to toggle Gamemode Creative" messageItemCreative: "&7Gamemode changed to Creative!" @@ -137,12 +139,12 @@ gamemodeMenu: #Permission Needed: staffmodegui.gamemodemenu loreItemAdventure: "&7Click to toggle Gamemode Adventure." messageItemAdventure: "&7Gamemode changed to Adventure!" #======================================================= -#Fly Menu Messages -flyMenu: #Permission Needed: staffmodegui.flymenu - title: '&8Fly Menu' +# Fly Menu Messages +flyMenu: # Permission Needed: staffmodegui.flymenu + title: '&bFly Menu' lore: '&7Control your Flight' openGUI: '&7Opened The Fly Menu!' - #Fly Menu Items + # Fly Menu Items titleItemON: "&aFly ON" loreItemON: "&7Toggle Fly ON" messageItemON: "&aFly ON!" @@ -150,12 +152,12 @@ flyMenu: #Permission Needed: staffmodegui.flymenu loreItemOFF: "&7Toggle Fly OFF" messageItemOFF: "&cFly OFF!" #======================================================== -#Vanish Menu Messages -vanishMenu: #Permsission Needed: staffmodegui.vanishmenu - title: '&8Vanish Menu' +# Vanish Menu Messages +vanishMenu: # Permsission Needed: staffmodegui.vanishmenu + title: '&bVanish Menu' lore: '&7Control your Vanish' openGUI: '&7Opened The Vanish Menu!' - #Vanish Menu Items + # Vanish Menu Items titleItemON: "&aVanish ON" loreItemON: "&7Toggle Vanish ON" messageItemON: "&aVanish ON!" @@ -163,12 +165,12 @@ vanishMenu: #Permsission Needed: staffmodegui.vanishmenu loreItemOFF: "&7Toggle Vanish OFF" messageItemOFF: "&cVanish OFF!" #======================================================== -#Mob Menu Messages -mobMenu: #Permission Needed: staffmodegui.mobmenu +# Mob Menu Messages +mobMenu: # Permission Needed: staffmodegui.mobmenu title: '&8Mob Menu' lore: '&7Control your Mob Population' openGUI: '&7Opened The Mob Menu!' - #Mob Menu Items + # Mob Menu Items titleItemCreeper: "&bCreeper" loreItemCreeper: "&7Click to spawn a Creeper" messageItemCreeper: "&7Spawned a Creeper!" @@ -241,13 +243,35 @@ mobMenu: #Permission Needed: staffmodegui.mobmenu titleItemVillager: "&bVillager" loreItemVillager: "&7Click to spawn a Villager." messageItemVillager: "&7Spawned a Villager!" +#======================================================== +# Extra Mob Menu Messages +extraMobMenu: # Permission Needed: staffmodegui.extramobmenu + title: '&8Extra Mob Menu' + lore: '&7Dangerous mobs' + openGUI: '&7Opened The Extra Mob Menu!' + # Extra Mob Menu Items + titleItemIron: "&bIron Golem" + loreItemIron: "&7Click to spawn an Iron Golem." + messageItemIron: "&7Spawned an Iron Golem!" + titleItemSnow: "&bSnowman" + loreItemSnow: "&7Click to spawn a Snowman." + messageItemSnow: "&7Spawned a Snowman!" + titleItemGiant: "&bGiant" + loreItemGiant: "&7Click to spawn a Giant." + messageItemGiant: "&7Spawned a Giant!" + titleItemWither: "&bWither" + loreItemWither: "&7Click to spawn a Wither." + messageItemWither: "&7Spawned a Wither!" + titleItemDragon: "&bEnder Dragon" + loreItemDragon: "&7Click to spawn an Ender Dragon." + messageItemDragon: "&7Spawned an Ender Dragon!" #========================================================= -#Troll Menu Messages +# Troll Menu Messages trollMenu: #Permission Needed: staffmodegui.trollmenu title: '&8Troll Menu' lore: '&7Troll your friends!' openGUI: '&7Opened The Troll Menu!' - #Troll Menu Items + # Troll Menu Items titleItemLightningTroll: "&bLightning Troll" loreItemLightningTroll: "&7Strike all online players with Lightning!" messageItemLightningTroll: "&bLightning Troll!" @@ -270,3 +294,154 @@ trollMenu: #Permission Needed: staffmodegui.trollmenu loreItemJumpTroll: "&7Give all online players Jump Boost &c&lForever!" messageItemJumpTroll: "&bJump Troll!" #======================================================== +# Tools Menu Messages +toolsMenu: #Permission Needed: staffmodegui.toolsmenu + title: '&8Tools Menu' + lore: '&7(Vanish, Toggle Fly, Inv Clear, Clear Chat, Feed, Heal)' + openGUI: '&7Opened The Tools Menu!' + # Tools Menu Items + titleItemInvClear: "&bInv Clear" + loreItemInvClear: "&7Clears you're inventory!" + messageItemInvClear: "&bInventory cleared!" + titleItemClearChat: "&bClear Chat" + loreItemClearChat: "&7Clears the chat" + messageItemClearChat: "&7Chat cleared" +#======================================================== +# Server Manager Menu Messages +serverManagerMenu: #Permission Needed: staffmodegui.servermanagermenu + title: '&8Server Manager Menu' + lore: '&7(Whitelist, Weather, Clear Mobs)' + openGUI: '&7Opened The Server Manager Menu!' + # Server Manager Menu Items + titleItemClearMobs: "&bClear Mobs" + loreItemClearMobs: "&7Clears all mobs/monsters!" + messageItemClearMobs: "&bCleared all mobs!" +#======================================================== +# Feed And Heal Menu Messages +feedAndHealMenu: #Permission Needed: staffmodegui.feedandhealmenu + title: '&8Feed And Heal Menu' + lore: '&7(Feed, Heal)' + openGUI: '&7Opened The Feed And Heal Menu!' + # Feed And Heal Menu Items + titleItemHeal: "&bHeal" + loreItemHeal: "&7Heals you!" + messageItemHeal: "&bYou're health has been set to max!" + titleItemFeed: "&bFeed" + loreItemFeed: "&7Feeds you're hunger!" + messageItemFeed: "&bYou're hunger has been set to max!" +#======================================================== +# Effects Menu Messages +effectsMenu: #Permission Needed: staffmodegui.effectsmenu + title: '&8Effects Menu' + lore: '&7Potions' + openGUI: '&7Opened The Effects Menu!' + # Effects Menu Items + titleItemWaterBreathing: "&bWater Breathing" + loreItemWaterBreathing: "&7Ability to breath under water!" + messageItemWaterBreathing: "&bWater Breathing effect applied!" + titleItemInvis: "&bInvisibility" + loreItemInvis: "&7Ability to be invisible!" + messageItemInvis: "&bInvisibility effect applied!" + titleItemSlowness: "&bSlowness" + loreItemSlowness: "&7Ability to walk slower!" + messageItemSlowness: "&7Slowness effect applied!" + titleItemRemoveEffects: "&bRemove Effects" + loreItemRemoveEffects: "&7Remove all active potion effects!" + messageItemRemoveEffects: "&7Potion effects removed!" + titleItemNightVision: "&bNight Vision" + loreItemNightVision: "&7Ability to see in the night!" + messageItemNightVision: "&7Night Vision effect applied!" +#======================================================== +# Speed Menu Messages +speedMenu: #Permission Needed: staffmodegui.speedmenu + title: '&8Speed Menu' + lore: '&7Speed Effects' + openGUI: '&7Opened The Speed Effects Menu!' + # Speed Menu Items + titleItemSpeed1: "&bSpeed 1" + loreItemSpeed1: "&7Ability to run faster!" + messageItemSpeed1: "&bSpeed 1 effect applied!" + titleItemSpeed2: "&bSpeed 2" + loreItemSpeed2: "&7Ability to run faster!" + messageItemSpeed2: "&bSpeed 2 effect applied!" + titleItemSpeed3: "&bSpeed 3" + loreItemSpeed3: "&7Ability to run faster!" + messageItemSpeed3: "&7Speed 3 effect applied!" + titleItemSpeed4: "&bSpeed 4" + loreItemSpeed4: "&7Ability to run faster!" + messageItemSpeed4: "&7Speed 4 effect applied!" + titleItemSpeed5: "&bSpeed 5" + loreItemSpeed5: "&7Ability to run faster!" + messageItemSpeed5: "&7Speed 5 effect applied!" + titleItemSpeed6: "&bSpeed 6" + loreItemSpeed6: "&7Ability to run faster!" + messageItemSpeed6: "&7Speed 6 effect applied!" + titleItemSpeed7: "&bSpeed 7" + loreItemSpeed7: "&7Ability to run faster!" + messageItemSpeed7: "&7Speed 7 effect applied!" + titleItemSpeed8: "&bSpeed 8" + loreItemSpeed8: "&7Ability to run faster!" + messageItemSpeed8: "&7Speed 8 effect applied!" +#======================================================== +# Strength Menu Messages +strengthMenu: #Permission Needed: staffmodegui.strengthmenu + title: '&8Strength Menu' + lore: '&7Strength Effects' + openGUI: '&7Opened The Strength Effects Menu!' + # Strength Menu Items + titleItemStrength1: "&bStrength 1" + loreItemStrength1: "&7Ability to deal more damage!" + messageItemSpeed1: "&bStrength 1 effect applied!" + titleItemStrength2: "&bStrength 2" + loreItemStrength2: "&7Ability to deal more damage!" + messageItemStrength2: "&bStrength 2 effect applied!" + titleItemStrength3: "&bStrength 3" + loreItemStrength3: "&7Ability to deal more damage!" + messageItemStrength3: "&7Strength 3 effect applied!" + titleItemStrength4: "&bStrength 4" + loreItemStrength4: "&7Ability to deal more damage!" + messageItemStrength4: "&7Strength 4 effect applied!" + titleItemStrength5: "&bSStrength 5" + loreItemStrength5: "&7Ability to deal more damage!" + messageItemStrength5: "&7Strength 5 effect applied!" + titleItemStrength6: "&bStrength 6" + loreItemStrength6: "&7Ability to deal more damage!" + messageItemStrength6: "&7Strength 6 effect applied!" + titleItemStrength7: "&bStrength 7" + loreItemStrength7: "&7Ability to deal more damage!" + messageItemStrength7: "&7Strength 7 effect applied!" + titleItemStrength8: "&bStrength 8" + loreItemStrength8: "&7Ability to deal more damage!" + messageItemStrength8: "&7Strength 8 effect applied!" +#======================================================== +# Jump Menu Messages +jumpMenu: #Permission Needed: staffmodegui.jumpmenu + title: '&8Jump Menu' + lore: '&7Jump Effects' + openGUI: '&7Opened The Jump Effects Menu!' + # Jump Menu Items + titleItemJump1: "&bJump 1" + loreItemJump1: "&7Ability to jump higher!" + messageItemJump1: "&bJump 1 effect applied!" + titleItemJump2: "&bJump 2" + loreItemJump2: "&7Ability to jump higher!" + messageItemJump2: "&bJump 2 effect applied!" + titleItemJump3: "&bJump 3" + loreItemJump3: "&7Ability to jump higher!" + messageItemJump3: "&7Jump 3 effect applied!" + titleItemJump4: "&bJump 4" + loreItemJump4: "&7Ability to jump higher!" + messageItemJump4: "&7Jump 4 effect applied!" + titleItemJump5: "&bJump 5" + loreItemJump5: "&7Ability to jump higher!" + messageItemJump5: "&7Jump 5 effect applied!" + titleItemJump6: "&bJump 6" + loreItemJump6: "&7Ability to jump higher!" + messageItemJump6: "&7Jump 6 effect applied!" + titleItemJump7: "&bJump 7" + loreItemJump7: "&7Ability to jump higher!" + messageItemJump7: "&7Jump 7 effect applied!" + titleItemJump8: "&bJump 8" + loreItemJump8: "&7Ability to jump higher!" + messageItemJump8: "&7Jump 8 effect applied!" +#======================================================== diff --git a/src/main/resources/permissions.yml b/src/main/resources/permissions.yml index 5492581..fe3674c 100644 --- a/src/main/resources/permissions.yml +++ b/src/main/resources/permissions.yml @@ -20,6 +20,30 @@ permissions: staffmodegui.mobmenu: description: Gives you access to the Mob Menu default: op + staffmodegui.extramobmenu: + description: Gives you access to the Extra Mob Menu + default: op staffmodegui.trollmenu: description: Gives you access to the Troll Menu default: op + staffmodegui.toolsmenu: + description: Gives you access to the Tools Menu + defualt: op + staffmodegui.servermanagermenu: + description: Gives you access to the Server Manager Menu + default: op + staffmodegui.feedandhealmenu: + description: Gives you access to the Feed And Heal Menu + default: op + staffmodegui.effectsmenu: + description: Gives you access to the Effects Menu + default: op + staffmodegui.speedmenu: + description: Gives you access to the Speed Menu + default: op + staffmodegui.strengthmenu: + description: Gives you access to the Strength Menu + default: op + staffmodegui.jumpmenu: + description: Gives you access to the Jump Menu + default: op