Advertisement
Guest User

Events

a guest
Sep 6th, 2014
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 22.53 KB | None | 0 0
  1. package me.cosmicarts.Hub;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.GameMode;
  9. import org.bukkit.Instrument;
  10. import org.bukkit.Location;
  11. import org.bukkit.Material;
  12. import org.bukkit.Note;
  13. import org.bukkit.Sound;
  14. import org.bukkit.enchantments.Enchantment;
  15. import org.bukkit.entity.Arrow;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.entity.Projectile;
  18. import org.bukkit.event.EventHandler;
  19. import org.bukkit.event.Listener;
  20. import org.bukkit.event.block.Action;
  21. import org.bukkit.event.entity.EntityDamageEvent;
  22. import org.bukkit.event.entity.FoodLevelChangeEvent;
  23. import org.bukkit.event.entity.ProjectileHitEvent;
  24. import org.bukkit.event.inventory.InventoryClickEvent;
  25. import org.bukkit.event.inventory.InventoryType;
  26. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  27. import org.bukkit.event.player.PlayerDropItemEvent;
  28. import org.bukkit.event.player.PlayerInteractEvent;
  29. import org.bukkit.event.player.PlayerJoinEvent;
  30. import org.bukkit.event.player.PlayerMoveEvent;
  31. import org.bukkit.event.player.PlayerQuitEvent;
  32. import org.bukkit.event.player.PlayerToggleFlightEvent;
  33. import org.bukkit.help.HelpTopic;
  34. import org.bukkit.inventory.Inventory;
  35. import org.bukkit.inventory.ItemStack;
  36. import org.bukkit.inventory.meta.ItemMeta;
  37. import org.bukkit.plugin.Plugin;
  38. import org.bukkit.potion.PotionEffectType;
  39.  
  40. public class Events implements Listener {
  41.  
  42.     // Defining player list for show/hide players
  43.     ArrayList<String> players = new ArrayList<String>();
  44.  
  45.     // Inventories
  46.     public Inventory menuinv = Bukkit.createInventory(null, 18,
  47.             "Server Selector");
  48.     public Inventory gadgetsinv = Bukkit
  49.             .createInventory(null, 9, "Hub Gadgets");
  50.     public Inventory wardrobeinv = Bukkit.createInventory(null, 54, "Wardrobe");
  51.     public Inventory hats = Bukkit.createInventory(null, 9, "Hats");
  52.  
  53.     ItemStack spongehat = new ItemStack(Material.SPONGE);
  54.     {
  55.         ItemMeta spongehatmeta = spongehat.getItemMeta();
  56.         spongehatmeta.setDisplayName(ChatColor.AQUA + "Sponge Hat");
  57.         spongehat.setItemMeta(spongehatmeta);
  58.     }
  59.  
  60.     ItemStack chesthat = new ItemStack(Material.CHEST);
  61.     {
  62.         ItemMeta chesthatmeta = chesthat.getItemMeta();
  63.         chesthatmeta.setDisplayName(ChatColor.AQUA + "Chest Hat");
  64.         chesthat.setItemMeta(chesthatmeta);
  65.     }
  66.  
  67.     ItemStack daylighthat = new ItemStack(Material.DAYLIGHT_DETECTOR);
  68.     {
  69.         ItemMeta daylighthatmeta = daylighthat.getItemMeta();
  70.         daylighthatmeta.setDisplayName(ChatColor.AQUA + "Daylight Hat");
  71.         daylighthat.setItemMeta(daylighthatmeta);
  72.     }
  73.  
  74.     ItemStack anvilhat = new ItemStack(Material.ANVIL);
  75.     {
  76.         ItemMeta anvilhatmeta = anvilhat.getItemMeta();
  77.         anvilhatmeta.setDisplayName(ChatColor.AQUA + "Anvil Hat");
  78.         anvilhat.setItemMeta(anvilhatmeta);
  79.     }
  80.  
  81.     ItemStack ironplatehat = new ItemStack(Material.IRON_PLATE);
  82.     {
  83.         ItemMeta ironplatehatmeta = ironplatehat.getItemMeta();
  84.         ironplatehatmeta.setDisplayName(ChatColor.AQUA + "Iron Plate Hat");
  85.         ironplatehat.setItemMeta(ironplatehatmeta);
  86.     }
  87.  
  88.     ItemStack beaconhat = new ItemStack(Material.BEACON);
  89.     {
  90.         ItemMeta beaconhatmeta = beaconhat.getItemMeta();
  91.         beaconhatmeta.setDisplayName(ChatColor.AQUA + "Beacon Hat");
  92.         beaconhat.setItemMeta(beaconhatmeta);
  93.     }
  94.  
  95.     ItemStack melonhat = new ItemStack(Material.MELON_BLOCK);
  96.     {
  97.         ItemMeta melonhatmeta = melonhat.getItemMeta();
  98.         melonhatmeta.setDisplayName(ChatColor.AQUA + "Melon Hat");
  99.         melonhat.setItemMeta(melonhatmeta);
  100.     }
  101.  
  102.     // Join Items
  103.     ItemStack menu = new ItemStack(Material.NETHER_STAR);
  104.     {
  105.  
  106.         ItemMeta menumeta = menu.getItemMeta();
  107.         menumeta.setDisplayName(ChatColor.AQUA + "Menu" + ChatColor.GRAY
  108.                 + " - Right click to view our servers!");
  109.         menu.setItemMeta(menumeta);
  110.  
  111.     }
  112.  
  113.     ItemStack gadgets = new ItemStack(Material.BLAZE_POWDER);
  114.     {
  115.  
  116.         ItemMeta gadgetsmeta = gadgets.getItemMeta();
  117.         gadgetsmeta.setDisplayName(ChatColor.GOLD + "Gadgets" + ChatColor.GRAY
  118.                 + " - Right click to view our gadgets!");
  119.         gadgets.setItemMeta(gadgetsmeta);
  120.  
  121.     }
  122.  
  123.     ItemStack donate = new ItemStack(Material.EMERALD);
  124.     {
  125.         ItemMeta donatemeta = donate.getItemMeta();
  126.         donatemeta.setDisplayName(ChatColor.GREEN + "Donate" + ChatColor.GRAY
  127.                 + " - Right click to view our store!");
  128.         donate.setItemMeta(donatemeta);
  129.     }
  130.  
  131.     ItemStack wardrobe = new ItemStack(Material.NAME_TAG);
  132.     {
  133.         ItemMeta wardrobemeta = wardrobe.getItemMeta();
  134.         wardrobemeta.setDisplayName(ChatColor.YELLOW + "Wardrobe"
  135.                 + ChatColor.GRAY + " - Right click to view our wardrobe!");
  136.         wardrobe.setItemMeta(wardrobemeta);
  137.     }
  138.  
  139.     ItemStack kitpvp = new ItemStack(Material.FISHING_ROD);
  140.     {
  141.  
  142.         ItemMeta kitpvpmeta = kitpvp.getItemMeta();
  143.         kitpvpmeta.setDisplayName(ChatColor.DARK_GRAY + "• " + ChatColor.BLUE
  144.                 + "KitPvP " + ChatColor.DARK_GRAY + "•");
  145.         kitpvp.setItemMeta(kitpvpmeta);
  146.  
  147.     }
  148.  
  149.     ItemStack sg = new ItemStack(Material.FIRE);
  150.     {
  151.  
  152.         ItemMeta sgmeta = sg.getItemMeta();
  153.         sgmeta.setDisplayName(ChatColor.DARK_GRAY + "• " + ChatColor.RED
  154.                 + "Survival Games " + ChatColor.DARK_GRAY + "•");
  155.         sg.setItemMeta(sgmeta);
  156.  
  157.     }
  158.  
  159.     ItemStack oitc = new ItemStack(Material.ARROW);
  160.     {
  161.  
  162.         ItemMeta oitcmeta = oitc.getItemMeta();
  163.         oitcmeta.setDisplayName(ChatColor.DARK_GRAY + "• "
  164.                 + ChatColor.LIGHT_PURPLE + "One In The Chamber "
  165.                 + ChatColor.DARK_GRAY + "•");
  166.         oitc.setItemMeta(oitcmeta);
  167.  
  168.     }
  169.  
  170.     ItemStack tf2 = new ItemStack(Material.IRON_HOE);
  171.     {
  172.  
  173.         ItemMeta tf2meta = tf2.getItemMeta();
  174.         tf2meta.setDisplayName(ChatColor.DARK_GRAY + "• " + ChatColor.GOLD
  175.                 + "Team Fortress 2 " + ChatColor.DARK_GRAY + "•");
  176.         tf2.setItemMeta(tf2meta);
  177.  
  178.     }
  179.  
  180.     ItemStack factions = new ItemStack(Material.DIAMOND_PICKAXE);
  181.     {
  182.  
  183.         ItemMeta factionsmeta = factions.getItemMeta();
  184.         factionsmeta.setDisplayName(ChatColor.DARK_GRAY + "• "
  185.                 + ChatColor.DARK_PURPLE + "Factions " + ChatColor.DARK_GRAY
  186.                 + "•");
  187.         factions.setItemMeta(factionsmeta);
  188.  
  189.     }
  190.  
  191.     ItemStack skywars = new ItemStack(Material.SNOW_BALL);
  192.     {
  193.  
  194.         ItemMeta skywarsmeta = skywars.getItemMeta();
  195.         skywarsmeta.setDisplayName(ChatColor.DARK_GRAY + "• " + ChatColor.AQUA
  196.                 + "Skywars " + ChatColor.DARK_GRAY + "•");
  197.         skywars.setItemMeta(skywarsmeta);
  198.  
  199.     }
  200.  
  201.     ItemStack hotpotato = new ItemStack(Material.BAKED_POTATO);
  202.     {
  203.  
  204.         ItemMeta hotpotatometa = hotpotato.getItemMeta();
  205.         hotpotatometa.setDisplayName(ChatColor.DARK_GRAY + "• "
  206.                 + ChatColor.DARK_RED + "Hot Potato " + ChatColor.DARK_GRAY
  207.                 + "•");
  208.         hotpotato.setItemMeta(hotpotatometa);
  209.  
  210.     }
  211.  
  212.     ItemStack potatoslap = new ItemStack(Material.POISONOUS_POTATO);
  213.     {
  214.  
  215.         ItemMeta potatoslapmeta = potatoslap.getItemMeta();
  216.         potatoslapmeta.setDisplayName(ChatColor.DARK_GRAY + "• "
  217.                 + ChatColor.GREEN + "Potato Slap " + ChatColor.DARK_GRAY + "•");
  218.         potatoslap.setItemMeta(potatoslapmeta);
  219.  
  220.     }
  221.  
  222.     ItemStack uhc = new ItemStack(Material.GOLDEN_APPLE);
  223.     {
  224.  
  225.         ItemMeta uhcmeta = uhc.getItemMeta();
  226.         uhcmeta.setDisplayName(ChatColor.DARK_GRAY + "• " + ChatColor.YELLOW
  227.                 + "Ultra Hardcore " + ChatColor.DARK_GRAY + "•");
  228.         uhc.setItemMeta(uhcmeta);
  229.  
  230.     }
  231.  
  232.     ItemStack show = new ItemStack(Material.INK_SACK, 1, (short) 10);
  233.     {
  234.  
  235.         ItemMeta showmeta = show.getItemMeta();
  236.         showmeta.setDisplayName(ChatColor.GREEN + "Players → Enabled");
  237.         show.setItemMeta(showmeta);
  238.  
  239.     }
  240.  
  241.     ItemStack hide = new ItemStack(Material.INK_SACK, 1, (short) 8);
  242.     {
  243.  
  244.         ItemMeta hidemeta = hide.getItemMeta();
  245.         hidemeta.setDisplayName(ChatColor.GREEN + "Players → " + ChatColor.RED
  246.                 + "Disabled");
  247.         hide.setItemMeta(hidemeta);
  248.  
  249.     }
  250.  
  251.     ItemStack tpbow = new ItemStack(Material.BOW);
  252.     {
  253.  
  254.         ItemMeta tpbowmeta = tpbow.getItemMeta();
  255.         tpbowmeta.setDisplayName(ChatColor.GREEN + "Teleport Bow");
  256.         tpbow.setItemMeta(tpbowmeta);
  257.  
  258.     }
  259.  
  260.     ItemStack ethpearl = new ItemStack(Material.ENDER_PEARL);
  261.     {
  262.  
  263.         ItemMeta ethpearlmeta = ethpearl.getItemMeta();
  264.         ethpearlmeta.setDisplayName(ChatColor.GREEN + "Ethereal Pearl");
  265.         ethpearl.setItemMeta(ethpearlmeta);
  266.  
  267.     }
  268.  
  269.     ItemStack head = new ItemStack(Material.SKULL_ITEM);
  270.     {
  271.         ItemMeta headmeta = head.getItemMeta();
  272.         headmeta.setDisplayName(ChatColor.GREEN + "Hats");
  273.         head.setItemMeta(headmeta);
  274.     }
  275.  
  276.     ItemStack teleportbow = new ItemStack(Material.BOW);
  277.     {
  278.  
  279.         ItemMeta teleportbowmeta = teleportbow.getItemMeta();
  280.         teleportbowmeta.setDisplayName(ChatColor.AQUA + "Teleport Bow");
  281.         List<String> teleportbowlore = new ArrayList<String>();
  282.         teleportbowlore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
  283.                 + "Shoot the bow to teleport to the location of the arrow.");
  284.         teleportbowmeta.setLore(teleportbowlore);
  285.         teleportbow.setItemMeta(teleportbowmeta);
  286.         teleportbow.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, 1);
  287.         teleportbow.addUnsafeEnchantment(Enchantment.DURABILITY, 10);
  288.  
  289.     }
  290.  
  291.     ItemStack etherealpearl = new ItemStack(Material.ENDER_PEARL);
  292.     {
  293.  
  294.         ItemMeta etherealpearlmeta = etherealpearl.getItemMeta();
  295.         etherealpearlmeta.setDisplayName(ChatColor.AQUA + "Ethereal Pearl");
  296.         List<String> etherealpearllore = new ArrayList<String>();
  297.         etherealpearllore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
  298.                 + "Shoot the pearl to ride through the skies.");
  299.         etherealpearlmeta.setLore(etherealpearllore);
  300.         etherealpearl.setItemMeta(etherealpearlmeta);
  301.  
  302.     }
  303.  
  304.     // Player Join Stuff (Give Join Items, Send MOTD, Play sounds, Give boost)
  305.     @EventHandler
  306.     public void onPlayerJoin(PlayerJoinEvent event) {
  307.  
  308.         Player player = event.getPlayer();
  309.  
  310.         if (!players.contains(player.getName())) {
  311.             players.add(player.getName());
  312.         }
  313.  
  314.         player.getInventory().setItem(0, wardrobe);
  315.         player.getInventory().setItem(3, gadgets);
  316.         player.getInventory().setItem(4, menu);
  317.         player.getInventory().setItem(5, show);
  318.         player.getInventory().setItem(8, donate);
  319.         player.getInventory().setItem(9, new ItemStack(Material.ARROW));
  320.  
  321.         menuinv.setItem(0, kitpvp);
  322.         menuinv.setItem(10, sg);
  323.         menuinv.setItem(2, factions);
  324.         menuinv.setItem(12, oitc);
  325.         menuinv.setItem(4, skywars);
  326.         menuinv.setItem(14, tf2);
  327.         menuinv.setItem(6, hotpotato);
  328.         menuinv.setItem(16, potatoslap);
  329.         menuinv.setItem(8, uhc);
  330.  
  331.         gadgetsinv.setItem(0, ethpearl);
  332.         gadgetsinv.setItem(4, tpbow);
  333.         gadgetsinv.setItem(8, head);
  334.  
  335.         hats.setItem(1, spongehat);
  336.         hats.setItem(2, chesthat);
  337.         hats.setItem(3, daylighthat);
  338.         hats.setItem(4, anvilhat);
  339.         hats.setItem(5, ironplatehat);
  340.         hats.setItem(6, beaconhat);
  341.         hats.setItem(7, melonhat);
  342.  
  343.         Location spawn = new Location(Bukkit.getWorld("world"), 100, 71, 100);
  344.         player.teleport(spawn);
  345.  
  346.         player.playSound(spawn, Sound.CAT_MEOW, 1, 1);
  347.         player.playNote(spawn, Instrument.PIANO, new Note(1));
  348.  
  349.     }
  350.  
  351.     // Removing players from world (removing them from lists, inventories, etc.)
  352.     @EventHandler
  353.     public void onQuitEvent(PlayerQuitEvent event) {
  354.         Player player = event.getPlayer();
  355.         if (players.contains(player.getName())) {
  356.             players.remove(player.getName());
  357.         }
  358.         player.getInventory().clear();
  359.  
  360.         player.removePotionEffect(PotionEffectType.SPEED);
  361.         player.removePotionEffect(PotionEffectType.JUMP);
  362.     }
  363.  
  364.     // Setting up commands to be run on item clicking menus and disallowing
  365.     // nonops to move inv around.
  366.  
  367.     @SuppressWarnings("deprecation")
  368.     // ChatColor.AQUA + "Iron Plate Hat"
  369.     @EventHandler
  370.     public void onInventoryClick(InventoryClickEvent event) {
  371.         Player player = (Player) event.getWhoClicked();
  372.         if (player.isOp()) {
  373.             event.setCancelled(false);
  374.         } else {
  375.             event.setCancelled(true);
  376.         }
  377.         if (!event.getCurrentItem().hasItemMeta()) {
  378.             return;
  379.         }
  380.  
  381.         if ((event.getSlotType() == InventoryType.SlotType.OUTSIDE)
  382.                 && (event.getInventory().getTitle().equals("Hats "
  383.                         + player.getName()))) {
  384.             event.setCancelled(true);
  385.             player.updateInventory();
  386.             event.getWhoClicked().closeInventory();
  387.         }
  388.  
  389.         if (event.getCurrentItem().getItemMeta().getDisplayName()
  390.                 .equalsIgnoreCase(ChatColor.GREEN + "Hats")) {
  391.             player.closeInventory();
  392.             player.openInventory(hats);
  393.         }
  394.  
  395.         if (event.getCurrentItem().getItemMeta().getDisplayName()
  396.                 .equalsIgnoreCase(ChatColor.GREEN + "Teleport Bow")) {
  397.             if (!player.getInventory().contains(teleportbow)) {
  398.                 player.getInventory().setItem(1, teleportbow);
  399.             } else if (player.getInventory().contains(teleportbow)) {
  400.                 player.getInventory().removeItem(teleportbow);
  401.             }
  402.             player.closeInventory();
  403.         }
  404.  
  405.         if (event.getCurrentItem().getItemMeta().getDisplayName()
  406.                 .equalsIgnoreCase(ChatColor.GREEN + "Ethereal Pearl")) {
  407.             if (!player.getInventory().contains(etherealpearl)) {
  408.                 player.getInventory().setItem(1, etherealpearl);
  409.             } else if (player.getInventory().contains(etherealpearl)) {
  410.                 player.getInventory().removeItem(etherealpearl);
  411.             }
  412.             player.closeInventory();
  413.         }
  414.  
  415.         if (event.getSlot() == 1) {
  416.             player.closeInventory();
  417.             player.getInventory().setHelmet(new ItemStack(Material.SPONGE));
  418.         }
  419.  
  420.         if (event.getSlot() == 2) {
  421.             player.getInventory().setHelmet(new ItemStack(Material.CHEST));
  422.             player.closeInventory();
  423.         }
  424.  
  425.         if (event.getSlot() == 3) {
  426.             player.getInventory().setHelmet(
  427.                     new ItemStack(Material.DAYLIGHT_DETECTOR));
  428.             player.closeInventory();
  429.         }
  430.  
  431.         if (event.getSlot() == 4) {
  432.             player.getInventory().setHelmet(new ItemStack(Material.ANVIL));
  433.             player.closeInventory();
  434.         }
  435.  
  436.         if (event.getSlot() == 5) {
  437.             player.getInventory().setHelmet(new ItemStack(Material.IRON_PLATE));
  438.             player.closeInventory();
  439.         }
  440.  
  441.         if (event.getSlot() == 6) {
  442.             player.getInventory().setHelmet(new ItemStack(Material.BEACON));
  443.             player.closeInventory();
  444.         }
  445.  
  446.         if (event.getSlot() == 7) {
  447.             player.getInventory()
  448.                     .setHelmet(new ItemStack(Material.MELON_BLOCK));
  449.             player.closeInventory();
  450.         }
  451.  
  452.         if (event
  453.                 .getCurrentItem()
  454.                 .getItemMeta()
  455.                 .getDisplayName()
  456.                 .equalsIgnoreCase(
  457.                         ChatColor.DARK_GRAY + "• " + ChatColor.BLUE + "KitPvP "
  458.                                 + ChatColor.DARK_GRAY + "•")) {
  459.             player.performCommand("server kitpvp");
  460.             player.closeInventory();
  461.         }
  462.  
  463.         if (event
  464.                 .getCurrentItem()
  465.                 .getItemMeta()
  466.                 .getDisplayName()
  467.                 .equalsIgnoreCase(
  468.                         ChatColor.DARK_GRAY + "• " + ChatColor.RED
  469.                                 + "Survival Games " + ChatColor.DARK_GRAY + "•")) {
  470.             player.performCommand("server sg");
  471.             player.closeInventory();
  472.         }
  473.  
  474.         if (event
  475.                 .getCurrentItem()
  476.                 .getItemMeta()
  477.                 .getDisplayName()
  478.                 .equalsIgnoreCase(
  479.                         ChatColor.DARK_GRAY + "• " + ChatColor.LIGHT_PURPLE
  480.                                 + "One In The Chamber " + ChatColor.DARK_GRAY
  481.                                 + "•")) {
  482.             player.performCommand("server oitc");
  483.             player.closeInventory();
  484.         }
  485.  
  486.         if (event
  487.                 .getCurrentItem()
  488.                 .getItemMeta()
  489.                 .getDisplayName()
  490.                 .equalsIgnoreCase(
  491.                         ChatColor.DARK_GRAY + "• " + ChatColor.GOLD
  492.                                 + "Team Fortress 2 " + ChatColor.DARK_GRAY
  493.                                 + "•")) {
  494.             player.performCommand("server tf2");
  495.             player.closeInventory();
  496.         }
  497.  
  498.         if (event
  499.                 .getCurrentItem()
  500.                 .getItemMeta()
  501.                 .getDisplayName()
  502.                 .equalsIgnoreCase(
  503.                         ChatColor.DARK_GRAY + "• " + ChatColor.DARK_PURPLE
  504.                                 + "Factions " + ChatColor.DARK_GRAY + "•")) {
  505.             player.performCommand("server factions");
  506.             player.closeInventory();
  507.         }
  508.  
  509.         if (event
  510.                 .getCurrentItem()
  511.                 .getItemMeta()
  512.                 .getDisplayName()
  513.                 .equalsIgnoreCase(
  514.                         ChatColor.DARK_GRAY + "• " + ChatColor.YELLOW
  515.                                 + "Ultra Hardcore " + ChatColor.DARK_GRAY + "•")) {
  516.             player.performCommand("server uhc");
  517.             player.closeInventory();
  518.         }
  519.  
  520.         if (event
  521.                 .getCurrentItem()
  522.                 .getItemMeta()
  523.                 .getDisplayName()
  524.                 .equalsIgnoreCase(
  525.                         ChatColor.DARK_GRAY + "• " + ChatColor.AQUA
  526.                                 + "Skywars " + ChatColor.DARK_GRAY + "•")) {
  527.             player.performCommand("server skywars");
  528.             player.closeInventory();
  529.         }
  530.  
  531.         if (event
  532.                 .getCurrentItem()
  533.                 .getItemMeta()
  534.                 .getDisplayName()
  535.                 .equalsIgnoreCase(
  536.                         ChatColor.DARK_GRAY + "• " + ChatColor.DARK_RED
  537.                                 + "Hot Potato " + ChatColor.DARK_GRAY + "•")) {
  538.             player.performCommand("server hotpotato");
  539.             player.closeInventory();
  540.         }
  541.  
  542.         if (event
  543.                 .getCurrentItem()
  544.                 .getItemMeta()
  545.                 .getDisplayName()
  546.                 .equalsIgnoreCase(
  547.                         ChatColor.DARK_GRAY + "• " + ChatColor.GREEN
  548.                                 + "Potato Slap " + ChatColor.DARK_GRAY + "•")) {
  549.             player.performCommand("server potatoslap");
  550.             player.closeInventory();
  551.         }
  552.     }
  553.  
  554.     // Teleport bow code
  555.     @SuppressWarnings("deprecation")
  556.     @EventHandler
  557.     public void onBowShoot(ProjectileHitEvent event) {
  558.         Projectile projectile = event.getEntity();
  559.  
  560.         if (projectile instanceof Arrow) {
  561.             Arrow arrow = (Arrow) projectile;
  562.             if (arrow.getShooter() instanceof Player) {
  563.                 Player player = (Player) arrow.getShooter();
  564.                 player.teleport(arrow);
  565.             }
  566.         }
  567.     }
  568.  
  569.     // Setting up Show/Hide Players code.
  570.     @SuppressWarnings("deprecation")
  571.     @EventHandler
  572.     public void onPlayerClickEvent(PlayerInteractEvent event) {
  573.  
  574.         Player player = event.getPlayer();
  575.         ItemStack item = player.getItemInHand();
  576.  
  577.         if (event.getAction() == Action.RIGHT_CLICK_AIR
  578.                 || event.getAction() == Action.RIGHT_CLICK_BLOCK) {
  579.             if (!item.hasItemMeta()) {
  580.                 return;
  581.             }
  582.         }
  583.  
  584.         if (event.getAction() == Action.RIGHT_CLICK_BLOCK
  585.                 || event.getAction() == Action.RIGHT_CLICK_AIR) {
  586.             if (item.getItemMeta()
  587.                     .getDisplayName()
  588.                     .equalsIgnoreCase(
  589.                             ChatColor.YELLOW + "Wardrobe" + ChatColor.GRAY
  590.                                     + " - Right click to view our wardrobe!")) {
  591.                 player.openInventory(wardrobeinv);
  592.             }
  593.         }
  594.  
  595.         if (event.getAction() == Action.RIGHT_CLICK_BLOCK
  596.                 || event.getAction() == Action.RIGHT_CLICK_AIR) {
  597.             if (item.getItemMeta()
  598.                     .getDisplayName()
  599.                     .equalsIgnoreCase(
  600.                             ChatColor.GOLD + "Gadgets" + ChatColor.GRAY
  601.                                     + " - Right click to view our gadgets!")) {
  602.                 player.openInventory(gadgetsinv);
  603.             }
  604.         }
  605.  
  606.         if (event.getAction() == Action.RIGHT_CLICK_BLOCK
  607.                 || event.getAction() == Action.RIGHT_CLICK_AIR) {
  608.             if (item.getItemMeta()
  609.                     .getDisplayName()
  610.                     .equalsIgnoreCase(
  611.                             ChatColor.GREEN + "Donate" + ChatColor.GRAY
  612.                                     + " - Right click to view our store!")) {
  613.                 player.performCommand("buy");
  614.             }
  615.         }
  616.  
  617.         if (event.getAction() == Action.RIGHT_CLICK_BLOCK
  618.                 || event.getAction() == Action.RIGHT_CLICK_AIR) {
  619.             if (item.getItemMeta()
  620.                     .getDisplayName()
  621.                     .equalsIgnoreCase(
  622.                             ChatColor.AQUA + "Menu" + ChatColor.GRAY
  623.                                     + " - Right click to view our servers!")) {
  624.                 player.openInventory(menuinv);
  625.             }
  626.         }
  627.  
  628.         if (event.getAction() == Action.RIGHT_CLICK_BLOCK
  629.                 || event.getAction() == Action.RIGHT_CLICK_AIR) {
  630.             if (item.getItemMeta()
  631.                     .getDisplayName()
  632.                     .equalsIgnoreCase(
  633.                             ChatColor.AQUA + "Gadgets" + ChatColor.GRAY
  634.                                     + " - Right click to view our gadgets!")) {
  635.                 player.openInventory(gadgetsinv);
  636.             }
  637.         }
  638.  
  639.         if (event.getAction() == Action.RIGHT_CLICK_BLOCK
  640.                 || event.getAction() == Action.RIGHT_CLICK_AIR) {
  641.             if (item.getItemMeta().getDisplayName()
  642.                     .equalsIgnoreCase(ChatColor.GREEN + "Players → Enabled")) {
  643.  
  644.                 if (players.contains(player.getName())) {
  645.                     for (Player targetPlayer : Bukkit.getOnlinePlayers()) {
  646.                         if (player.canSee(targetPlayer)) {
  647.                             player.hidePlayer(targetPlayer);
  648.                         }
  649.                         players.add(player.getName());
  650.                     }
  651.                     player.getInventory().removeItem(show);
  652.                     player.setItemInHand(hide);
  653.                     player.sendMessage(ChatColor.GOLD + "" + ChatColor.ITALIC
  654.                             + "Visibility " + ChatColor.DARK_GRAY + "→ "
  655.                             + ChatColor.GRAY + "Players have been toggled: "
  656.                             + ChatColor.RED + "Off");
  657.                 }
  658.             } else if (item
  659.                     .getItemMeta()
  660.                     .getDisplayName()
  661.                     .equalsIgnoreCase(
  662.                             ChatColor.GREEN + "Players → " + ChatColor.RED
  663.                                     + "Disabled")) {
  664.                 if (players.contains(event.getPlayer().getName())) {
  665.                     for (Player targetPlayer : Bukkit.getOnlinePlayers()) {
  666.                         if (player.canSee(targetPlayer)) {
  667.                             event.setCancelled(true);
  668.                         } else {
  669.                             player.showPlayer(targetPlayer);
  670.                         }
  671.                         players.remove(player.getName());
  672.                     }
  673.                 }
  674.                 player.getInventory().removeItem(hide);
  675.                 player.setItemInHand(show);
  676.                 player.sendMessage(ChatColor.GOLD + "" + ChatColor.ITALIC
  677.                         + "Visibility " + ChatColor.DARK_GRAY + "→ "
  678.                         + ChatColor.GRAY + "Players have been toggled: "
  679.                         + ChatColor.GREEN + "On");
  680.             }
  681.         }
  682.     }
  683.  
  684.     @EventHandler
  685.     public void noItemDrop(PlayerDropItemEvent e) {
  686.         Player player = e.getPlayer();
  687.         if ((e.getItemDrop().getItemStack().getType() != Material.AIR)
  688.                 && (!player.isOp())) {
  689.             e.setCancelled(true);
  690.         } else {
  691.             e.setCancelled(false);
  692.         }
  693.     }
  694.  
  695.     @EventHandler
  696.     public void msgRewrite(PlayerCommandPreprocessEvent event) {
  697.  
  698.         Player player = event.getPlayer();
  699.  
  700.         if (event.getMessage().equalsIgnoreCase("/pl")
  701.                 || event.getMessage().equalsIgnoreCase("/plugins")) {
  702.             event.setCancelled(true);
  703.             Plugin[] plugins = Bukkit.getServer().getPluginManager()
  704.                     .getPlugins();
  705.             for (Plugin pl : plugins) {
  706.                 event.getPlayer().sendMessage(
  707.                         ChatColor.GOLD + "" + ChatColor.ITALIC + "Plugins "
  708.                                 + ChatColor.DARK_GRAY + "→ " + ChatColor.AQUA
  709.                                 + pl.getName() + ChatColor.GRAY + " v"
  710.                                 + ChatColor.AQUA
  711.                                 + pl.getDescription().getVersion());
  712.             }
  713.         }
  714.  
  715.         if ((!event.isCancelled())) {
  716.             String command = event.getMessage().split(" ")[0];
  717.             HelpTopic uncmd = Bukkit.getServer().getHelpMap()
  718.                     .getHelpTopic(command);
  719.             if (uncmd == null) {
  720.                 player.sendMessage(ChatColor.GOLD + "" + ChatColor.ITALIC
  721.                         + "Unknown " + ChatColor.DARK_GRAY + "→ "
  722.                         + ChatColor.GRAY + "Unknown command, "
  723.                         + player.getDisplayName() + ChatColor.GRAY + ".");
  724.                 event.setCancelled(true);
  725.             }
  726.         }
  727.     }
  728.  
  729.     @EventHandler
  730.     public void noHunger(FoodLevelChangeEvent event) {
  731.         event.setCancelled(true);
  732.     }
  733.  
  734.     @EventHandler
  735.     public void noDamage(EntityDamageEvent event) {
  736.         event.setCancelled(true);
  737.     }
  738.  
  739.     // DoubleJump events
  740.     @EventHandler
  741.     public void onPlayerToggleFlight(PlayerToggleFlightEvent event) {
  742.         Player player = event.getPlayer();
  743.         if (player.getGameMode() == GameMode.CREATIVE) {
  744.             return;
  745.         }
  746.         event.setCancelled(true);
  747.         player.setAllowFlight(false);
  748.         player.setFlying(false);
  749.         player.setVelocity(player.getLocation().getDirection().multiply(1.5)
  750.                 .setY(1));
  751.         player.playSound(player.getLocation(), Sound.GHAST_FIREBALL, 1, 1);
  752.     }
  753.  
  754.     @EventHandler
  755.     public void onPlayerMove(PlayerMoveEvent event) {
  756.         Player player = event.getPlayer();
  757.         if (player.getGameMode() != GameMode.CREATIVE
  758.                 && player.getLocation().subtract(0, 1, 0).getBlock().getType() != Material.AIR
  759.                 && !player.isFlying()) {
  760.             player.setAllowFlight(true);
  761.         }
  762.     }
  763.  
  764. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement