Advertisement
Guest User

PotionMain

a guest
Jan 22nd, 2020
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.92 KB | None | 0 0
  1. package me.AntonErlandsson.PotionEffects;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.net.MalformedURLException;
  7. import java.net.URL;
  8. import java.net.URLConnection;
  9. import java.util.ArrayList;
  10.  
  11. import org.bukkit.Bukkit;
  12. import org.bukkit.ChatColor;
  13. import org.bukkit.Material;
  14. import org.bukkit.configuration.file.FileConfiguration;
  15. import org.bukkit.entity.Player;
  16. import org.bukkit.event.Listener;
  17. import org.bukkit.inventory.Inventory;
  18. import org.bukkit.inventory.ItemStack;
  19. import org.bukkit.inventory.meta.ItemMeta;
  20. import org.bukkit.inventory.meta.SkullMeta;
  21. import org.bukkit.plugin.PluginDescriptionFile;
  22. import org.bukkit.plugin.java.JavaPlugin;
  23.  
  24. import me.AntonErlandsson.PotionEffects.events.GUIHandler;
  25. import me.AntonErlandsson.PotionEffects.events.UpdateMessage;
  26. import me.AntonErlandsson.PotionEffects.handler.CommandManager;
  27.  
  28. public class PotionMain extends JavaPlugin implements Listener {
  29. public static PotionMain getPlugin(){
  30. return instancePlugin;
  31. }
  32.  
  33. private static PotionMain instancePlugin;
  34. private static PotionMain instance;
  35. public CommandManager commandManager;
  36. PluginDescriptionFile plugin = this.getDescription();
  37. PotionMain main = this;
  38.  
  39. private String currentVersion = plugin.getVersion();
  40.  
  41. public boolean update;
  42. public static Inventory playerUI;
  43.  
  44. @SuppressWarnings("unused")
  45. private UpdateMessage updatemessage = new UpdateMessage(this);
  46.  
  47. public void onEnable() {
  48. updateChecker.start();
  49. setInstance(this);
  50. commandManager = new CommandManager();
  51.  
  52. commandManager.setup();
  53.  
  54. final FileConfiguration config = this.getConfig();
  55.  
  56. config.options().copyDefaults(true);
  57. saveDefaultConfig();
  58.  
  59. instancePlugin = this;
  60.  
  61. getServer().getPluginManager().registerEvents(new GUIHandler(main), this);
  62.  
  63. getServer().getPluginManager().registerEvents(new UpdateMessage(main), this);
  64.  
  65. getServer().getConsoleSender().sendMessage(ChatColor.AQUA + plugin.getName() + " is currently running on " + plugin.getVersion() + " by Anton Erlandsson");
  66.  
  67. }
  68. public static void createInv(Player player) {
  69.  
  70. ArrayList<Player> player_list = new ArrayList<>(player.getServer().getOnlinePlayers());
  71. playerUI = Bukkit.createInventory(player, 54, ChatColor.DARK_PURPLE + "" + ChatColor.BOLD + "PotionEffects GUI");
  72. for (int i = 0;i < player_list.size();i++) {
  73. ItemStack playerHead = new ItemStack(Material.PLAYER_HEAD);
  74. SkullMeta skullMeta = (SkullMeta) playerHead.getItemMeta();
  75. skullMeta.setOwningPlayer(player_list.get(i));
  76. playerHead.setItemMeta(skullMeta);
  77. ItemMeta meta = playerHead.getItemMeta();
  78. meta.setDisplayName(ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + player_list.get(i).getDisplayName());
  79. ArrayList<String> lore = new ArrayList<>();
  80. lore.add(ChatColor.GRAY + "Click to select player!");
  81. meta.setLore(lore);
  82. playerHead.setItemMeta(meta);
  83. playerUI.addItem(playerHead);
  84. }
  85.  
  86. }
  87.  
  88. public static PotionMain getInstance() {
  89. return instance;
  90. }
  91.  
  92. private static void setInstance(PotionMain instance) {
  93. PotionMain.instance = instance;
  94. }
  95.  
  96. Thread updateChecker = new Thread() {
  97. @Override
  98. public void run() {
  99. URL url = null;
  100. try {
  101. url = new URL("https://api.spigotmc.org/legacy/update.php?resource=70873");
  102. } catch (MalformedURLException e) {
  103. e.printStackTrace();
  104. }
  105. URLConnection conn = null;
  106. try {
  107. conn = url.openConnection();
  108. } catch (IOException e) {
  109. e.printStackTrace();
  110. }
  111. try {
  112. BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
  113. if (reader.readLine().equals(currentVersion)) {
  114. Bukkit.getScheduler().scheduleSyncDelayedTask(main, new Runnable() {
  115.  
  116. @Override
  117. public void run() {
  118. if(PotionMain.getPlugin().getConfig().getBoolean("Check_Updates") == true) {
  119. getServer().getConsoleSender().sendMessage(ChatColor.GREEN + plugin.getName() + " is currently running on the latest version!");
  120. update = false;
  121. }
  122. }
  123. }, 100L);
  124. } else {
  125. Bukkit.getScheduler().scheduleSyncDelayedTask(main, new Runnable() {
  126. @Override
  127. public void run() {
  128. if(PotionMain.getPlugin().getConfig().getBoolean("Check_Updates") == true) {
  129. getServer().getConsoleSender().sendMessage(ChatColor.RED + plugin.getName() + " is not running on the latest version! Download the latest version on: https://www.spigotmc.org/resources/potioneffects.70873/");
  130. update = true;
  131. }
  132. }
  133. }, 100L);
  134. }
  135. } catch (IOException e) {
  136. e.printStackTrace();
  137. }
  138. }
  139. };
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement