Advertisement
Auxdible

Source Code for Poof v1.2

Nov 16th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.84 KB | None | 0 0
  1. Main.Java Source Code:
  2. package com.auxdible.plugin;
  3.  
  4. import java.lang.reflect.Field;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import java.util.UUID;
  8.  
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.Material;
  11. import org.bukkit.SkullType;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.inventory.Inventory;
  14. import org.bukkit.inventory.ItemStack;
  15. import org.bukkit.inventory.meta.ItemMeta;
  16. import org.bukkit.inventory.meta.SkullMeta;
  17. import org.bukkit.plugin.java.JavaPlugin;
  18.  
  19. import com.mojang.authlib.GameProfile;
  20. import com.mojang.authlib.properties.Property;
  21.  
  22. import net.md_5.bungee.api.ChatColor;
  23.  
  24. public class Main extends JavaPlugin {
  25. List<Player> vanished = new ArrayList<>();
  26.  
  27. @Override
  28. public void onEnable() {
  29.  
  30. System.out.println("Poof " + "|" + " Poof v1.2 by Auxdible has been enabled! Merry Christmas!");
  31. getCommand("poof").setExecutor(new PoofCommand(this));
  32. Bukkit.getPluginManager().registerEvents(new MenuListener(this), this);
  33. this.getConfig().options().copyDefaults();
  34. saveDefaultConfig();
  35.  
  36. }
  37.  
  38.  
  39.  
  40.  
  41. public void buildPoofUI(Player player) {
  42.  
  43. // BEGINNING
  44. Inventory poofGui = Bukkit.createInventory(null, 27, ChatColor.AQUA + "Poof UI");
  45.  
  46. // LORES
  47. List<String> infoLore = new ArrayList<>();
  48. infoLore.add(ChatColor.GRAY + "Poof is created by " + ChatColor.GOLD + "Auxdible");
  49. List<String> enableLore = new ArrayList<>();
  50. enableLore.add(ChatColor.GREEN + "Click to vanish!");
  51. List<String> disableLore = new ArrayList<>();
  52. disableLore.add(ChatColor.RED + "Click to appear!");
  53. List<String> unvanishAllLore = new ArrayList<>();
  54. unvanishAllLore.add(ChatColor.DARK_RED + "WARNING:");
  55. unvanishAllLore.add(ChatColor.RED + "Clicking this will unvanish");
  56. unvanishAllLore.add(ChatColor.RED + "all vanished players!");
  57. List<String> helpLore = new ArrayList<>();
  58. helpLore.add(ChatColor.WHITE + "Click to view the help page!");
  59. List<String> ornament1Lore = new ArrayList<>();
  60. ornament1Lore.add(ChatColor.DARK_RED + "Enjoy the Christmas theme!");
  61. List<String> ornament2Lore = new ArrayList<>();
  62. ornament2Lore.add(ChatColor.DARK_GREEN + "Enjoy the Christmas theme!");
  63. // ITEM STACKS
  64. ItemStack poofToggle;
  65. if (this.vanished.contains(player)) {
  66.  
  67. poofToggle = new ItemStack(Material.REDSTONE);
  68. ItemMeta poofToggleMeta = poofToggle.getItemMeta();
  69. poofToggleMeta.setDisplayName(ChatColor.RED + "Disable Poof!");
  70. poofToggleMeta.setLore(disableLore);
  71. poofToggle.setItemMeta(poofToggleMeta);
  72.  
  73. } else {
  74.  
  75. poofToggle = new ItemStack(Material.GLOWSTONE_DUST);
  76. ItemMeta poofToggleMeta = poofToggle.getItemMeta();
  77. poofToggleMeta.setDisplayName(ChatColor.GREEN + "Enable Poof!");
  78. poofToggleMeta.setLore(enableLore);
  79. poofToggle.setItemMeta(poofToggleMeta);
  80. }
  81. @SuppressWarnings("deprecation")
  82. ItemStack info = new ItemStack(Material.PLAYER_HEAD, 1, (byte) SkullType.PLAYER.ordinal());
  83. SkullMeta infoMeta = (SkullMeta) info.getItemMeta();
  84. GameProfile infoProfile = new GameProfile(UUID.randomUUID(), null);
  85. infoProfile.getProperties().put("textures", new Property("textures", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOWU2ODQyYjRmMjI4N2QxYTFiYzgxNzQxZWZiYzY2MzI5ZTFkZDU2NTIxOWMzN2ZjZDMzYTc1ZWJiZWZmOTczYiJ9fX0="));
  86. Field field;
  87. try {
  88.  
  89. field = infoMeta.getClass().getDeclaredField("profile");
  90. field.setAccessible(true);
  91. field.set(infoMeta, infoProfile);
  92. } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException x) {
  93.  
  94. x.printStackTrace();
  95. }
  96.  
  97. infoMeta.setDisplayName(ChatColor.AQUA + "Plugin Creator Info");
  98. infoMeta.setLore(infoLore);
  99. info.setItemMeta(infoMeta);
  100. ItemStack ornament1 = new ItemStack(Material.PLAYER_HEAD, 1, (byte) SkullType.PLAYER.ordinal());
  101. SkullMeta ornament1Meta = (SkullMeta) ornament1.getItemMeta();
  102. GameProfile ornament1Profile = new GameProfile(UUID.randomUUID(), null);
  103. ornament1Profile.getProperties().put("textures", new Property("textures",
  104. "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmY2ODQ5NzE5NzVmMjA5ZTY4NjEzM2Y2ZjNjZTNkYWFiM2YyYmZjZmE0Yzc4N2I3MDMyNzNjYmI4NGFhZWEifX19="));
  105. Field ornament1Field;
  106. try {
  107. ornament1Field = ornament1Meta.getClass().getDeclaredField("profile");
  108. ornament1Field.setAccessible(true);
  109. ornament1Field.set(ornament1Meta, ornament1Profile);
  110. } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException x) {
  111.  
  112. x.printStackTrace();
  113.  
  114. }
  115. ornament1Meta.setDisplayName(ChatColor.DARK_RED + "Merry " + ChatColor.DARK_GREEN + "Christmas!");
  116. ornament1Meta.setLore(ornament1Lore);
  117. ornament1.setItemMeta(ornament1Meta);
  118. ItemStack ornament2 = new ItemStack(Material.PLAYER_HEAD, 1, (byte) SkullType.PLAYER.ordinal());
  119. SkullMeta ornament2Meta = (SkullMeta) ornament2.getItemMeta();
  120. GameProfile ornament2Profile = new GameProfile(UUID.randomUUID(), null);
  121. ornament2Profile.getProperties().put("textures", new Property("textures",
  122. "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjI2ZTZmNjFlYWM2MzQxNzU2ZWY4YWU5Y2JhNjIxZTliZjk2Y2JiOTRlMTVjODk1NjhlZTJkNzc2ZGY4YiJ9fX0="));
  123. Field ornament2Field;
  124. try {
  125.  
  126. ornament2Field = ornament2Meta.getClass().getDeclaredField("profile");
  127. ornament2Field.setAccessible(true);
  128. ornament2Field.set(ornament2Meta, ornament2Profile);
  129.  
  130. } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException x) {
  131.  
  132. x.printStackTrace();
  133.  
  134. }
  135. ornament2Meta.setDisplayName(ChatColor.DARK_RED + "Merry " + ChatColor.DARK_GREEN + "Christmas!");
  136. ornament2Meta.setLore(ornament2Lore);
  137. ornament2.setItemMeta(ornament2Meta);
  138. ItemStack empty1 = new ItemStack(Material.RED_STAINED_GLASS_PANE);
  139. ItemStack empty2 = new ItemStack(Material.GREEN_STAINED_GLASS_PANE);
  140. ItemMeta emptyMeta1 = empty1.getItemMeta();
  141. ItemMeta emptyMeta2 = empty1.getItemMeta();
  142. empty1.setItemMeta(emptyMeta1);
  143. empty2.setItemMeta(emptyMeta2);
  144. ItemStack unvanishAllBlock = new ItemStack(Material.REDSTONE_BLOCK);
  145. ItemMeta unvanishMeta = unvanishAllBlock.getItemMeta();
  146. unvanishMeta.setDisplayName(ChatColor.DARK_RED + "Unvanish all players.");
  147. unvanishMeta.setLore(unvanishAllLore);
  148. unvanishAllBlock.setItemMeta(unvanishMeta);
  149. ItemStack helpBlock = new ItemStack(Material.ARROW);
  150. ItemMeta helpMeta = helpBlock.getItemMeta();
  151. helpMeta.setDisplayName(ChatColor.AQUA + "Help Page");
  152. helpMeta.setLore(helpLore);
  153. helpBlock.setItemMeta(helpMeta);
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160. // ITEM SETTING
  161. poofGui.setItem(0, empty1);
  162. poofGui.setItem(1, ornament1);
  163. poofGui.setItem(2, empty1);
  164. poofGui.setItem(3, empty1);
  165. poofGui.setItem(4, empty1);
  166. poofGui.setItem(5, empty1);
  167. poofGui.setItem(6, empty1);
  168. poofGui.setItem(7, ornament1);
  169. poofGui.setItem(8, helpBlock);
  170. poofGui.setItem(9, empty2);
  171. poofGui.setItem(10, empty2);
  172. poofGui.setItem(11, empty2);
  173. poofGui.setItem(12, ornament2);
  174. poofGui.setItem(13, poofToggle);
  175. poofGui.setItem(14, ornament2);
  176. poofGui.setItem(15, empty2);
  177. poofGui.setItem(16, empty2);
  178. poofGui.setItem(17, unvanishAllBlock);
  179. poofGui.setItem(18, empty1);
  180. poofGui.setItem(19, ornament1);
  181. poofGui.setItem(20, empty1);
  182. poofGui.setItem(21, empty1);
  183. poofGui.setItem(22, empty1);
  184. poofGui.setItem(23, empty1);
  185. poofGui.setItem(24, empty1);
  186. poofGui.setItem(25, ornament1);
  187. poofGui.setItem(26, info);
  188.  
  189.  
  190. // FINAL
  191. player.openInventory(poofGui);
  192. }
  193. }
  194. PoofCommand.java source code:
  195. package com.auxdible.plugin;
  196.  
  197. import org.bukkit.Bukkit;
  198. import org.bukkit.Sound;
  199. import org.bukkit.command.Command;
  200. import org.bukkit.command.CommandExecutor;
  201. import org.bukkit.command.CommandSender;
  202. import org.bukkit.craftbukkit.v1_14_R1.entity.CraftPlayer;
  203. import org.bukkit.entity.Player;
  204.  
  205. import net.md_5.bungee.api.ChatColor;
  206. import net.md_5.bungee.api.chat.ClickEvent;
  207. import net.md_5.bungee.api.chat.ComponentBuilder;
  208. import net.md_5.bungee.api.chat.HoverEvent;
  209. import net.md_5.bungee.api.chat.TextComponent;
  210. import net.minecraft.server.v1_14_R1.IChatBaseComponent.ChatSerializer;
  211. import net.minecraft.server.v1_14_R1.PacketPlayOutTitle;
  212. import net.minecraft.server.v1_14_R1.PacketPlayOutTitle.EnumTitleAction;
  213.  
  214. public class PoofCommand implements CommandExecutor {
  215.  
  216. private Main main;
  217. public PoofCommand(Main main) {
  218.  
  219. this.main = main;
  220.  
  221. }
  222.  
  223.  
  224.  
  225.  
  226. @Override
  227. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  228.  
  229. if (sender instanceof Player) {
  230. Player player = (Player) sender;
  231. String name = main.getConfig().getString("name");
  232.  
  233. if (!player.hasPermission("poof.poof")) {
  234.  
  235. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &cYou do not have permission to use " + name));
  236. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 0.5f, 1.0f);
  237.  
  238. return false;
  239. }
  240. if (args.length < 1) {
  241.  
  242. if (!main.vanished.contains(player)) {
  243. main.vanished.add(player);
  244. for (Player target : Bukkit.getOnlinePlayers()) {
  245.  
  246. target.hidePlayer(player);
  247. PacketPlayOutTitle vanishPacket = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a("{\"text\":\"" + "§bYou are vanished!" + "\"}"),
  248. 20,
  249. 40,
  250. 20);
  251. ((CraftPlayer) player).getHandle().playerConnection.sendPacket(vanishPacket);
  252. }
  253. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &cYou are no longer visible to other players."));
  254. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f);
  255.  
  256. } else {
  257.  
  258. main.vanished.remove(player);
  259. for (Player target : Bukkit.getOnlinePlayers()) {
  260.  
  261. target.showPlayer(player);
  262.  
  263. }
  264.  
  265. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &aYou are now visible to other players."));
  266. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1.0f, 1.0f);
  267. }
  268.  
  269. }
  270. if (args.length == 1) {
  271. if (args[0].equalsIgnoreCase("gui")) {
  272. main.buildPoofUI(player);
  273. } else if (Bukkit.getPlayerExact(args[0]) != null) {
  274.  
  275. Player target = (Player) Bukkit.getPlayerExact(args[0]);
  276. if (target == null) {
  277.  
  278. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &cPlease enter the name of a online player."));
  279. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1.0f, 1.0f);
  280.  
  281. }
  282. if (!main.vanished.contains(target)) {
  283.  
  284. main.vanished.add(target);
  285. for (Player targetServer : Bukkit.getOnlinePlayers()) {
  286.  
  287. targetServer.hidePlayer(target);
  288. PacketPlayOutTitle vanishPacket = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a("{\"text\":\"" + "§bYou are vanished!" + "\"}"),
  289. 20,
  290. 40,
  291. 20);
  292. ((CraftPlayer) target).getHandle().playerConnection.sendPacket(vanishPacket);
  293. }
  294. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &cPlayer &f" + target.getName() + " &chas been vanished!"));
  295. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f);
  296. target.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &cPlayer &f" + player.getName() + " &chas vanished you!"));
  297. target.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f);
  298. } else {
  299.  
  300. main.vanished.remove(target);
  301. for (Player targetServer : Bukkit.getOnlinePlayers()) {
  302.  
  303. targetServer.showPlayer(target);
  304.  
  305. }
  306. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &aPlayer &f" + target.getName() + " &ahas been unvanished!"));
  307. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1.0f, 1.0f);
  308. target.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &aPlayer &f" + player.getName() + " &ahas unvanished you!"));
  309. target.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1.0f, 1.0f);
  310.  
  311. }
  312.  
  313. } else if (args[0].equalsIgnoreCase("poof")) {
  314. if (!main.vanished.contains(player)) {
  315. main.vanished.add(player);
  316. for (Player target : Bukkit.getOnlinePlayers()) {
  317.  
  318. target.hidePlayer(player);
  319. PacketPlayOutTitle vanishPacket = new PacketPlayOutTitle(EnumTitleAction.TITLE, ChatSerializer.a("{\"text\":\"" + "§bYou are vanished!" + "\"}"),
  320. 20,
  321. 40,
  322. 20);
  323. ((CraftPlayer) player).getHandle().playerConnection.sendPacket(vanishPacket);
  324. }
  325. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &cYou are no longer visible to other players."));
  326. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f);
  327.  
  328. } else {
  329.  
  330. main.vanished.remove(player);
  331. for (Player target : Bukkit.getOnlinePlayers()) {
  332.  
  333. target.showPlayer(player);
  334.  
  335. }
  336.  
  337. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &aYou are now visible to other players."));
  338. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1.0f, 1.0f);
  339. }
  340.  
  341. } else if (args[0].equalsIgnoreCase("media")) {
  342. TextComponent info = new TextComponent("============My Media============");
  343. info.setBold(true);
  344. info.setColor(ChatColor.WHITE);
  345. TextComponent info1 = new TextComponent("My Spigot Page");
  346. info1.setColor(ChatColor.GOLD);
  347. ComponentBuilder cb1 = new ComponentBuilder("Click here to visit my Spigot page!").color(ChatColor.GOLD);
  348. info1.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, cb1.create()));
  349. info1.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://www.spigotmc.org/members/auxdible.811753/"));
  350. TextComponent info2 = new TextComponent("My YouTube Channel");
  351. info2.setColor(ChatColor.RED);
  352. ComponentBuilder cb2 = new ComponentBuilder("Click here to visit my YouTube channel!").color(ChatColor.RED);
  353. info2.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, cb2.create()));
  354. info2.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://www.youtube.com/channel/UCOE_IxVOdNtejqGqmrdRWZA"));
  355. TextComponent info3 = new TextComponent("===============================");
  356. info3.setBold(true);
  357. info3.setColor(ChatColor.WHITE);
  358. player.spigot().sendMessage(info);
  359. player.spigot().sendMessage(info1);
  360. player.spigot().sendMessage(info2);
  361. player.spigot().sendMessage(info3);
  362.  
  363.  
  364.  
  365. } else if (args[0].equalsIgnoreCase("unvanishall")) {
  366. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &cAll vanished players have been unvanished!"));
  367. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f);
  368.  
  369. for (Player vanishedPlayers : Bukkit.getOnlinePlayers()) {
  370.  
  371. if (main.vanished.contains(vanishedPlayers)) {
  372.  
  373. for (Player target : Bukkit.getOnlinePlayers()) {
  374.  
  375. target.showPlayer(vanishedPlayers);
  376.  
  377. }
  378.  
  379. }
  380.  
  381. }
  382.  
  383.  
  384. } else if (args[0].equalsIgnoreCase("help")) {
  385. TextComponent help = new TextComponent("============Help Page============");
  386. help.setBold(true);
  387. help.setColor(ChatColor.WHITE);
  388. TextComponent help2 = new TextComponent("Click to run the command or hover to see what it does.");
  389. help2.setBold(true);
  390. help2.setColor(ChatColor.GREEN);
  391. TextComponent cmdDot1 = new TextComponent("• ");
  392. cmdDot1.setColor(ChatColor.AQUA);
  393. ComponentBuilder cmdCb1 = new ComponentBuilder("Running this command will turn you completely invisible, and you will not be shown as online.").color(ChatColor.WHITE);
  394. TextComponent cmd1 = new TextComponent("/poof");
  395. cmd1.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, cmdCb1.create()));
  396. cmd1.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/poof"));
  397. cmd1.setColor(ChatColor.WHITE);
  398. TextComponent cmdAlternate1 = new TextComponent("Alternate uses: /poof poof");
  399. cmdAlternate1.setColor(ChatColor.DARK_AQUA);
  400. cmdAlternate1.setItalic(true);
  401.  
  402. cmdDot1.addExtra(cmd1);
  403. TextComponent cmdDot2 = new TextComponent("• ");
  404. cmdDot2.setColor(ChatColor.AQUA);
  405. ComponentBuilder cmdCb2 = new ComponentBuilder("Running this command will open a GUI where you can access poof easily").color(ChatColor.WHITE);
  406. TextComponent cmd2 = new TextComponent("/poof gui");
  407. cmd2.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, cmdCb2.create()));
  408. cmd2.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/poof gui"));
  409. cmd2.setColor(ChatColor.WHITE);
  410. cmdDot2.addExtra(cmd2);
  411. TextComponent cmdDot3 = new TextComponent("• ");
  412. cmdDot3.setColor(ChatColor.AQUA);
  413. ComponentBuilder cmdCb3 = new ComponentBuilder("Running this command will allow you to see my media!").color(ChatColor.WHITE);
  414. TextComponent cmd3 = new TextComponent("/poof media");
  415. cmd3.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, cmdCb3.create()));
  416. cmd3.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/poof media"));
  417. cmd3.setColor(ChatColor.WHITE);
  418. cmdDot3.addExtra(cmd3);
  419. TextComponent cmdDot4 = new TextComponent("• ");
  420. cmdDot4.setColor(ChatColor.AQUA);
  421. ComponentBuilder cmdCb4 = new ComponentBuilder("Running this command will unvanish every vanished player!").color(ChatColor.WHITE);
  422. TextComponent cmd4 = new TextComponent("/poof unvanishall");
  423. cmd4.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, cmdCb4.create()));
  424. cmd4.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/poof unvanishall"));
  425. cmd4.setColor(ChatColor.WHITE);
  426. cmdDot4.addExtra(cmd4);
  427. TextComponent cmdDot5 = new TextComponent("• ");
  428. cmdDot5.setColor(ChatColor.AQUA);
  429. ComponentBuilder cmdCb5 = new ComponentBuilder("Running this command will vanish/unvanish the targeted player!").color(ChatColor.WHITE);
  430. TextComponent cmd5 = new TextComponent("/poof (player name)");
  431. cmd5.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, cmdCb5.create()));
  432. cmd5.setColor(ChatColor.WHITE);
  433. cmdDot5.addExtra(cmd5);
  434. TextComponent cmdDot6 = new TextComponent("• ");
  435. cmdDot6.setColor(ChatColor.AQUA);
  436. ComponentBuilder cmdCb6 = new ComponentBuilder("Running this command will allow you to see the information on the plugin!").color(ChatColor.WHITE);
  437. TextComponent cmd6 = new TextComponent("/poof info");
  438. cmd6.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, cmdCb6.create()));
  439. cmd6.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/poof info"));
  440. cmd6.setColor(ChatColor.WHITE);
  441. cmdDot6.addExtra(cmd6);
  442. TextComponent helpBottom = new TextComponent("================================");
  443. helpBottom.setBold(true);
  444. helpBottom.setColor(ChatColor.WHITE);
  445. player.spigot().sendMessage(help);
  446. player.spigot().sendMessage(help2);
  447. player.spigot().sendMessage(cmdDot1);
  448. player.spigot().sendMessage(cmdAlternate1);
  449. player.spigot().sendMessage(cmdDot2);
  450. player.spigot().sendMessage(cmdDot3);
  451. player.spigot().sendMessage(cmdDot4);
  452. player.spigot().sendMessage(cmdDot5);
  453. player.spigot().sendMessage(cmdDot6);
  454. player.spigot().sendMessage(helpBottom);
  455.  
  456.  
  457.  
  458. } else if (args[0].equalsIgnoreCase("list")) {
  459.  
  460. player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&f&l=========Vanished Players========="));
  461. for (Player vanishedPlayers : main.vanished) {
  462.  
  463. player.sendMessage(ChatColor.translateAlternateColorCodes('&', ChatColor.AQUA + "• " + ChatColor.WHITE + vanishedPlayers.getName()));
  464.  
  465. }
  466. player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&f&l=================================="));
  467.  
  468.  
  469. } else if (args[0].equalsIgnoreCase("info")) {
  470.  
  471. player.sendMessage(ChatColor.AQUA + "You are running Poof v1.2! " + ChatColor.RED + "Merry " + ChatColor.DARK_GREEN + "Christmas!");
  472. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f);
  473. }
  474.  
  475. }
  476. }
  477.  
  478.  
  479. return false;
  480. }
  481.  
  482. }
  483. MenuListener.java source code:
  484. package com.auxdible.plugin;
  485.  
  486. import org.bukkit.Bukkit;
  487. import org.bukkit.Sound;
  488. import org.bukkit.entity.Player;
  489. import org.bukkit.event.EventHandler;
  490. import org.bukkit.event.Listener;
  491. import org.bukkit.event.inventory.InventoryClickEvent;
  492.  
  493. import net.md_5.bungee.api.ChatColor;
  494.  
  495. public class MenuListener implements Listener {
  496. private Main main;
  497. public MenuListener(Main main) {
  498.  
  499. this.main = main;
  500.  
  501. }
  502. @SuppressWarnings("deprecation")
  503. @EventHandler
  504. public void onInteractEvent(InventoryClickEvent e) {
  505.  
  506. Player player = (Player) e.getWhoClicked();
  507. String name = main.getConfig().getString("name");
  508.  
  509. if (player.getOpenInventory().getTitle().equalsIgnoreCase(ChatColor.AQUA + "Poof UI") && player.hasPermission("poof.poof")) {
  510. if (e.getCurrentItem() != null) {
  511. e.setCancelled(true);
  512. switch (e.getCurrentItem().getType()) {
  513. case ARROW:
  514. player.performCommand("poof help");
  515. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f);
  516. player.closeInventory();
  517. break;
  518. case REDSTONE_BLOCK:
  519. player.performCommand("poof unvanishall");
  520. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f);
  521. player.closeInventory();
  522. break;
  523. case PLAYER_HEAD:
  524. if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.DARK_RED + "Merry " + ChatColor.DARK_GREEN + "Christmas!")) {
  525. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_CELEBRATE, 2.0f, 2.0f);
  526. player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&4Merry &2Christmas &4from &6Auxdible!"));
  527. player.closeInventory();
  528.  
  529. } else if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.AQUA + "Plugin Creator Info")) {
  530. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_CELEBRATE, 1.0f, 1.0f);
  531. player.performCommand("poof info");
  532.  
  533. player.closeInventory();
  534. }
  535. break;
  536. case RED_STAINED_GLASS_PANE:
  537. player.playSound(player.getLocation(), Sound.BLOCK_ANVIL_HIT, 1.0f, 1.0f);
  538. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &fPlease select the dust to toggle visibility!"));
  539. player.closeInventory();
  540. break;
  541. case GREEN_STAINED_GLASS_PANE:
  542. player.playSound(player.getLocation(), Sound.BLOCK_ANVIL_HIT, 1.0f, 1.0f);
  543. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &fPlease select the dust to toggle visibility!"));
  544. player.closeInventory();
  545. break;
  546. case GLOWSTONE_DUST:
  547. main.vanished.add(player);
  548. for (Player target : Bukkit.getOnlinePlayers()) {
  549.  
  550. target.hidePlayer(player);
  551.  
  552.  
  553. }
  554. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &cYou are no longer visible to other players."));
  555. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f);
  556. player.closeInventory();
  557.  
  558. break;
  559. case REDSTONE:
  560. main.vanished.remove(player);
  561. for (Player target : Bukkit.getOnlinePlayers()) {
  562.  
  563. target.showPlayer(player);
  564.  
  565.  
  566. }
  567. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &aYou are now visible to other players."));
  568. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1.0f, 1.0f);
  569. player.closeInventory();
  570.  
  571. break;
  572. default:
  573. break;
  574. }
  575. }
  576.  
  577. } else {
  578.  
  579. player.sendMessage(ChatColor.translateAlternateColorCodes('&', name + " &7>> &cYou do not have permission to use " + name));
  580. player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 0.5f, 1.0f);
  581.  
  582. }
  583. }
  584. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement