Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2018
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.38 KB | None | 0 0
  1. package de.niklas409.griefergames.features.main;
  2. import java.io.BufferedReader;
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.net.HttpURLConnection;
  7. import java.net.URL;
  8.  
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.Effect;
  11. import org.bukkit.Location;
  12. import org.bukkit.Material;
  13. import org.bukkit.configuration.file.FileConfiguration;
  14. import org.bukkit.configuration.file.YamlConfiguration;
  15. import org.bukkit.entity.Player;
  16. import org.bukkit.plugin.Plugin;
  17. import org.bukkit.plugin.java.JavaPlugin;
  18. import de.niklas409.griefergames.features.blocklog.BlockLogCMD;
  19. import de.niklas409.griefergames.features.blocklog.BlockLogListener;
  20. import de.niklas409.griefergames.features.blocklog.MySQL;
  21. import de.niklas409.griefergames.features.clans.ClanCMD;
  22. import de.niklas409.griefergames.features.clans.ClanListener;
  23. import de.niklas409.griefergames.features.cmds.AntiBotCMD;
  24. import de.niklas409.griefergames.features.cmds.BanCMD;
  25. import de.niklas409.griefergames.features.cmds.BankCMD;
  26. import de.niklas409.griefergames.features.cmds.BoldCMD;
  27. import de.niklas409.griefergames.features.cmds.BoosterCMD;
  28. import de.niklas409.griefergames.features.cmds.ClearchatCMD;
  29. import de.niklas409.griefergames.features.cmds.FeuerwerkCMD;
  30. import de.niklas409.griefergames.features.cmds.GGRLCMD;
  31. import de.niklas409.griefergames.features.cmds.GrieferBoostCMD;
  32. import de.niklas409.griefergames.features.cmds.GunCMD;
  33. import de.niklas409.griefergames.features.cmds.JaCMD;
  34. import de.niklas409.griefergames.features.cmds.KopfCMD;
  35. import de.niklas409.griefergames.features.cmds.LuckyBlockCMD;
  36. import de.niklas409.griefergames.features.cmds.MeldungCMD;
  37. import de.niklas409.griefergames.features.cmds.MutepCMD;
  38. import de.niklas409.griefergames.features.cmds.NeinCMD;
  39. import de.niklas409.griefergames.features.cmds.PerkCMD;
  40. import de.niklas409.griefergames.features.cmds.PingCMD;
  41. import de.niklas409.griefergames.features.cmds.PortalCMD;
  42. import de.niklas409.griefergames.features.cmds.PrefixCMD;
  43. import de.niklas409.griefergames.features.cmds.SignCMD;
  44. import de.niklas409.griefergames.features.cmds.SkinCMD;
  45. import de.niklas409.griefergames.features.cmds.SlowchatCMD;
  46. import de.niklas409.griefergames.features.cmds.StartKickCMD;
  47. import de.niklas409.griefergames.features.cmds.StatusCMD;
  48. import de.niklas409.griefergames.features.cmds.UnStartKickCMD;
  49. import de.niklas409.griefergames.features.cmds.UnbanCMD;
  50. import de.niklas409.griefergames.features.cmds.UnmuteCMD;
  51. import de.niklas409.griefergames.features.cmds.UnmutepCMD;
  52. import de.niklas409.griefergames.features.cmds.VanishCMD;
  53. import de.niklas409.griefergames.features.cmds.ViewarmorCMD;
  54. import de.niklas409.griefergames.features.listeners.MainListener;
  55. import de.niklas409.griefergames.features.only.api.cmds.BreakBlockCMD;
  56. import de.niklas409.griefergames.features.only.api.cmds.MenuCMD;
  57. import de.niklas409.griefergames.features.only.api.cmds.MergeCMD;
  58. import de.niklas409.griefergames.features.only.api.cmds.PlayerholoCMD;
  59. import de.niklas409.griefergames.features.only.api.cmds.PremiumCMD;
  60. import de.niklas409.griefergames.features.only.api.cmds.RandCMD;
  61. import de.niklas409.griefergames.features.only.api.cmds.SchildCMD;
  62.  
  63. public class Main extends JavaPlugin {
  64.  
  65. public static String Version = "v2.9";
  66.  
  67. static Main instance;
  68.  
  69. public static Main getInstance() {
  70. return instance;
  71. }
  72.  
  73. public static MySQL mysql;
  74.  
  75. public void onEnable() {
  76.  
  77. Main.instance = this;
  78.  
  79. LuckyBlockEffekte();
  80. loadConfig();
  81. loadSBConfig();
  82. loadMySQLFile();
  83. SBUpdate();
  84.  
  85. String Prefix = getConfig().getString("Prefix").replace("&", "§");
  86. Bukkit.getConsoleSender().sendMessage(Prefix + "§aDas Plugin wurde erfolgreich gestartet!");
  87. Bukkit.getConsoleSender().sendMessage(Prefix + "§6" + Version + " by §2Niklas409");
  88.  
  89. if(isVersionOld(this)) {
  90.  
  91. Bukkit.getConsoleSender().sendMessage(Prefix + "§cDu benutzt eine §4§lalte §cVersion vom Plugin!");
  92.  
  93. } else {
  94.  
  95. Bukkit.getConsoleSender().sendMessage(Prefix + "§aDu benutzt die §2§lneuste §aVersion vom Plugin!");
  96.  
  97. }
  98.  
  99. init();
  100.  
  101. LoadPlayerHolo();
  102.  
  103. LoadBlockLog();
  104.  
  105. LoadBank();
  106.  
  107. LoadPortal();
  108.  
  109. LoadPremium();
  110.  
  111. FlyChecker();
  112.  
  113. LoadMenu();
  114.  
  115. }
  116.  
  117. public void onDisable() {
  118.  
  119. String Prefix = getConfig().getString("Prefix").replace("&", "§");
  120. Bukkit.getConsoleSender().sendMessage(Prefix + "§aDas Plugin wurde erfolgreich beendet!");
  121. Bukkit.getConsoleSender().sendMessage(Prefix + "§6" + Version + " by §2Niklas409");
  122.  
  123. }
  124.  
  125. public void init() {
  126.  
  127. new SlowchatCMD(this);
  128. new ClearchatCMD(this);
  129. new MutepCMD(this);
  130. new StartKickCMD(this);
  131. new JaCMD(this);
  132. new NeinCMD(this);
  133. new KopfCMD(this);
  134. new PrefixCMD(this);
  135. new BoldCMD(this);
  136. new ViewarmorCMD(this);
  137. new UnmutepCMD(this);
  138. new UnStartKickCMD(this);
  139. new RandCMD(this);
  140. new GGRLCMD(this);
  141. new LuckyBlockCMD(this);
  142. new PingCMD(this);
  143. new BanCMD(this);
  144. new UnbanCMD(this);
  145. new UnmuteCMD(this);
  146. new VanishCMD(this);
  147. new ClanCMD(this);
  148. new BreakBlockCMD(this);
  149. new MeldungCMD(this);
  150. new AntiBotCMD(this);
  151. new PerkCMD(this);
  152. new StatusCMD(this);
  153. new FeuerwerkCMD(this);
  154. new GunCMD(this);
  155. new SkinCMD(this);
  156. new MergeCMD(this);
  157. new GrieferBoostCMD(this);
  158. new BoosterCMD(this);
  159. new SignCMD(this);
  160. new SchildCMD(this);
  161.  
  162. new MainListener(this);
  163. new ClanListener(this);
  164.  
  165. }
  166.  
  167. public void LoadPlayerHolo() {
  168.  
  169. if(this.getConfig().getString("/Playerholo").equalsIgnoreCase("true")) {
  170.  
  171. new PlayerholoCMD(this);
  172.  
  173. }
  174. }
  175.  
  176. public void LoadBlockLog() {
  177.  
  178. if(this.getConfig().getString("BlockLog").equalsIgnoreCase("true")) {
  179.  
  180. ConnectMySQLBlockLog();
  181.  
  182. if(MySQL.con != null) {
  183.  
  184. new BlockLogCMD(this);
  185. new BlockLogListener(this);
  186.  
  187. }
  188. }
  189. }
  190.  
  191. public void LoadBank() {
  192.  
  193. if(this.getConfig().getString("BankSettings false/File/MySQL").equalsIgnoreCase("MySQL")) {
  194.  
  195. ConnectMySQLBank();
  196.  
  197. if(MySQL.con != null) {
  198.  
  199. new BankCMD(this);
  200.  
  201. }
  202. } else if(this.getConfig().getString("BankSettings false/File/MySQL").equalsIgnoreCase("File")) {
  203.  
  204. new BankCMD(this);
  205.  
  206. }
  207. }
  208.  
  209. public void LoadPortal() {
  210.  
  211. if(this.getConfig().getString("PortalSettings false/Server/Map").equalsIgnoreCase("Server") || this.getConfig().getString("PortalSettings false/Server/Map").equalsIgnoreCase("Map")) {
  212.  
  213. new PortalCMD(this);
  214.  
  215. }
  216. }
  217.  
  218. public void LoadPremium() {
  219. if(this.getConfig().getString("/Premium").equalsIgnoreCase("true")) {
  220. new PremiumCMD(this);
  221. }
  222. }
  223.  
  224. public void LoadMenu() {
  225. if(this.getConfig().getString("/Menu").equalsIgnoreCase("true")) {
  226. new MenuCMD(this);
  227. }
  228. }
  229.  
  230. public void loadConfig() {
  231.  
  232. getConfig().addDefault("Prefix", "&8[&4&lGG Features&8] &r");
  233. getConfig().addDefault("NoPerms", "&cDazu hast du keine Rechte!");
  234. getConfig().addDefault("Servername", "Server.de");
  235. getConfig().addDefault("UnbanAntragIp", "Server.de");
  236. getConfig().addDefault("StartKickPrefix", "&7[&4&lStart&e&lKick&7] &r");
  237. getConfig().addDefault("NoPermsStartKick", "&cDazu hast du keine Rechte!");
  238. getConfig().addDefault("Shop", "&7Dein Link zum Shop -> &2Vernikt.de");
  239. getConfig().addDefault("WerbungBeimJoinen", "true");
  240. getConfig().addDefault("UpdaterBeimJoinen", "true");
  241. getConfig().addDefault("ClearChatWaitTimeInMinutes", "60");
  242. getConfig().addDefault("KopfWaitTimeInMinutes", "20160");
  243. getConfig().addDefault("MutepWaitTimeInMinutes", "60");
  244. getConfig().addDefault("MutepTime", "15");
  245. getConfig().addDefault("SlowChatWaitTimeInMinutes", "10");
  246. getConfig().addDefault("StartKickWaitTimeInMinutes", "1440");
  247. getConfig().addDefault("PremiumWaitTimeInMinutes", "10080");
  248. getConfig().addDefault("/p", "false");
  249. getConfig().addDefault("/Rand", "false");
  250. getConfig().addDefault("/Menu", "false");
  251. getConfig().addDefault("/Premium", "false");
  252. getConfig().addDefault("PremiumRangName", "Premium");
  253. getConfig().addDefault("PremiumLaengeInTage", "7");
  254. getConfig().addDefault("PlotPreise", 10000);
  255. getConfig().addDefault("NoFallPerk", 500000);
  256. getConfig().addDefault("NoHungerPerk", 250000);
  257. getConfig().addDefault("MutepPerk", 1000000);
  258. getConfig().addDefault("ClearChatPerk", 250000);
  259. getConfig().addDefault("SlowChatPerk", 250000);
  260. getConfig().addDefault("StartKickPerk", 750000);
  261. getConfig().addDefault("ChatSystem[Deaktivieren, wenn es Bugs mit dem Chat gibt]", "true");
  262. getConfig().addDefault("GruenerChatFuerOp", "true");
  263. getConfig().addDefault("ChatPfeile(AK)", "true");
  264. getConfig().addDefault("/Playerholo", "true");
  265. getConfig().addDefault("WieVieleHolosProSpieler", "3");
  266. getConfig().addDefault("ChatLog", "true");
  267. getConfig().addDefault("CommandLog", "true");
  268. getConfig().addDefault("BlockLog", "false");
  269. getConfig().addDefault("PortalSettings false/Server/Map", "false");
  270. getConfig().addDefault("Servername[Bungee-Config] vom PortalServer", "false");
  271. getConfig().addDefault("BankSettings false/File/MySQL", "File");
  272.  
  273. FileConfiguration cfg = this.getConfig();
  274. cfg.options().copyDefaults(true);
  275. saveConfig();
  276.  
  277. }
  278.  
  279. public void loadSBConfig() {
  280.  
  281. File SB = new File("plugins/GrieferGames/Scoreboard.yml");
  282. YamlConfiguration ySB = YamlConfiguration.loadConfiguration(SB);
  283. ySB.addDefault("Info", "Der Titel darf nicht mehr als 16 Zeichen haben! %ONPLAYER% bedeutet wie viele online sind, %MAXPLAYER% bedeutet wie viele maximal auf denn Server duerfen, %ESSENTIALSMONEY% ist das GeldSystem von Essentials, %WORLD% zeigt die Welt an wo man selber ist und %NULL% bedeutet das die Line nicht angezeigt wird.");
  284. ySB.addDefault("Scoreboard", "true");
  285. ySB.addDefault("Sekunden fuer Update", "5");
  286. ySB.addDefault("Titel", "&6Server.de");
  287. ySB.addDefault("Line13", "&1 ");
  288. ySB.addDefault("Line12", "&7> &3&lServer");
  289. ySB.addDefault("Line11", "&fCB1");
  290. ySB.addDefault("Line10", "&2 ");
  291. ySB.addDefault("Line9", "&7> &3&lOnline");
  292. ySB.addDefault("Line8", "&f%ONPLAYER%/%MAXPLAYER%");
  293. ySB.addDefault("Line7", "&3 ");
  294. ySB.addDefault("Line6", "&7> &3&lKontostand");
  295. ySB.addDefault("Line5", "&f%ESSENTIALSMONEY%");
  296. ySB.addDefault("Line4", "&4 ");
  297. ySB.addDefault("Line3", "&7> &3&lShop");
  298. ySB.addDefault("Line2", "&fServer.de");
  299. ySB.addDefault("Line1", "&5 ");
  300.  
  301. ySB.options().copyDefaults(true);
  302.  
  303. try {
  304. ySB.save(SB);
  305. } catch (IOException e) {
  306. e.printStackTrace();
  307. }
  308. }
  309.  
  310. public void loadMySQLFile() {
  311.  
  312. File MySQL = new File("plugins/GrieferGames/MySQL.yml");
  313. YamlConfiguration yMySQL = YamlConfiguration.loadConfiguration(MySQL);
  314.  
  315. yMySQL.addDefault("Info", "Die MySQL wird derzeit fuer BlockLog und der Bank benoetigt, solltest du dies nicht brauchen kannst du das einfach in der Config ausstellen.");
  316.  
  317. yMySQL.addDefault("MySQL" + ".Host", "localhost");
  318. yMySQL.addDefault("MySQL" + ".Port", "3306");
  319. yMySQL.addDefault("MySQL" + ".Database", "gg");
  320. yMySQL.addDefault("MySQL" + ".User", "root");
  321. yMySQL.addDefault("MySQL" + ".Password", "123");
  322.  
  323. yMySQL.options().copyDefaults(true);
  324.  
  325. try {
  326. yMySQL.save(MySQL);
  327. } catch (IOException e) {
  328. e.printStackTrace();
  329. }
  330. }
  331.  
  332. public static void reload() {
  333.  
  334. Bukkit.getPluginManager().getPlugin("GrieferGames").getConfig();
  335. Bukkit.getPluginManager().getPlugin("GrieferGames").reloadConfig();
  336. }
  337.  
  338. public void LuckyBlockEffekte() {
  339.  
  340. Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  341.  
  342. @Override
  343. public void run() {
  344.  
  345. try {
  346. for(Location loc : MainListener.LuckyBlockSaver) {
  347. if(loc.getBlock().getType() == Material.SPONGE) {
  348. loc.getWorld().playEffect(new Location(loc.getWorld(), loc.getX()+1, loc.getY(), loc.getZ()), Effect.MOBSPAWNER_FLAMES, 1);
  349. loc.getWorld().playEffect(new Location(loc.getWorld(), loc.getX()-1, loc.getY(), loc.getZ()), Effect.MOBSPAWNER_FLAMES, 1);
  350. loc.getWorld().playEffect(new Location(loc.getWorld(), loc.getX(), loc.getY(), loc.getZ()+1), Effect.MOBSPAWNER_FLAMES, 1);
  351. loc.getWorld().playEffect(new Location(loc.getWorld(), loc.getX(), loc.getY(), loc.getZ()-1), Effect.MOBSPAWNER_FLAMES, 1);
  352. } else {
  353.  
  354. MainListener.LuckyBlockSaver.remove(loc);
  355.  
  356. }
  357. }
  358. } catch(Exception e1) {}
  359. }
  360. }, 0, 18);
  361. }
  362.  
  363. private void SBUpdate() {
  364.  
  365. File SB = new File("plugins/GrieferGames/Scoreboard.yml");
  366. YamlConfiguration ySB = YamlConfiguration.loadConfiguration(SB);
  367.  
  368. if(ySB.getString("Scoreboard").equalsIgnoreCase("true")) {
  369. Integer Zahl = Integer.valueOf(ySB.getString("Sekunden fuer Update"));
  370.  
  371. Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  372.  
  373. @Override
  374. public void run() {
  375.  
  376. for(Player all : Bukkit.getOnlinePlayers()) {
  377. Scoreboard.sendScoreboard(all);
  378. }
  379.  
  380. }
  381. }, 0, 20*Zahl);
  382. }
  383. }
  384.  
  385. private void ConnectMySQLBlockLog() {
  386.  
  387. File MySQL = new File("plugins/GrieferGames/MySQL.yml");
  388. YamlConfiguration yMySQL = YamlConfiguration.loadConfiguration(MySQL);
  389.  
  390. String Host = yMySQL.getString("MySQL" + ".Host");
  391. String Port = yMySQL.getString("MySQL" + ".Port");
  392. String Database = yMySQL.getString("MySQL" + ".Database");
  393. String User = yMySQL.getString("MySQL" + ".User");
  394. String Password = yMySQL.getString("MySQL" + ".Password");
  395.  
  396. mysql = new MySQL(Host, Port, Database, User, Password);
  397. mysql.update("CREATE TABLE IF NOT EXISTS BlöckeAbbauen(Location varchar(1000),Block varchar(1000), SpielerUUID varchar(1000),Datum varchar(1000), Uhrzeit varchar(1000));");
  398. mysql.update("CREATE TABLE IF NOT EXISTS BlöckeBauen(Location varchar(1000),Block varchar(1000), SpielerUUID varchar(1000),Datum varchar(1000), Uhrzeit varchar(1000));");
  399. }
  400.  
  401. private void ConnectMySQLBank() {
  402.  
  403. File MySQL = new File("plugins/GrieferGames/MySQL.yml");
  404. YamlConfiguration yMySQL = YamlConfiguration.loadConfiguration(MySQL);
  405.  
  406. String Host = yMySQL.getString("MySQL" + ".Host");
  407. String Port = yMySQL.getString("MySQL" + ".Port");
  408. String Database = yMySQL.getString("MySQL" + ".Database");
  409. String User = yMySQL.getString("MySQL" + ".User");
  410. String Password = yMySQL.getString("MySQL" + ".Password");
  411.  
  412. mysql = new MySQL(Host, Port, Database, User, Password);
  413. mysql.update("CREATE TABLE IF NOT EXISTS Bank(UUID varchar(1000), Geld Int(16));");
  414. }
  415.  
  416. public static boolean isVersionOld(Plugin pl) {
  417.  
  418. String Prefix = pl.getConfig().getString("Prefix").replace("&", "§");
  419.  
  420. String newVersion = "";
  421. String oldVersion = "";
  422.  
  423. try {
  424. HttpURLConnection c = (HttpURLConnection)new URL("https://api.spigotmc.org/legacy/update.php?resource=46956").openConnection();
  425. c.setDoOutput(true);
  426. c.setRequestMethod("POST");
  427. c.getOutputStream().write(("key=98BE0FE67F88AB82B4C197FAF1DC3B69206EFDCC4D3B80FC83A00037510B99B4&resource=46956").getBytes("UTF-8"));
  428. oldVersion = Version.substring(1);
  429. newVersion = new BufferedReader(new InputStreamReader(c.getInputStream())).readLine().replaceAll("[a-zA-Z ]", "");
  430. newVersion = newVersion.substring(1);
  431. }
  432. catch(Exception e) {
  433. Bukkit.getConsoleSender().sendMessage(Prefix + "§4§lFehler: §a" + e.getMessage());
  434. }
  435.  
  436. if(newVersion.equals(oldVersion)) {
  437.  
  438. return false;
  439.  
  440. } else {
  441.  
  442. return true;
  443.  
  444. }
  445. }
  446.  
  447. public static String getNewVersion() {
  448.  
  449. String newVersion = "";
  450.  
  451. try {
  452. HttpURLConnection c = (HttpURLConnection)new URL("https://api.spigotmc.org/legacy/update.php?resource=46956").openConnection();
  453. c.setDoOutput(true);
  454. c.setRequestMethod("POST");
  455. c.getOutputStream().write(("key=98BE0FE67F88AB82B4C197FAF1DC3B69206EFDCC4D3B80FC83A00037510B99B4&resource=46956").getBytes("UTF-8"));
  456. newVersion = new BufferedReader(new InputStreamReader(c.getInputStream())).readLine().replaceAll("[a-zA-Z ]", "");
  457. newVersion = newVersion.substring(1);
  458. } catch(Exception e) {
  459. }
  460. return newVersion;
  461.  
  462. }
  463.  
  464. public void FlyChecker() {
  465.  
  466. Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  467.  
  468. @Override
  469. public void run() {
  470.  
  471. if(BoosterCMD.FlyB != 0) {
  472. for(Player all : Bukkit.getOnlinePlayers()) {
  473. all.setAllowFlight(true);
  474. }
  475. }
  476. }
  477. }, 0, 20*10);
  478. }
  479.  
  480. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement