Advertisement
Guest User

MainListener

a guest
Apr 28th, 2019
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 108.94 KB | None | 0 0
  1. package de.niklas409.griefergames.features.listeners;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.lang.reflect.Constructor;
  6. import java.math.BigDecimal;
  7. import java.text.SimpleDateFormat;
  8. import java.util.ArrayList;
  9. import java.util.Date;
  10. import java.util.HashMap;
  11. import java.util.List;
  12. import org.bukkit.Bukkit;
  13. import org.bukkit.Color;
  14. import org.bukkit.Effect;
  15. import org.bukkit.FireworkEffect;
  16. import org.bukkit.GameMode;
  17. import org.bukkit.Location;
  18. import org.bukkit.Material;
  19. import org.bukkit.Sound;
  20. import org.bukkit.configuration.file.YamlConfiguration;
  21. import org.bukkit.enchantments.Enchantment;
  22. import org.bukkit.entity.EntityType;
  23. import org.bukkit.entity.Firework;
  24. import org.bukkit.entity.Player;
  25. import org.bukkit.entity.Snowball;
  26. import org.bukkit.event.EventHandler;
  27. import org.bukkit.event.Listener;
  28. import org.bukkit.event.block.Action;
  29. import org.bukkit.event.block.BlockBreakEvent;
  30. import org.bukkit.event.block.BlockPlaceEvent;
  31. import org.bukkit.event.block.SignChangeEvent;
  32. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  33. import org.bukkit.event.entity.EntityDamageEvent;
  34. import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
  35. import org.bukkit.event.entity.EntityDeathEvent;
  36. import org.bukkit.event.entity.FoodLevelChangeEvent;
  37. import org.bukkit.event.entity.ProjectileHitEvent;
  38. import org.bukkit.event.entity.ProjectileLaunchEvent;
  39. import org.bukkit.event.inventory.InventoryClickEvent;
  40. import org.bukkit.event.player.AsyncPlayerChatEvent;
  41. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  42. import org.bukkit.event.player.PlayerExpChangeEvent;
  43. import org.bukkit.event.player.PlayerInteractEvent;
  44. import org.bukkit.event.player.PlayerJoinEvent;
  45. import org.bukkit.event.player.PlayerLoginEvent;
  46. import org.bukkit.event.player.PlayerLoginEvent.Result;
  47. import org.bukkit.event.player.PlayerPickupItemEvent;
  48. import org.bukkit.event.player.PlayerQuitEvent;
  49. import org.bukkit.inventory.AnvilInventory;
  50. import org.bukkit.inventory.Inventory;
  51. import org.bukkit.inventory.InventoryView;
  52. import org.bukkit.inventory.ItemStack;
  53. import org.bukkit.inventory.meta.FireworkMeta;
  54. import org.bukkit.inventory.meta.ItemMeta;
  55. import org.bukkit.plugin.Plugin;
  56. import org.bukkit.plugin.PluginManager;
  57. import com.earth2me.essentials.Essentials;
  58. import com.github.intellectualsites.plotsquared.api.PlotAPI;
  59. import com.github.intellectualsites.plotsquared.*;
  60. import com.intellectualcrafters.plot.object.PlotBlock;
  61. import de.niklas409.griefergames.features.blocklog.MySQL;
  62. import de.niklas409.griefergames.features.clans.ClanListener;
  63. import de.niklas409.griefergames.features.cmds.BanCMD;
  64. import de.niklas409.griefergames.features.cmds.BoldCMD;
  65. import de.niklas409.griefergames.features.cmds.BoosterCMD;
  66. import de.niklas409.griefergames.features.cmds.LuckyBlockCMD;
  67. import de.niklas409.griefergames.features.cmds.MeldungCMD;
  68. import de.niklas409.griefergames.features.cmds.MutepCMD;
  69. import de.niklas409.griefergames.features.cmds.SlowchatCMD;
  70. import de.niklas409.griefergames.features.cmds.StartKickCMD;
  71. import de.niklas409.griefergames.features.cmds.VanishCMD;
  72. import de.niklas409.griefergames.features.cmds.ViewarmorCMD;
  73. import de.niklas409.griefergames.features.main.ItemBuilder;
  74. import de.niklas409.griefergames.features.main.Main;
  75. import de.niklas409.griefergames.features.main.Scoreboard;
  76. import de.niklas409.griefergames.features.main.UUIDFetcher;
  77. import de.niklas409.griefergames.features.only.api.cmds.BreakBlockCMD;
  78. import de.niklas409.griefergames.features.only.api.cmds.MergeCMD;
  79. import de.niklas409.griefergames.features.only.api.cmds.Reflect;
  80. import de.niklas409.griefergames.features.only.api.cmds.SchildCMD;
  81. import net.md_5.bungee.api.ChatColor;
  82. import net.md_5.bungee.api.chat.ClickEvent;
  83. import net.md_5.bungee.api.chat.ComponentBuilder;
  84. import net.md_5.bungee.api.chat.HoverEvent;
  85. import net.md_5.bungee.api.chat.TextComponent;
  86.  
  87. @SuppressWarnings("deprecation")
  88. public class MainListener implements Listener {
  89.  
  90. public static ArrayList<String> slowchatpause = new ArrayList<>();
  91. public static ArrayList<String> rand = new ArrayList<>();
  92.  
  93. public static ArrayList<Location> LuckyBlockSaver = new ArrayList<>();
  94.  
  95. public static HashMap<Player, String> Name = new HashMap<Player, String>();
  96.  
  97. public static HashMap<Player, Material> guntype = new HashMap<Player, Material>();
  98.  
  99. public static HashMap<Location, Material> gunblock = new HashMap<Location, Material>();
  100. public static HashMap<Location, Byte> gunblockdata = new HashMap<Location, Byte>();
  101.  
  102. public static ArrayList<Location> guncheck = new ArrayList<>();
  103.  
  104. public static ArrayList<String> gunwait = new ArrayList<>();
  105.  
  106. public static HashMap<Player, String> menucanceltap = new HashMap<Player, String>();
  107.  
  108. public static File Prefix2 = new File("plugins/GrieferGames/Data/Prefix.yml");
  109. public static YamlConfiguration yPrefix = YamlConfiguration.loadConfiguration(Prefix2);
  110.  
  111. private Main plugin;
  112.  
  113. public MainListener(Main plugin) {
  114. this.plugin = plugin;
  115. plugin.getServer().getPluginManager().registerEvents(this, plugin);
  116. }
  117.  
  118. @EventHandler
  119. public void onSlowchat(AsyncPlayerChatEvent e) {
  120.  
  121. Player p = e.getPlayer();
  122.  
  123. if(!p.hasPermission("system.slowchat.bypass")) {
  124. if(SlowchatCMD.slowchat.contains("true")) {
  125. if(!slowchatpause.contains(p.getName())) {
  126.  
  127. Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
  128.  
  129. @Override
  130. public void run() {
  131.  
  132. slowchatpause.add(p.getName());
  133.  
  134. }
  135. }, 1);
  136.  
  137. Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
  138.  
  139. @Override
  140. public void run() {
  141.  
  142. slowchatpause.remove(p.getName());
  143.  
  144. }
  145. }, 20*3);
  146. } else if(slowchatpause.contains(p.getName())){
  147. e.setCancelled(true);
  148. p.sendMessage("§eDu kannst nur jede 3 Sekunden schreiben.");
  149. }
  150. }
  151. } else {
  152.  
  153. }
  154. }
  155.  
  156. @EventHandler
  157. public void onMutep(AsyncPlayerChatEvent e) {
  158.  
  159. Player p = e.getPlayer();
  160. String name = p.getName();
  161.  
  162. if(MutepCMD.Mutep_cfg.get(name) == null) {
  163.  
  164.  
  165.  
  166. } else if(MutepCMD.Mutep_cfg.getLong(name) < System.currentTimeMillis()) {
  167.  
  168. MutepCMD.Mutep_cfg.set(name, null);
  169.  
  170. try {
  171. MutepCMD.Mutep_cfg.save(MutepCMD.Mutep);
  172. } catch (IOException e2) {
  173. e2.printStackTrace();
  174. }
  175. } else {
  176.  
  177. e.setCancelled(true);
  178.  
  179. Date date = new Date(MutepCMD.Mutep_cfg.getLong(name));
  180. String hour_min = new SimpleDateFormat("HH:mm").format(date);
  181.  
  182. String MutepPlayer = MutepCMD.Mutep_cfg.getString(p.getName() + " mutet by");
  183.  
  184. p.sendMessage("§eDu bist noch bis §c" + hour_min +" §eUhr gemutet. §b" + MutepPlayer + " §ehat dich gestummt.");
  185. }
  186.  
  187. }
  188.  
  189. @EventHandler
  190. public void onVoting(AsyncPlayerChatEvent e) {
  191.  
  192. Player p = e.getPlayer();
  193.  
  194. String PrefixStartKick = plugin.getConfig().getString("StartKickPrefix").replace("&", "§");
  195.  
  196. if(StartKickCMD.voting.contains("true")) {
  197. if(!p.hasPermission("system.startkick.chat.bypass")) {
  198.  
  199. e.setCancelled(true);
  200. p.sendMessage(PrefixStartKick + "§7Derzeit läuft ein StartKick, daher kannst du" + "\n" + " §7nichts schreiben!");
  201. p.sendMessage(PrefixStartKick + "§7Abstimmen kannst du mit §a/ja §7für den Rauswurf" + "\n" + " §7und §c/nein §7gegen den Rauswurf des Spielers §b!");
  202.  
  203. } else {
  204. e.setFormat(PrefixStartKick + "§8: §a" + p.getName() + " §7>> §e§l" + e.getMessage());
  205. }
  206. }
  207. }
  208.  
  209. @EventHandler
  210. public void onStartKickBanned(PlayerLoginEvent e) {
  211.  
  212. Player p = e.getPlayer();
  213. String name = p.getName();
  214.  
  215. if(StartKickCMD.Banned_cfg.get(name) == null) {
  216.  
  217.  
  218.  
  219. } else if(StartKickCMD.Banned_cfg.getLong(name) < System.currentTimeMillis()) {
  220.  
  221. StartKickCMD.Banned_cfg.set(name, null);
  222.  
  223. try {
  224. StartKickCMD.Banned_cfg.save(StartKickCMD.Banned);
  225. } catch (IOException e2) {
  226. e2.printStackTrace();
  227. }
  228. } else {
  229.  
  230. Date date = new Date(StartKickCMD.Banned_cfg.getLong(name));
  231. String mm_dd_yyyy = new SimpleDateFormat("dd.MM.yyyy").format(date);
  232. String hour_min = new SimpleDateFormat("HH:mm").format(date);
  233.  
  234. e.disallow(Result.KICK_BANNED, "§4§lStart§e§lKick" + "\n" + "\n" + " §cDu wurdest von der Community" + "\n" + " §cfür §e5 Minuten §causgeschlossen!" + "\n" + "\n" + "§eVersuch es nochmal am §a" + mm_dd_yyyy + " §eum §a" + hour_min + " §eUhr§7!");
  235.  
  236. }
  237.  
  238. }
  239.  
  240. @EventHandler
  241. public void Inventory(InventoryClickEvent e) {
  242.  
  243. Player p = (Player) e.getWhoClicked();
  244.  
  245. try {
  246.  
  247. if(e.getInventory().getName().equalsIgnoreCase("§bPrefix Auswahl")) {
  248.  
  249. e.setCancelled(true);
  250.  
  251. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  252. String NoPerms = plugin.getConfig().getString("NoPerms").replace("&", "§");
  253. String Shop = plugin.getConfig().getString("Shop").replace("&", "§");
  254.  
  255. if(e.getCurrentItem().getType() == Material.STAINED_GLASS_PANE) {
  256. if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6Goldener Name")) {
  257. if(p.hasPermission("system.prefix.gold")) {
  258. plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "pex user " + p.getName() + " prefix \"§6\"");
  259. p.kickPlayer(Prefix + "§2Dein Prefix wird geändert ...");
  260.  
  261. if(yPrefix.getString(p.getName() + ".Prefix") == null) {
  262. yPrefix.set(p.getName() + ".Prefix", "Gold");
  263. try {
  264. yPrefix.save(Prefix2);
  265. } catch (IOException e1) {
  266. e1.printStackTrace();
  267. }
  268. } else {
  269. yPrefix.set(p.getName() + ".Prefix", "Gold");
  270. try {
  271. yPrefix.save(Prefix2);
  272. } catch (IOException e1) {
  273. e1.printStackTrace();
  274. }
  275.  
  276. }
  277. } else {
  278. p.closeInventory();
  279. p.sendMessage(NoPerms);
  280. }
  281. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§cRoter Name")) {
  282. if(p.hasPermission("system.prefix.rot")) {
  283. plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "pex user " + p.getName() + " prefix \"§c\"");
  284. p.kickPlayer(Prefix + "§2Dein Prefix wird geändert ...");
  285. if(yPrefix.getString(p.getName() + ".Prefix") == null) {
  286. yPrefix.set(p.getName() + ".Prefix", "Rot");
  287. try {
  288. yPrefix.save(Prefix2);
  289. } catch (IOException e1) {
  290. e1.printStackTrace();
  291. }
  292. } else {
  293. yPrefix.set(p.getName() + ".Prefix", "Rot");
  294. try {
  295. yPrefix.save(Prefix2);
  296. } catch (IOException e1) {
  297. e1.printStackTrace();
  298. }
  299.  
  300. }
  301. } else {
  302. p.closeInventory();
  303. p.sendMessage(NoPerms);
  304. }
  305. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§bBlauer Name")) {
  306. if(p.hasPermission("system.prefix.blau")) {
  307. plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "pex user " + p.getName() + " prefix \"§b\"");
  308. p.kickPlayer(Prefix + "§2Dein Prefix wird geändert ...");
  309. if(yPrefix.getString(p.getName() + ".Prefix") == null) {
  310. yPrefix.set(p.getName() + ".Prefix", "Blau");
  311. try {
  312. yPrefix.save(Prefix2);
  313. } catch (IOException e1) {
  314. e1.printStackTrace();
  315. }
  316. } else {
  317. yPrefix.set(p.getName() + ".Prefix", "Blau");
  318. try {
  319. yPrefix.save(Prefix2);
  320. } catch (IOException e1) {
  321. e1.printStackTrace();
  322. }
  323.  
  324. }
  325. } else {
  326. p.closeInventory();
  327. p.sendMessage(NoPerms);
  328. }
  329.  
  330. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aGrüner Name")) {
  331. if(p.hasPermission("system.prefix.grün")) {
  332. plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "pex user " + p.getName() + " prefix \"§a\"");
  333. p.kickPlayer(Prefix + "§2Dein Prefix wird geändert ...");
  334. if(yPrefix.getString(p.getName() + ".Prefix") == null) {
  335. yPrefix.set(p.getName() + ".Prefix", "Grün");
  336. try {
  337. yPrefix.save(Prefix2);
  338. } catch (IOException e1) {
  339. e1.printStackTrace();
  340. }
  341. } else {
  342. yPrefix.set(p.getName() + ".Prefix", "Grün");
  343. try {
  344. yPrefix.save(Prefix2);
  345. } catch (IOException e1) {
  346. e1.printStackTrace();
  347. }
  348.  
  349. }
  350. } else {
  351. p.closeInventory();
  352. p.sendMessage(NoPerms);
  353. }
  354.  
  355. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§c§kMagischer Name")) {
  356. if(p.hasPermission("system.prefix.magisch")) {
  357. plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "pex user " + p.getName() + " prefix \"§c§k\"");
  358. p.kickPlayer(Prefix + "§2Dein Prefix wird geändert ...");
  359. if(yPrefix.getString(p.getName() + ".Prefix") == null) {
  360. yPrefix.set(p.getName() + ".Prefix", "Magisch");
  361. try {
  362. yPrefix.save(Prefix2);
  363. } catch (IOException e1) {
  364. e1.printStackTrace();
  365. }
  366. } else {
  367. yPrefix.set(p.getName() + ".Prefix", "Magisch");
  368. try {
  369. yPrefix.save(Prefix2);
  370. } catch (IOException e1) {
  371. e1.printStackTrace();
  372. }
  373.  
  374. }
  375. } else {
  376. p.closeInventory();
  377. p.sendMessage(NoPerms);
  378. }
  379.  
  380. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§7Farbe entfernen")) {
  381.  
  382. plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "pex user " + p.getName() + " prefix \"\"");
  383. p.kickPlayer(Prefix + "§2Dein Prefix wird geändert ...");
  384.  
  385. if(yPrefix.getString(p.getName() + ".Prefix") == null) {
  386. yPrefix.set(p.getName() + ".Prefix", null);
  387. try {
  388. yPrefix.save(Prefix2);
  389. } catch (IOException e1) {
  390. e1.printStackTrace();
  391. }
  392. } else {
  393. yPrefix.set(p.getName() + ".Prefix", null);
  394. try {
  395. yPrefix.save(Prefix2);
  396. } catch (IOException e1) {
  397. e1.printStackTrace();
  398. }
  399.  
  400. }
  401.  
  402. }
  403. } else if(e.getCurrentItem().getType() == Material.NETHER_STAR) {
  404. if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6Zum Shop")) {
  405.  
  406. p.closeInventory();
  407.  
  408. p.sendMessage(Shop);
  409.  
  410. }
  411. }
  412. } else if(e.getInventory().getName().equalsIgnoreCase(ViewarmorCMD.Name.get(p))) {
  413.  
  414. e.setCancelled(true);
  415.  
  416. }
  417. } catch (Exception e1) {}
  418. }
  419.  
  420. @EventHandler
  421. public void onChatSystem(AsyncPlayerChatEvent e) {
  422.  
  423. if(plugin.getConfig().getString("ChatSystem[Deaktivieren, wenn es Bugs mit dem Chat gibt]").equalsIgnoreCase("true")) {
  424.  
  425. Player p = e.getPlayer();
  426.  
  427. if(plugin.getConfig().getString("GruenerChatFuerOp").equalsIgnoreCase("true")) {
  428. if(p.hasPermission("system.chat.green")) {
  429.  
  430. e.setMessage("§a§l" + e.getMessage());
  431.  
  432. }
  433. }
  434.  
  435. if(BoldCMD.yBold.getString(p.getName()) != null) {
  436. if(BoldCMD.yBold.getString(p.getName()).equalsIgnoreCase("on")) {
  437.  
  438. e.setMessage("§b§l" + e.getMessage());
  439.  
  440. }
  441. }
  442.  
  443. if(plugin.getConfig().getString("ChatPfeile(AK)").equalsIgnoreCase("true")) {
  444. if(p.hasPermission("System.Chat.AK")) {
  445. if(ClanListener.yClans.getString("Spieler" + "." + p.getName() + ".Clan") != null) {
  446.  
  447. String Clanname = ClanListener.yClans.getString("Spieler" + "." + p.getName() + ".Clan");
  448. String Tag = ClanListener.yClans.getString("Clans" + "." + Clanname + ".Kuerzel");
  449. String Suffix = " §6[" + Tag + "]";
  450.  
  451. e.setFormat("§8»" + "\n" + "§r" + p.getDisplayName() + Suffix + " §8: §r" + e.getMessage() + "\n" + "§8»");
  452. } else {
  453. e.setFormat("§8»" + "\n" + "§r" + p.getDisplayName() + " §8: §r" + e.getMessage() + "\n" + "§8»");
  454. }
  455. } else {
  456. if(ClanListener.yClans.getString("Spieler" + "." + p.getName() + ".Clan") != null) {
  457.  
  458. String Clanname = ClanListener.yClans.getString("Spieler" + "." + p.getName() + ".Clan");
  459. String Tag = ClanListener.yClans.getString("Clans" + "." + Clanname + ".Kuerzel");
  460. String Suffix = " §6[" + Tag + "]";
  461.  
  462. e.setFormat(p.getDisplayName() + Suffix + " §8: §r" + e.getMessage());
  463. } else {
  464. e.setFormat(p.getDisplayName() + " §8: §r" + e.getMessage());
  465. }
  466. }
  467. } else {
  468. if(ClanListener.yClans.getString("Spieler" + "." + p.getName() + ".Clan") != null) {
  469.  
  470. String Clanname = ClanListener.yClans.getString("Spieler" + "." + p.getName() + ".Clan");
  471. String Tag = ClanListener.yClans.getString("Clans" + "." + Clanname + ".Kuerzel");
  472. String Suffix = " §6[" + Tag + "]";
  473.  
  474. e.setFormat(p.getDisplayName() + Suffix + " §8: §r" + e.getMessage());
  475. } else {
  476. e.setFormat(p.getDisplayName() + " §8: §r" + e.getMessage());
  477. }
  478. }
  479. }
  480. }
  481.  
  482. @EventHandler
  483. public void onSB(PlayerJoinEvent e) {
  484.  
  485. Player p = e.getPlayer();
  486.  
  487. File SB = new File("plugins/GrieferGames/Scoreboard.yml");
  488. YamlConfiguration ySB = YamlConfiguration.loadConfiguration(SB);
  489.  
  490. if(ySB.getString("Scoreboard").equalsIgnoreCase("true")) {
  491. Scoreboard.sendScoreboard(p);
  492. }
  493. }
  494.  
  495. @EventHandler
  496. public void onJoin(PlayerJoinEvent e) {
  497.  
  498. Player p = e.getPlayer();
  499.  
  500. File Config = new File("plugins/GrieferGames/config.yml");
  501. YamlConfiguration yConfig = YamlConfiguration.loadConfiguration(Config);
  502.  
  503. try {
  504.  
  505. if(yConfig.getString("WerbungBeimJoinen").contains("true")) {
  506.  
  507. TextComponent tc = new TextComponent();
  508. tc.setText("§8[§4§lGG Features§8] §6" + Main.Version + " by §2Niklas409 §6click for details.");
  509. tc.setBold(true);
  510. tc.setClickEvent(new ClickEvent(net.md_5.bungee.api.chat.ClickEvent.Action.RUN_COMMAND,("/gg")));
  511. tc.setHoverEvent(new HoverEvent(net.md_5.bungee.api.chat.HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§6click for details").create()));
  512.  
  513. p.spigot().sendMessage(tc);
  514.  
  515. }
  516. } catch(Exception e1) {}
  517.  
  518. Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
  519.  
  520. @Override
  521. public void run() {
  522.  
  523. if(yConfig.getString("UpdaterBeimJoinen").contains("true")) {
  524. if(p.hasPermission("system.updater")) {
  525. if(Main.isVersionOld(plugin)) {
  526.  
  527. p.playSound(p.getLocation(), Sound.LEVEL_UP, 1, 1);
  528.  
  529. p.sendMessage("┌────────────[§2§lGG Features§r]────────────┐");
  530. p.sendMessage("§6§lUPDATE: §4§lv." + Main.getNewVersion() + "\n" + "§6§lDownload: §b§lhttps://www.spigotmc.org/resources/gg-features.46956/");
  531. p.sendMessage("└────────────[§2§lGG Features§r]────────────┘");
  532. }
  533. }
  534. }
  535.  
  536. }
  537. }, 20);
  538.  
  539. }
  540.  
  541. @EventHandler
  542. public void onJoin2(PlayerJoinEvent e) {
  543.  
  544. Player p = e.getPlayer();
  545.  
  546. try {
  547. if(yPrefix.getString(p.getName() + ".Prefix").contains("Gold")) {
  548.  
  549. p.setPlayerListName("§6" + p.getName());
  550. p.setDisplayName("§6" + p.getName() + "§r");
  551.  
  552. } else if(yPrefix.getString(p.getName() + ".Prefix").contains("Rot")) {
  553.  
  554. p.setPlayerListName("§c" + p.getName());
  555. p.setDisplayName("§c" + p.getName() + "§r");
  556.  
  557. } else if(yPrefix.getString(p.getName() + ".Prefix").contains("Blau")) {
  558.  
  559. p.setPlayerListName("§b" + p.getName());
  560. p.setDisplayName("§b" + p.getName() + "§r");
  561.  
  562. } else if(yPrefix.getString(p.getName() + ".Prefix").contains("Grün")) {
  563.  
  564. p.setPlayerListName("§a" + p.getName());
  565. p.setDisplayName("§a" + p.getName() + "§r");
  566.  
  567. } else if(yPrefix.getString(p.getName() + ".Prefix").contains("Magisch")) {
  568.  
  569. p.setPlayerListName("§c§k" + p.getName());
  570. p.setDisplayName("§c§k" + p.getName() + "§r");
  571.  
  572. }
  573. } catch(Exception e1) {}
  574. }
  575.  
  576. @EventHandler
  577. public void onJoin3(PlayerLoginEvent e) {
  578.  
  579. Player p = e.getPlayer();
  580.  
  581. if(StartKickCMD.voting.contains("true")) {
  582. if(StartKickCMD.Name.get("N").contains(p.getName())) {
  583.  
  584. e.disallow(Result.KICK_BANNED, "§4§lStart§e§lKick" + "\n" + "\n" + " §cEs wird gerade entschieden ob" + "\n" + "du im Spiel bleiben darfst oder nicht!" + "\n" + "§cAus diesem Grund kannst du nicht relogen!");
  585.  
  586. }
  587. }
  588. }
  589.  
  590. @EventHandler
  591. public void onClick(InventoryClickEvent e) {
  592.  
  593. try {
  594. Player p = (Player) e.getWhoClicked();
  595.  
  596. if(e.getInventory().getName().equalsIgnoreCase("§eGS Menu")) {
  597.  
  598. e.setCancelled(true);
  599.  
  600. if(e.getCurrentItem().getType() == Material.ACACIA_FENCE_GATE) {
  601. if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§2Teleport GS 1")) {
  602.  
  603. p.closeInventory();
  604.  
  605. p.chat("/plot h 1");
  606.  
  607. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§2Teleport GS 2")) {
  608.  
  609. p.closeInventory();
  610.  
  611. p.chat("/plot h 2");
  612.  
  613. }
  614. } else if(e.getCurrentItem().getType() == Material.DIAMOND_SWORD) {
  615. if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§ePvP aktivieren")) {
  616.  
  617. p.closeInventory();
  618.  
  619. p.chat("/plot flag set pvp allow");
  620.  
  621. }
  622. } else if(e.getCurrentItem().getType() == Material.STONE_SWORD) {
  623. if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§cPvP deaktivieren")) {
  624.  
  625. p.closeInventory();
  626.  
  627. p.chat("/plot flag set pvp deny");
  628.  
  629. }
  630. }
  631. }
  632. } catch(Exception e1) {}
  633. }
  634.  
  635. @EventHandler
  636. public void onCMD(PlayerCommandPreprocessEvent e) {
  637.  
  638. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  639.  
  640. Player p = e.getPlayer();
  641.  
  642. String[] cmd = e.getMessage().substring(1).split(" ");
  643.  
  644. if(cmd.length == 1) {
  645. if(cmd[0].equalsIgnoreCase("p")) {
  646.  
  647. e.setCancelled(true);
  648.  
  649. if(plugin.getConfig().getString("/p").equalsIgnoreCase("true")) {
  650.  
  651. PluginManager manager = Bukkit.getServer().getPluginManager();
  652. final Plugin plotsquared = manager.getPlugin("PlotSquared");
  653.  
  654. if(plotsquared == null || !plotsquared.isEnabled()) {
  655. if(p.hasPermission("system.p.error.see")) {
  656. e.setCancelled(true);
  657. p.sendMessage(Prefix + "§4Der Command /p konnte nicht aktiviert werden!");
  658. } else {
  659. e.setCancelled(true);
  660. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  661. }
  662.  
  663. if(plotsquared != null && plotsquared.isEnabled()) {
  664. } else {
  665. e.setCancelled(true);
  666. if(p.hasPermission("system.p.error.see")) {
  667. p.sendMessage(Prefix + "§4Du benötigst das Plugin PlotSquared!");
  668. }
  669. }
  670.  
  671. } else {
  672.  
  673. Inventory GS = Bukkit.createInventory(null, 9*1, "§eGS Menu");
  674.  
  675. ItemStack istack1 = new ItemStack(Material.ACACIA_FENCE_GATE);
  676. ItemMeta istackMeta1 = istack1.getItemMeta();
  677. istackMeta1.setDisplayName("§2Teleport GS 1");
  678. istack1.setItemMeta(istackMeta1);
  679.  
  680. ItemStack istack2 = new ItemStack(Material.ACACIA_FENCE_GATE, 2);
  681. ItemMeta istackMeta2 = istack2.getItemMeta();
  682. istackMeta2.setDisplayName("§2Teleport GS 2");
  683. istack2.setItemMeta(istackMeta2);
  684.  
  685. ItemStack istack3 = new ItemStack(Material.DIAMOND_SWORD);
  686. ItemMeta istackMeta3 = istack3.getItemMeta();
  687. istackMeta3.setDisplayName("§ePvP aktivieren");
  688. istack3.setItemMeta(istackMeta3);
  689.  
  690. ItemStack istack4 = new ItemStack(Material.STONE_SWORD);
  691. ItemMeta istackMeta4 = istack4.getItemMeta();
  692. istackMeta4.setDisplayName("§cPvP deaktivieren");
  693. istack4.setItemMeta(istackMeta4);
  694.  
  695. GS.setItem(2, istack1);
  696. GS.setItem(3, istack2);
  697.  
  698. GS.setItem(6, istack3);
  699. GS.setItem(7, istack4);
  700.  
  701. e.getPlayer().openInventory(GS);
  702. }
  703. } else {
  704.  
  705. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  706. }
  707. }
  708. }
  709.  
  710. if(cmd[0].equalsIgnoreCase("playerholo") || (cmd[0].equalsIgnoreCase("griefergames:playerholo"))) {
  711.  
  712. PluginManager manager = Bukkit.getServer().getPluginManager();
  713. final Plugin plotsquared = manager.getPlugin("PlotSquared");
  714. final Plugin HolographicDisplays = manager.getPlugin("HolographicDisplays");
  715.  
  716. if(!plugin.getConfig().getString("/Playerholo").equalsIgnoreCase("true")) {
  717.  
  718. e.setCancelled(true);
  719.  
  720. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  721.  
  722. } else if(plugin.getConfig().getString("/Playerholo").equalsIgnoreCase("true")) {
  723.  
  724. if(plotsquared == null || !plotsquared.isEnabled() || HolographicDisplays == null || !HolographicDisplays.isEnabled()) {
  725. if(p.hasPermission("system.playerholo.error.see")) {
  726. e.setCancelled(true);
  727. p.sendMessage(Prefix + "§4Der Command /PlayerHolo konnte nicht aktiviert werden!");
  728. } else {
  729. e.setCancelled(true);
  730. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  731. }
  732. }
  733.  
  734. if(plotsquared != null && plotsquared.isEnabled()) {
  735. } else {
  736. e.setCancelled(true);
  737. if(p.hasPermission("system.playerholo.error.see")) {
  738. p.sendMessage(Prefix + "§4Du benötigst das Plugin PlotSquared!");
  739. }
  740. }
  741. if(HolographicDisplays != null && HolographicDisplays.isEnabled()) {
  742. } else {
  743. e.setCancelled(true);
  744. if(p.hasPermission("system.playerholo.error.see")) {
  745. p.sendMessage(Prefix + "§4Du benötigst das Plugin HolographicDisplays!");
  746. }
  747. }
  748.  
  749. }
  750. } else if(cmd[0].equalsIgnoreCase("rand") || (cmd[0].equalsIgnoreCase("griefergames:rand"))) {
  751.  
  752. PluginManager manager = Bukkit.getServer().getPluginManager();
  753. final Plugin plotsquared = manager.getPlugin("PlotSquared");
  754.  
  755. if(!plugin.getConfig().getString("/Rand").equalsIgnoreCase("true")) {
  756.  
  757. e.setCancelled(true);
  758.  
  759. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  760.  
  761. } else if(plugin.getConfig().getString("/Rand").equalsIgnoreCase("true")) {
  762.  
  763. if(plotsquared == null || !plotsquared.isEnabled()) {
  764. if(p.hasPermission("system.rand.error.see")) {
  765. e.setCancelled(true);
  766. p.sendMessage(Prefix + "§4Der Command /Rand konnte nicht aktiviert werden!");
  767. } else {
  768. e.setCancelled(true);
  769. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  770. }
  771. }
  772.  
  773. if(plotsquared != null && plotsquared.isEnabled()) {
  774. } else {
  775. e.setCancelled(true);
  776. if(p.hasPermission("system.rand.error.see")) {
  777. p.sendMessage(Prefix + "§4Du benötigst das Plugin PlotSquared!");
  778. }
  779. }
  780. }
  781. } else if(cmd[0].equalsIgnoreCase("blocklog") || (cmd[0].equalsIgnoreCase("griefergames:blocklog"))) {
  782. if(!plugin.getConfig().getString("BlockLog").equalsIgnoreCase("true")) {
  783.  
  784. e.setCancelled(true);
  785.  
  786. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  787. } else {
  788. if(MySQL.con == null) {
  789. if(p.hasPermission("system.blocklog.error.see")) {
  790.  
  791. p.sendMessage(Prefix + "§4Der Command /BlockLog konnte nicht aktiviert werden!");
  792. p.sendMessage(Prefix + "§4Du benötigst eine funktionierende MySQL Datenbank, ansonsten kannst du BlockLog auch in der Config ausstellen!");
  793.  
  794. } else {
  795. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  796. }
  797. }
  798. }
  799. } else if(cmd[0].equalsIgnoreCase("portal") || (cmd[0].equalsIgnoreCase("griefergames:portal"))) {
  800. if(!plugin.getConfig().getString("PortalSettings false/Server/Map").equalsIgnoreCase("Server") && !plugin.getConfig().getString("PortalSettings false/Server/Map").equalsIgnoreCase("Map")) {
  801.  
  802. e.setCancelled(true);
  803.  
  804. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  805.  
  806. }
  807. } else if(cmd[0].equalsIgnoreCase("bank") || (cmd[0].equalsIgnoreCase("griefergames:bank"))) {
  808. if(!plugin.getConfig().getString("BankSettings false/File/MySQL").equalsIgnoreCase("File") && !plugin.getConfig().getString("BankSettings false/File/MySQL").equalsIgnoreCase("MySQL")) {
  809.  
  810. e.setCancelled(true);
  811.  
  812. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  813.  
  814. } else {
  815. if(MySQL.con != null) {
  816.  
  817. PluginManager manager = Bukkit.getServer().getPluginManager();
  818. final Plugin Essentials = manager.getPlugin("Essentials");
  819.  
  820. if(Essentials != null && Essentials.isEnabled()) {
  821.  
  822. } else {
  823.  
  824. e.setCancelled(true);
  825.  
  826. if(p.hasPermission("system.bank.error.see")) {
  827. p.sendMessage(Prefix + "§4Du benötigst das Plugin Essentials!");
  828. } else {
  829. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  830. }
  831. }
  832. } else {
  833. if(!plugin.getConfig().getString("BankSettings false/File/MySQL").equalsIgnoreCase("File")) {
  834.  
  835. e.setCancelled(true);
  836.  
  837. if(p.hasPermission("system.bank.error.see")) {
  838.  
  839. p.sendMessage(Prefix + "§4Der Command /Bank konnte nicht aktiviert werden!");
  840. p.sendMessage(Prefix + "§4Du benötigst eine funktionierende MySQL Datenbank, ansonsten kannst du die Bank auch in der Config auf File stellen!");
  841.  
  842. } else {
  843. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  844. }
  845. } else {
  846. PluginManager manager = Bukkit.getServer().getPluginManager();
  847. final Plugin Essentials = manager.getPlugin("Essentials");
  848.  
  849. if(Essentials != null && Essentials.isEnabled()) {
  850.  
  851. } else {
  852.  
  853. e.setCancelled(true);
  854.  
  855. if(p.hasPermission("system.bank.error.see")) {
  856. p.sendMessage(Prefix + "§4Du benötigst das Plugin Essentials!");
  857. } else {
  858. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  859. }
  860. }
  861. }
  862. }
  863. }
  864. } else if(cmd[0].equalsIgnoreCase("premium") || (cmd[0].equalsIgnoreCase("griefergames:premium"))) {
  865. if(!plugin.getConfig().getString("/Premium").equalsIgnoreCase("true")) {
  866.  
  867. e.setCancelled(true);
  868.  
  869. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  870.  
  871. } else {
  872.  
  873. PluginManager manager = Bukkit.getServer().getPluginManager();
  874. final Plugin Pex = manager.getPlugin("PermissionsEx");
  875.  
  876. if(Pex == null || !Pex.isEnabled()) {
  877.  
  878. e.setCancelled(true);
  879.  
  880. if(p.hasPermission("system.premium.error.see")) {
  881. p.sendMessage(Prefix + "§4Du benötigst das Plugin PermissionsEx!");
  882. } else {
  883. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  884. }
  885.  
  886. }
  887. }
  888. } else if(cmd[0].equalsIgnoreCase("2") || (cmd[0].equalsIgnoreCase("p") || (cmd[0].equalsIgnoreCase("p2") || (cmd[0].toLowerCase().startsWith("plot") || (cmd[0].toLowerCase().startsWith("plotme") || (cmd[0].toLowerCase().startsWith("plots") || (cmd[0].toLowerCase().startsWith("plotsquared") || (cmd[0].toLowerCase().startsWith("plotsquared:ps") || (cmd[0].toLowerCase().startsWith("plotsquared:2") || (cmd[0].toLowerCase().startsWith("plotsquared:p") || (cmd[0].toLowerCase().startsWith("plotsquared:p2") || (cmd[0].toLowerCase().startsWith("plotsquared:plot") || (cmd[0].toLowerCase().startsWith("plotsquared:plotme") || (cmd[0].toLowerCase().startsWith("plotsquared:plots") || (cmd[0].toLowerCase().startsWith("plotsquared:plotsquared") || (cmd[0].toLowerCase().startsWith("plotsquared:ps"))))))))))))))))) {
  889. if(!p.hasPermission("system.merge.admin")) {
  890. try {
  891. if(cmd[1].toLowerCase().contains("merge") || cmd[1].toLowerCase().contains("plots")) {
  892. if(!MergeCMD.merge.contains(p)) {
  893.  
  894. e.setCancelled(true);
  895.  
  896. p.sendMessage(Prefix + "§cDu kannst mit §e/merge §cdeine Plots zusammen mergen.");
  897. } else {
  898. MergeCMD.merge.remove(p);
  899. }
  900. } else if(cmd[1].equalsIgnoreCase("m") || (cmd[1].equalsIgnoreCase("me") || (cmd[1].equalsIgnoreCase("mer") || (cmd[1].equalsIgnoreCase("merg"))))) {
  901. if(!MergeCMD.merge.contains(p)) {
  902.  
  903. e.setCancelled(true);
  904.  
  905. p.sendMessage(Prefix + "§cDu kannst mit §e/merge §cdeine Plots zusammen mergen.");
  906. } else {
  907. MergeCMD.merge.remove(p);
  908. }
  909. }
  910. if(cmd[1].contains("0") || cmd[1].contains("1") || cmd[1].contains("2") || cmd[1].contains("3") || cmd[1].contains("4") || cmd[1].contains("5") || cmd[1].contains("6") || cmd[1].contains("7") || cmd[1].contains("8") || cmd[1].contains("9") || cmd[1].contains("-f")) {
  911. if(!MergeCMD.merge.contains(p)) {
  912.  
  913. e.setCancelled(true);
  914.  
  915. p.sendMessage(Prefix + "§cDu kannst mit §e/merge §cdeine Plots zusammen mergen.");
  916. } else {
  917. MergeCMD.merge.remove(p);
  918. }
  919. }
  920. } catch(Exception e1) {}
  921. }
  922. } else if(cmd[0].equalsIgnoreCase("merge") || (cmd[0].equalsIgnoreCase("griefergames:merge"))) {
  923.  
  924. PluginManager manager = Bukkit.getServer().getPluginManager();
  925. final Plugin ess = manager.getPlugin("Essentials");
  926. final Plugin PlotSquared = manager.getPlugin("PlotSquared");
  927.  
  928. if(ess == null || !ess.isEnabled() || PlotSquared == null || !PlotSquared.isEnabled()) {
  929.  
  930. e.setCancelled(true);
  931.  
  932. if(p.hasPermission("system.merge.error.see")) {
  933. p.sendMessage(Prefix + "§4Du benötigst das Plugin Essentials und PlotSquared!");
  934. } else {
  935. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  936. }
  937. }
  938. } else if(cmd[0].equalsIgnoreCase("menu") || (cmd[0].equalsIgnoreCase("griefergames:menu"))) {
  939. if(!plugin.getConfig().getString("/Menu").equalsIgnoreCase("true")) {
  940.  
  941. e.setCancelled(true);
  942.  
  943. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  944.  
  945. } else {
  946. PluginManager manager = Bukkit.getServer().getPluginManager();
  947. final Plugin Essentials = manager.getPlugin("Essentials");
  948. final Plugin PlotSquared = manager.getPlugin("PlotSquared");
  949.  
  950. if(PlotSquared == null || !PlotSquared.isEnabled() || Essentials == null || !Essentials.isEnabled()) {
  951. if(p.hasPermission("system.menu.error.see")) {
  952. e.setCancelled(true);
  953. p.sendMessage(Prefix + "§4Der Command /Menu konnte nicht aktiviert werden!");
  954. } else {
  955. e.setCancelled(true);
  956. p.sendMessage(Prefix + "§cDer Command ist deaktiviert.");
  957. }
  958. }
  959.  
  960. if(PlotSquared != null && PlotSquared.isEnabled()) {
  961. } else {
  962. e.setCancelled(true);
  963. if(p.hasPermission("system.menu.error.see")) {
  964. p.sendMessage(Prefix + "§4Du benötigst das Plugin PlotSquared!");
  965. }
  966. }
  967. if(Essentials != null && Essentials.isEnabled()) {
  968. } else {
  969. e.setCancelled(true);
  970. if(p.hasPermission("system.menu.error.see")) {
  971. p.sendMessage(Prefix + "§4Du benötigst das Plugin Essentials!");
  972. }
  973. }
  974.  
  975. }
  976. }
  977.  
  978. if(cmd[0].equalsIgnoreCase("gg") || cmd[0].equalsIgnoreCase("griefergames") || cmd[0].equalsIgnoreCase("system") || cmd[0].equalsIgnoreCase("niklas409")) {
  979.  
  980. e.setCancelled(true);
  981.  
  982. p.sendMessage("§8------------§5§lGrieferGames Features§8------------");
  983. p.sendMessage(Prefix + "§7Plugin: §cGrieferGames Features");
  984. p.sendMessage(Prefix + "§7Version: §c" + Main.Version);
  985. p.sendMessage(Prefix + "§7Coded by: §cNiklas409");
  986. p.sendMessage(" ");
  987. p.sendMessage(Prefix + "§7Neuerungen von " + Main.Version); //Schild
  988. p.sendMessage(Prefix + "§2+ §4§lSourceCode §2§lkostenlos verfügbar!");
  989. p.sendMessage(Prefix + "§2+ §7/Sign - Signiert Items von dir.");
  990. p.sendMessage(Prefix + "§2+ §7/Case - Bearbeitet die Cases.");
  991. p.sendMessage(Prefix + "§2+ §7/CreateCaseItem - Zum erstellen eines Case Item.");
  992. p.sendMessage(Prefix + "§2+ §7/SetCaseBlock - Setzt die Case-Truhe.");
  993. p.sendMessage(Prefix + "§2+ §7/FreeKiste - Gibt die jede 2 Wochen kostenlose Truhen.");
  994. p.sendMessage(" ");
  995. p.sendMessage(Prefix + "§7Permissions:");
  996. p.sendMessage(Prefix + "§2+ §7System.Sign - Zum verwenden des Commands (/Sign)");
  997. p.sendMessage(Prefix + "§2+ §7System.Case - Zum verwenden des Commands (/Case/CreateCaseItem/SetCaseBlock)");
  998. p.sendMessage(Prefix + "§2+ §7System.FreeKiste.Premium - Damit bekommst du bei /FreeKiste 1 Truhe jede 2 Wochen.");
  999. p.sendMessage(Prefix + "§2+ §7System.FreeKiste.Griefer - Damit bekommst du bei /FreeKiste 2 Truhen jede 2 Wochen.");
  1000. p.sendMessage(" ");
  1001. p.sendMessage(Prefix + "§7Bugfixes:");
  1002. p.sendMessage(Prefix + "§2+ §7Ein paar /Merge umgehungen wurden gefixt.");
  1003. p.sendMessage(" ");
  1004. // p.sendMessage(Prefix + "§2+ §2§lWICHTIG: Du hast Ideen für LuckyBlöcke?" + "\n" + "§7https://docs.google.com/forms/u/0/d/1k8JIDT4IwDyxIK58PW3YXoCLYmAuxfZg60JopL6TBKE/edit?usp=forms_home&ths=true");
  1005. p.sendMessage("§8------------§5§lGrieferGames Features§8------------"); //TODO
  1006.  
  1007. }
  1008.  
  1009. // if(cmd[0].equalsIgnoreCase("test")) {
  1010. // if(p.getName().equalsIgnoreCase("Niklas409")) {
  1011. //
  1012. // p.sendMessage(Prefix + "§cTest wird ausgeführt!");
  1013. //
  1014. // e.setCancelled(true);
  1015. //
  1016. // }
  1017. // }
  1018. }
  1019.  
  1020. @EventHandler
  1021. public void onClick1(InventoryClickEvent e) {
  1022. try {
  1023.  
  1024. Player p = (Player) e.getWhoClicked();
  1025.  
  1026. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  1027. String NoPerms = plugin.getConfig().getString("NoPerms").replace("&", "§");
  1028.  
  1029. PlotAPI papi;
  1030.  
  1031. papi = new PlotAPI();
  1032.  
  1033. if(e.getInventory().getName().equalsIgnoreCase("§6Rand-Auswahl")) {
  1034.  
  1035. e.setCancelled(true);
  1036.  
  1037. if(!rand.contains(p.getName())) {
  1038.  
  1039. rand.add(p.getName());
  1040.  
  1041. Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
  1042.  
  1043. @Override
  1044. public void run() {
  1045.  
  1046. rand.remove(p.getName());
  1047.  
  1048. }
  1049. }, 20*5);
  1050.  
  1051. if(papi.isInPlot(p)) {
  1052. if(papi.getPlot(p.getLocation()).isOwner(p.getUniqueId())) {
  1053. if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fBruchsteinstufe")) {
  1054. if(p.hasPermission("system.rand.bruchsteinstufe")) {
  1055.  
  1056. p.closeInventory();
  1057.  
  1058. setRand(p, "44:3", papi.getPlot(p.getLocation()));
  1059.  
  1060. } else {
  1061. p.closeInventory();
  1062. p.sendMessage(NoPerms);
  1063. }
  1064. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fNetherziegelstufe")) {
  1065. if(p.hasPermission("system.rand.netherziegelstufe")) {
  1066.  
  1067. p.closeInventory();
  1068.  
  1069. setRand(p, "44:6", papi.getPlot(p.getLocation()));
  1070.  
  1071. } else {
  1072. p.closeInventory();
  1073. p.sendMessage(NoPerms);
  1074. }
  1075. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fBarriere")) {
  1076. if(p.hasPermission("system.rand.barriere")) {
  1077.  
  1078. p.closeInventory();
  1079.  
  1080. setRand(p, "AIR", papi.getPlot(p.getLocation()));
  1081.  
  1082. } else {
  1083. p.closeInventory();
  1084. p.sendMessage(NoPerms);
  1085. }
  1086. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fGoldblock")) {
  1087. if(p.hasPermission("system.rand.goldblock")) {
  1088.  
  1089. p.closeInventory();
  1090.  
  1091. setRand(p, "gold_block", papi.getPlot(p.getLocation()));
  1092.  
  1093. } else {
  1094. p.closeInventory();
  1095. p.sendMessage(NoPerms);
  1096. }
  1097. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fZiegelstufe")) {
  1098. if(p.hasPermission("system.rand.ziegelstufe")) {
  1099.  
  1100. p.closeInventory();
  1101.  
  1102. setRand(p, "44:4", papi.getPlot(p.getLocation()));
  1103.  
  1104. } else {
  1105. p.closeInventory();
  1106. p.sendMessage(NoPerms);
  1107. }
  1108. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fEichenholzstufe")) {
  1109. if(p.hasPermission("system.rand.eichenholzstufe")) {
  1110.  
  1111. p.closeInventory();
  1112.  
  1113. setRand(p, "126", papi.getPlot(p.getLocation()));
  1114.  
  1115. } else {
  1116. p.closeInventory();
  1117. p.sendMessage(NoPerms);
  1118. }
  1119. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fDiamantblock")) {
  1120. if(p.hasPermission("system.rand.diamantblock")) {
  1121.  
  1122. p.closeInventory();
  1123.  
  1124. setRand(p, "diamond_block", papi.getPlot(p.getLocation()));
  1125.  
  1126. } else {
  1127. p.closeInventory();
  1128. p.sendMessage(NoPerms);
  1129. }
  1130. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fObsidian")) {
  1131. if(p.hasPermission("system.rand.obsidian")) {
  1132.  
  1133. p.closeInventory();
  1134.  
  1135. setRand(p, "obsidian", papi.getPlot(p.getLocation()));
  1136.  
  1137. } else {
  1138. p.closeInventory();
  1139. p.sendMessage(NoPerms);
  1140. }
  1141. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fDiamanterz")) {
  1142. if(p.hasPermission("system.rand.diamanterz")) {
  1143.  
  1144. p.closeInventory();
  1145.  
  1146. setRand(p, "diamond_ore", papi.getPlot(p.getLocation()));
  1147.  
  1148. } else {
  1149. p.closeInventory();
  1150. p.sendMessage(NoPerms);
  1151. }
  1152. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fBücherregal")) {
  1153. if(p.hasPermission("system.rand.bücherregal")) {
  1154.  
  1155. p.closeInventory();
  1156.  
  1157. setRand(p, "bookshelf", papi.getPlot(p.getLocation()));
  1158.  
  1159. } else {
  1160. p.closeInventory();
  1161. p.sendMessage(NoPerms);
  1162. }
  1163. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fSmaragdblock")) {
  1164. if(p.hasPermission("system.rand.smaragdblock")) {
  1165.  
  1166. p.closeInventory();
  1167.  
  1168. setRand(p, "emerald_block", papi.getPlot(p.getLocation()));
  1169.  
  1170. } else {
  1171. p.closeInventory();
  1172. p.sendMessage(NoPerms);
  1173. }
  1174. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fRedstone-Lampe")) {
  1175. if(p.hasPermission("system.rand.redstonelampe")) {
  1176.  
  1177. p.closeInventory();
  1178.  
  1179. setRand(p, "redstone_lamp", papi.getPlot(p.getLocation()));
  1180.  
  1181. } else {
  1182. p.closeInventory();
  1183. p.sendMessage(NoPerms);
  1184. }
  1185. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fKohleblock")) {
  1186. if(p.hasPermission("system.rand.kohleblock")) {
  1187.  
  1188. p.closeInventory();
  1189.  
  1190. setRand(p, "coal_block", papi.getPlot(p.getLocation()));
  1191.  
  1192. } else {
  1193. p.closeInventory();
  1194. p.sendMessage(NoPerms);
  1195. }
  1196. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fFackel")) { //AB HIER ALLES NEU
  1197. if(p.hasPermission("system.rand.fackel")) {
  1198.  
  1199. p.closeInventory();
  1200.  
  1201. setRand(p, "torch:5", papi.getPlot(p.getLocation()));
  1202.  
  1203. } else {
  1204. p.closeInventory();
  1205. p.sendMessage(NoPerms);
  1206. }
  1207. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fSchiene")) {
  1208. if(p.hasPermission("system.rand.schiene")) {
  1209.  
  1210. p.closeInventory();
  1211.  
  1212. setRand(p, "rail:1", papi.getPlot(p.getLocation()));
  1213.  
  1214. } else {
  1215. p.closeInventory();
  1216. p.sendMessage(NoPerms);
  1217. }
  1218. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fRedstone-Block")) {
  1219. if(p.hasPermission("system.rand.RedstoneBlock")) {
  1220.  
  1221. p.closeInventory();
  1222.  
  1223. setRand(p, "redstone_block", papi.getPlot(p.getLocation()));
  1224.  
  1225. } else {
  1226. p.closeInventory();
  1227. p.sendMessage(NoPerms);
  1228. }
  1229. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fZaun")) {
  1230. if(p.hasPermission("system.rand.Zaun")) {
  1231.  
  1232. p.closeInventory();
  1233.  
  1234. setRand(p, "fence", papi.getPlot(p.getLocation()));
  1235.  
  1236. } else {
  1237. p.closeInventory();
  1238. p.sendMessage(NoPerms);
  1239. }
  1240. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fLeuchtfeuer")) {
  1241. if(p.hasPermission("system.rand.Leuchtfeuer")) {
  1242.  
  1243. p.closeInventory();
  1244.  
  1245. setRand(p, "beacon", papi.getPlot(p.getLocation()));
  1246.  
  1247. } else {
  1248. p.closeInventory();
  1249. p.sendMessage(NoPerms);
  1250. }
  1251. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fNetherstein")) {
  1252. if(p.hasPermission("system.rand.netherstein")) {
  1253.  
  1254. p.closeInventory();
  1255.  
  1256. setRand(p, "87", papi.getPlot(p.getLocation()));
  1257.  
  1258. } else {
  1259. p.closeInventory();
  1260. p.sendMessage(NoPerms);
  1261. }
  1262. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fSeelaterne")) {
  1263. if(p.hasPermission("system.rand.Seelaterne")) {
  1264.  
  1265. p.closeInventory();
  1266.  
  1267. setRand(p, "169", papi.getPlot(p.getLocation()));
  1268.  
  1269. } else {
  1270. p.closeInventory();
  1271. p.sendMessage(NoPerms);
  1272. }
  1273. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fGrundgestein")) {
  1274. if(p.hasPermission("system.rand.Grundgestein")) {
  1275.  
  1276. p.closeInventory();
  1277.  
  1278. setRand(p, "7", papi.getPlot(p.getLocation()));
  1279.  
  1280. } else {
  1281. p.closeInventory();
  1282. p.sendMessage(NoPerms);
  1283. }
  1284. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fEndstein")) {
  1285. if(p.hasPermission("system.rand.Endstein")) {
  1286.  
  1287. p.closeInventory();
  1288.  
  1289. setRand(p, "121", papi.getPlot(p.getLocation()));
  1290.  
  1291. } else {
  1292. p.closeInventory();
  1293. p.sendMessage(NoPerms);
  1294. }
  1295. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fEndportalrahmen")) {
  1296. if(p.hasPermission("system.rand.Endportalrahmen")) {
  1297.  
  1298. p.closeInventory();
  1299.  
  1300. setRand(p, "120", papi.getPlot(p.getLocation()));
  1301.  
  1302. } else {
  1303. p.closeInventory();
  1304. p.sendMessage(NoPerms);
  1305. }
  1306. }
  1307. } else {
  1308. p.closeInventory();
  1309. p.sendMessage(Prefix + "§cDu bist nicht der Besitzer dieses Plots!");
  1310. }
  1311. } else {
  1312. p.closeInventory();
  1313. p.sendMessage(Prefix + "§cDu bist auf keinem Grundstück!");
  1314. }
  1315. } else {
  1316. p.closeInventory();
  1317. p.sendMessage("§cDu kannst diesen Befehl nur alle 5 Sekunden benutzen!");
  1318. }
  1319. } else if(e.getInventory().getName().equalsIgnoreCase("§6§lPerks")) {
  1320.  
  1321. e.setCancelled(true);
  1322.  
  1323. File Perk = new File("plugins/GrieferGames/Data/Perk.yml");
  1324. YamlConfiguration yPerk = YamlConfiguration.loadConfiguration(Perk);
  1325.  
  1326. Essentials ess = (Essentials) Bukkit.getPluginManager().getPlugin("Essentials");
  1327.  
  1328. Integer money = Integer.valueOf(ess.getUser(p).getMoney().intValue());
  1329.  
  1330. Integer NoFall = plugin.getConfig().getInt("NoFallPerk");
  1331. Integer NoHunger = plugin.getConfig().getInt("NoHungerPerk");
  1332. Integer MutepPerk = plugin.getConfig().getInt("MutepPerk");
  1333. Integer ClearChatPerk = plugin.getConfig().getInt("ClearChatPerk");
  1334. Integer SlowChatPerk = plugin.getConfig().getInt("SlowChatPerk");
  1335. Integer StartKickPerk = plugin.getConfig().getInt("StartKickPerk");
  1336.  
  1337. if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6§lNoFall Perk")) {
  1338. if(yPerk.getString(p.getUniqueId() + ".NoFall") == null) {
  1339. if(!(money < NoFall)) {
  1340.  
  1341. BigDecimal neuesgeld = BigDecimal.valueOf(money-NoFall);
  1342.  
  1343. p.closeInventory();
  1344. p.sendMessage(Prefix + "§a§lDu hast das NoFall-Perk gekauft!");
  1345.  
  1346. ess.getUser(p).setMoney(neuesgeld);
  1347.  
  1348. yPerk.set(p.getUniqueId() + ".NoFall", true);
  1349.  
  1350. yPerk.save(Perk);
  1351.  
  1352. } else {
  1353. p.closeInventory();
  1354. p.sendMessage(Prefix + "§cDu hast leider nicht genügend Geld!");
  1355. }
  1356. } else if(yPerk.getBoolean(p.getUniqueId() + ".NoFall") == true) {
  1357.  
  1358. p.closeInventory();
  1359. p.sendMessage(Prefix + "§a§lDu hast das NoFall-Perk deaktiviert!");
  1360.  
  1361. yPerk.set(p.getUniqueId() + ".NoFall", false);
  1362.  
  1363. yPerk.save(Perk);
  1364.  
  1365. } else if(yPerk.getBoolean(p.getUniqueId() + ".NoFall") == false) {
  1366.  
  1367. p.closeInventory();
  1368. p.sendMessage(Prefix + "§a§lDu hast das NoFall-Perk aktiviert!");
  1369.  
  1370. yPerk.set(p.getUniqueId() + ".NoFall", true);
  1371.  
  1372. yPerk.save(Perk);
  1373.  
  1374. }
  1375. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6§lKein Hunger")) {
  1376. if(yPerk.getString(p.getUniqueId() + ".NoHunger") == null) {
  1377. if(!(money < NoHunger)) {
  1378.  
  1379. BigDecimal neuesgeld = BigDecimal.valueOf(money-NoHunger);
  1380.  
  1381. p.closeInventory();
  1382. p.sendMessage(Prefix + "§a§lDu hast das NoHunger-Perk gekauft!");
  1383.  
  1384. ess.getUser(p).setMoney(neuesgeld);
  1385.  
  1386. yPerk.set(p.getUniqueId() + ".NoHunger", true);
  1387.  
  1388. yPerk.save(Perk);
  1389.  
  1390. } else {
  1391. p.closeInventory();
  1392. p.sendMessage(Prefix + "§cDu hast leider nicht genügend Geld!");
  1393. }
  1394. } else if(yPerk.getBoolean(p.getUniqueId() + ".NoHunger") == true) {
  1395.  
  1396. p.closeInventory();
  1397. p.sendMessage(Prefix + "§a§lDu hast das NoHunger-Perk deaktiviert!");
  1398.  
  1399. yPerk.set(p.getUniqueId() + ".NoHunger", false);
  1400.  
  1401. yPerk.save(Perk);
  1402.  
  1403. } else if(yPerk.getBoolean(p.getUniqueId() + ".NoHunger") == false) {
  1404.  
  1405. p.closeInventory();
  1406. p.sendMessage(Prefix + "§a§lDu hast das NoHunger-Perk aktiviert!");
  1407.  
  1408. yPerk.set(p.getUniqueId() + ".NoHunger", true);
  1409.  
  1410. yPerk.save(Perk);
  1411.  
  1412. }
  1413. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6§l/mutep")) {
  1414. if(yPerk.getString(p.getUniqueId() + ".Mutep") == null) {
  1415. if(!(money < MutepPerk)) {
  1416.  
  1417. BigDecimal neuesgeld = BigDecimal.valueOf(money-MutepPerk);
  1418.  
  1419. p.closeInventory();
  1420. p.sendMessage(Prefix + "§a§lDu hast das Mutep-Perk gekauft!");
  1421.  
  1422. ess.getUser(p).setMoney(neuesgeld);
  1423.  
  1424. yPerk.set(p.getUniqueId() + ".Mutep", true);
  1425.  
  1426. yPerk.save(Perk);
  1427.  
  1428. } else {
  1429. p.closeInventory();
  1430. p.sendMessage(Prefix + "§cDu hast leider nicht genügend Geld!");
  1431. }
  1432. } else if(yPerk.getBoolean(p.getUniqueId() + ".Mutep") == true) {
  1433.  
  1434. p.closeInventory();
  1435. p.sendMessage(Prefix + "§c§lDu kannst diesen Perk nicht deaktivieren!");
  1436.  
  1437. }
  1438. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6§l/clearchat")) {
  1439. if(yPerk.getString(p.getUniqueId() + ".ClearChat") == null) {
  1440. if(!(money < ClearChatPerk)) {
  1441.  
  1442. BigDecimal neuesgeld = BigDecimal.valueOf(money-ClearChatPerk);
  1443.  
  1444. p.closeInventory();
  1445. p.sendMessage(Prefix + "§a§lDu hast das ClearChat-Perk gekauft!");
  1446.  
  1447. ess.getUser(p).setMoney(neuesgeld);
  1448.  
  1449. yPerk.set(p.getUniqueId() + ".ClearChat", true);
  1450.  
  1451. yPerk.save(Perk);
  1452.  
  1453. } else {
  1454. p.closeInventory();
  1455. p.sendMessage(Prefix + "§cDu hast leider nicht genügend Geld!");
  1456. }
  1457. } else if(yPerk.getBoolean(p.getUniqueId() + ".ClearChat") == true) {
  1458.  
  1459. p.closeInventory();
  1460. p.sendMessage(Prefix + "§c§lDu kannst diesen Perk nicht deaktivieren!");
  1461.  
  1462. }
  1463. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6§l/slowchat")) {
  1464. if(yPerk.getString(p.getUniqueId() + ".SlowChat") == null) {
  1465. if(!(money < SlowChatPerk)) {
  1466.  
  1467. BigDecimal neuesgeld = BigDecimal.valueOf(money-SlowChatPerk);
  1468.  
  1469. p.closeInventory();
  1470. p.sendMessage(Prefix + "§a§lDu hast das SlowChat-Perk gekauft!");
  1471.  
  1472. ess.getUser(p).setMoney(neuesgeld);
  1473.  
  1474. yPerk.set(p.getUniqueId() + ".SlowChat", true);
  1475.  
  1476. yPerk.save(Perk);
  1477.  
  1478. } else {
  1479. p.closeInventory();
  1480. p.sendMessage(Prefix + "§cDu hast leider nicht genügend Geld!");
  1481. }
  1482. } else if(yPerk.getBoolean(p.getUniqueId() + ".SlowChat") == true) {
  1483.  
  1484. p.closeInventory();
  1485. p.sendMessage(Prefix + "§c§lDu kannst diesen Perk nicht deaktivieren!");
  1486.  
  1487. }
  1488. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6§l/startkick")) {
  1489. if(yPerk.getString(p.getUniqueId() + ".StartKick") == null) {
  1490. if(!(money < StartKickPerk)) {
  1491.  
  1492. BigDecimal neuesgeld = BigDecimal.valueOf(money-StartKickPerk);
  1493.  
  1494. p.closeInventory();
  1495. p.sendMessage(Prefix + "§a§lDu hast das StartKick-Perk gekauft!");
  1496.  
  1497. ess.getUser(p).setMoney(neuesgeld);
  1498.  
  1499. yPerk.set(p.getUniqueId() + ".StartKick", true);
  1500.  
  1501. yPerk.save(Perk);
  1502.  
  1503. } else {
  1504. p.closeInventory();
  1505. p.sendMessage(Prefix + "§cDu hast leider nicht genügend Geld!");
  1506. }
  1507. } else if(yPerk.getBoolean(p.getUniqueId() + ".StartKick") == true) {
  1508.  
  1509. p.closeInventory();
  1510. p.sendMessage(Prefix + "§c§lDu kannst diesen Perk nicht deaktivieren!");
  1511.  
  1512. }
  1513. }
  1514. } else if(e.getInventory().getName().equalsIgnoreCase("§3Wähle eine Itemkanone aus!")) {
  1515.  
  1516. e.setCancelled(true);
  1517.  
  1518. if(e.getCurrentItem().getType() == Material.BEACON) {
  1519.  
  1520. p.closeInventory();
  1521. p.sendMessage(Prefix + "§bDu hast eine Paintball Gun erhalten!");
  1522.  
  1523. p.getInventory().addItem(ItemBuilder.createItem(Material.DIAMOND_HOE, "§bPaintball Gun", 1, new String[] {"Beacon"}));
  1524.  
  1525. } else if(e.getCurrentItem().getType() == Material.DRAGON_EGG) {
  1526.  
  1527. p.closeInventory();
  1528. // p.sendMessage(Prefix + "§bDu hast eine Paintball Gun erhalten!");
  1529.  
  1530. // p.getInventory().addItem(ItemBuilder.createItem(Material.DIAMOND_HOE, "§bPaintball Gun", 1, new String[] {"DragonEgg"}));
  1531.  
  1532. p.playSound(p.getLocation(), Sound.ITEM_BREAK, 1, 1);
  1533.  
  1534. p.sendMessage(Prefix + "§7Die DrachenEi-Paintball Gun wird derzeit überarbeitet. §cGrund: §4§lDuplizier-Möglichkeit");
  1535.  
  1536. } else if(e.getCurrentItem().getType() == Material.MOB_SPAWNER) {
  1537.  
  1538. p.closeInventory();
  1539. p.sendMessage(Prefix + "§bDu hast eine Paintball Gun erhalten!");
  1540.  
  1541. p.getInventory().addItem(ItemBuilder.createItem(Material.DIAMOND_HOE, "§bPaintball Gun", 1, new String[] {"Spawner"}));
  1542.  
  1543. } else if(e.getCurrentItem().getType() == Material.EMERALD_BLOCK) {
  1544.  
  1545. p.closeInventory();
  1546. p.sendMessage(Prefix + "§bDu hast eine Paintball Gun erhalten!");
  1547.  
  1548. p.getInventory().addItem(ItemBuilder.createItem(Material.DIAMOND_HOE, "§bPaintball Gun", 1, new String[] {"Emeraldblock"}));
  1549.  
  1550. } else if(e.getCurrentItem().getType() == Material.SPONGE) {
  1551.  
  1552. p.closeInventory();
  1553. p.sendMessage(Prefix + "§bDu hast eine Paintball Gun erhalten!");
  1554.  
  1555. p.getInventory().addItem(ItemBuilder.createItem(Material.DIAMOND_HOE, "§bPaintball Gun", 1, new String[] {"Sponge"}));
  1556.  
  1557. } else if(e.getCurrentItem().getType() == Material.OBSIDIAN) {
  1558.  
  1559. p.closeInventory();
  1560. p.sendMessage(Prefix + "§bDu hast eine Paintball Gun erhalten!");
  1561.  
  1562. p.getInventory().addItem(ItemBuilder.createItem(Material.DIAMOND_HOE, "§bPaintball Gun", 1, new String[] {"Obsidian"}));
  1563.  
  1564. } else if(e.getCurrentItem().getType() == Material.BEDROCK) {
  1565.  
  1566. p.closeInventory();
  1567. p.sendMessage(Prefix + "§bDu hast eine Paintball Gun erhalten!");
  1568.  
  1569. p.getInventory().addItem(ItemBuilder.createItem(Material.DIAMOND_HOE, "§bPaintball Gun", 1, new String[] {"Grundstein"}));
  1570.  
  1571. } else if(e.getCurrentItem().getType() == Material.DIAMOND_ORE) {
  1572.  
  1573. p.closeInventory();
  1574. p.sendMessage(Prefix + "§bDu hast eine Paintball Gun erhalten!");
  1575.  
  1576. p.getInventory().addItem(ItemBuilder.createItem(Material.DIAMOND_HOE, "§bPaintball Gun", 1, new String[] {"DiaOre"}));
  1577.  
  1578. } else if(e.getCurrentItem().getType() == Material.TNT) {
  1579.  
  1580. p.closeInventory();
  1581. p.sendMessage(Prefix + "§bDu hast eine Paintball Gun erhalten!");
  1582.  
  1583. p.getInventory().addItem(ItemBuilder.createItem(Material.DIAMOND_HOE, "§bPaintball Gun", 1, new String[] {"TNT"}));
  1584.  
  1585. }
  1586. } else if(e.getInventory().getName().equalsIgnoreCase("§6§lPlotMenu")) {
  1587.  
  1588. e.setCancelled(true);
  1589.  
  1590. if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§a§lClaim dir das nächste freie Plot")) {
  1591.  
  1592. p.closeInventory();
  1593.  
  1594. p.sendMessage(Prefix + "§a§lDu bekommst dein neues Plot gleich...");
  1595.  
  1596. p.chat("/p auto");
  1597.  
  1598. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§a§lClaim dir das Plot auf dem du gerade stehst")) {
  1599.  
  1600. p.closeInventory();
  1601.  
  1602. if(papi.getPlot(p.getLocation()) != null) {
  1603.  
  1604. p.sendMessage(Prefix + "§c§oFalls es nicht Funktioniert gehört es schon jemanden.");
  1605.  
  1606. p.chat("/p claim");
  1607.  
  1608. } else {
  1609. p.sendMessage(Prefix + "§c§lDu stehst auf keinem Plot!");
  1610. }
  1611. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§c§lLösche dein Plot")) {
  1612.  
  1613. p.closeInventory();
  1614.  
  1615. p.sendMessage(Prefix + "§c§lFalls es nicht Funktioniert, sei dir sicher das du auf deinem Plot bist.");
  1616. p.sendMessage(Prefix + "§c§lFalls du dein Plot nicht löschen willst ignoriere diese Nachricht");
  1617.  
  1618. net.md_5.bungee.api.chat.TextComponent tc = new net.md_5.bungee.api.chat.TextComponent();
  1619. tc.setText(Prefix + "§6Willst du dein Plot löschen!?§f. §a*Klick*");
  1620. tc.setHoverEvent(new HoverEvent(net.md_5.bungee.api.chat.HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§c/plot delete").create()));
  1621. tc.setClickEvent(new ClickEvent(net.md_5.bungee.api.chat.ClickEvent.Action.RUN_COMMAND, "/plot delete"));
  1622.  
  1623. p.spigot().sendMessage(tc);
  1624. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§a§lFüge einen Helfer für kurze Zeit hinzu")) {
  1625.  
  1626. p.closeInventory();
  1627.  
  1628. p.sendMessage(Prefix + "§a§lSchreibe den Namen deines Helfers in den Chat.");
  1629. p.sendMessage(Prefix + "§a§lWenn du das nicht willst breche es ab mit§r §a§o/menu cancel§a§l!");
  1630.  
  1631. menucanceltap.remove(p);
  1632. menucanceltap.put(p, "Helfer");
  1633.  
  1634. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6§lFüge deinen Freund zu deinen Plot")) {
  1635.  
  1636. p.closeInventory();
  1637.  
  1638. p.sendMessage(Prefix + "§a§lSchreibe den Namen deines Freundes in den Chat.");
  1639. p.sendMessage(Prefix + "§a§lWenn du das nicht willst breche es ab mit§r §a§o/menu cancel§a§l!");
  1640.  
  1641. menucanceltap.remove(p);
  1642. menucanceltap.put(p, "Freund");
  1643.  
  1644. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§c§lEntferne deinen Freund")) {
  1645.  
  1646. p.closeInventory();
  1647.  
  1648. p.sendMessage(Prefix + "§a§lSchreibe den Namen in den Chat um ihn zu entfernen.");
  1649. p.sendMessage(Prefix + "§a§lWenn du das nicht willst breche es ab mit§r §a§o/menu cancel§a§l!");
  1650.  
  1651. menucanceltap.remove(p);
  1652. menucanceltap.put(p, "Remove");
  1653.  
  1654. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§e§lTeleportiere zu deinem Plot!")) {
  1655.  
  1656. p.closeInventory();
  1657.  
  1658. Integer i = 0;
  1659.  
  1660. while(i < papi.getPlayerPlots(p).size()) {
  1661.  
  1662. i++;
  1663.  
  1664. net.md_5.bungee.api.chat.TextComponent tc = new net.md_5.bungee.api.chat.TextComponent();
  1665. tc.setText(Prefix + "§6WWillst du zu deinem Plot " + i + "?§f. §a*Klick*");
  1666. tc.setHoverEvent(new HoverEvent(net.md_5.bungee.api.chat.HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§c/p h " + i).create()));
  1667. tc.setClickEvent(new ClickEvent(net.md_5.bungee.api.chat.ClickEvent.Action.RUN_COMMAND, "/p h " + i));
  1668.  
  1669. p.spigot().sendMessage(tc);
  1670.  
  1671. }
  1672. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§e§lBesuche deinen Freund!")) {
  1673.  
  1674. p.closeInventory();
  1675.  
  1676. p.sendMessage(Prefix + "§a§lSchreibe in den Chat den Namen den du Besuchen möchtest.");
  1677. p.sendMessage(Prefix + "§a§lWenn du das nicht willst breche es ab mit§r §a§o/menu cancel§a§l!");
  1678.  
  1679. menucanceltap.remove(p);
  1680. menucanceltap.put(p, "Besuchen");
  1681.  
  1682. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6§lMein Money")) {
  1683.  
  1684. Essentials ess = (Essentials) Bukkit.getPluginManager().getPlugin("Essentials");
  1685. Integer PlotPreise = plugin.getConfig().getInt("PlotPreise");
  1686.  
  1687. p.closeInventory();
  1688.  
  1689. p.sendMessage(Prefix + "§7§lDein Kontostand: §e§l" + ess.getUser(p).getMoney());
  1690. p.sendMessage(Prefix + "§7§lDeine Plots: §e§l" + papi.getPlayerPlots(p).size());
  1691. p.sendMessage(Prefix + "§7§lAktueller Plot Preis: §e§l" + PlotPreise + "$");
  1692.  
  1693. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§e§lKaufe dir ein weiteres Plot")) {
  1694.  
  1695. Essentials ess = (Essentials) Bukkit.getPluginManager().getPlugin("Essentials");
  1696. Integer PlotPreise = plugin.getConfig().getInt("PlotPreise");
  1697.  
  1698. p.closeInventory();
  1699. Integer money = Integer.valueOf(ess.getUser(p).getMoney().intValue());
  1700.  
  1701. if(papi.getPlot(p.getLocation()) != null) {
  1702. if(!papi.getPlot(p.getLocation()).hasOwner()) {
  1703. if(!(money < Integer.valueOf(PlotPreise))) {
  1704.  
  1705. p.sendMessage(Prefix + "§a§lDu hast das Grundstück erfolgreich gekauft!");
  1706.  
  1707. BigDecimal neuesgeld = BigDecimal.valueOf(money-Integer.valueOf(PlotPreise));
  1708.  
  1709. ess.getUser(p).setMoney(neuesgeld);
  1710.  
  1711. papi.getPlot(p.getLocation()).setOwner(p.getUniqueId());
  1712.  
  1713. } else {
  1714. p.sendMessage(Prefix + "§c§lDu hast nicht genug Geld!");
  1715. }
  1716. } else {
  1717. p.sendMessage(Prefix + "§c§lDas Grundstück gehört schon jemanden!");
  1718. }
  1719. } else {
  1720. p.sendMessage(Prefix + "§c§lDu stehst auf keinem Grundstück!");
  1721. }
  1722. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§c§lSchliesse das Menu")) {
  1723.  
  1724. p.closeInventory();
  1725.  
  1726. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§7§lPlatzhalter")) {
  1727.  
  1728. p.closeInventory();
  1729.  
  1730. p.sendMessage(Prefix + "§cLULULU Abonniert alle Niklas409!");
  1731.  
  1732. }
  1733. }
  1734. } catch(Exception e1) {}
  1735. }
  1736.  
  1737. @EventHandler
  1738. public void onSchild(SignChangeEvent e) {
  1739.  
  1740. if(e.getPlayer().hasPermission("System.Schild.Bunt")) {
  1741.  
  1742. e.setLine(0, e.getLine(0).replace("&", "§"));
  1743. e.setLine(1, e.getLine(1).replace("&", "§"));
  1744. e.setLine(2, e.getLine(2).replace("&", "§"));
  1745. e.setLine(3, e.getLine(3).replace("&", "§"));
  1746.  
  1747. }
  1748. }
  1749.  
  1750. @EventHandler
  1751. public void onChatCode(AsyncPlayerChatEvent e) {
  1752. if(e.getPlayer().hasPermission("system.chat.bunt")) {
  1753. e.setMessage(ChatColor.translateAlternateColorCodes('&', e.getMessage()));
  1754. }
  1755. }
  1756.  
  1757. @EventHandler
  1758. public void onAmboss(InventoryClickEvent e) {
  1759.  
  1760. try {
  1761. if(e.getWhoClicked().hasPermission("System.amboss.bunt")) {
  1762. Inventory inv = e.getInventory();
  1763.  
  1764. if(inv instanceof AnvilInventory) {
  1765. InventoryView view = e.getView();
  1766. int rawSlot = e.getRawSlot();
  1767.  
  1768. if(rawSlot == view.convertSlot(rawSlot)) {
  1769. if(rawSlot == 2){
  1770. ItemStack item = e.getCurrentItem();
  1771.  
  1772. if(item != null){
  1773. ItemMeta meta = item.getItemMeta();
  1774.  
  1775. meta.setDisplayName(meta.getDisplayName().replace("&", "§"));
  1776.  
  1777. item.setItemMeta(meta);
  1778. }
  1779. }
  1780. }
  1781. }
  1782. }
  1783. } catch(Exception e1) {}
  1784. }
  1785.  
  1786. //LuckyBlock Manager
  1787. @EventHandler
  1788. public void onLuckyBlock(PlayerInteractEvent e) {
  1789.  
  1790. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  1791.  
  1792. Player p = e.getPlayer();
  1793.  
  1794. if(e.getAction() == Action.RIGHT_CLICK_BLOCK || e.getAction() == Action.LEFT_CLICK_BLOCK) {
  1795. if(e.getClickedBlock().getType() == Material.SPONGE) {
  1796. if(LuckyBlockSaver.contains(e.getClickedBlock().getLocation())) {
  1797. if(p.hasPermission("system.luckyblock.use")) {
  1798.  
  1799. LuckyBlockSaver.remove(e.getClickedBlock().getLocation());
  1800. p.playSound(e.getClickedBlock().getLocation(), Sound.CHICKEN_EGG_POP, 1, 1);
  1801. p.playEffect(e.getClickedBlock().getLocation(), Effect.ENDER_SIGNAL, 10);
  1802.  
  1803. e.getClickedBlock().setType(Material.AIR);
  1804.  
  1805. LuckyBlockCMD.onLuckyBlockEvents(p, e.getClickedBlock());
  1806.  
  1807. e.setCancelled(true);
  1808.  
  1809. } else {
  1810. p.sendMessage(Prefix + "§cDu benötigst die Permission: System.LuckyBlock.Use");
  1811.  
  1812. e.setCancelled(true);
  1813. }
  1814. }
  1815. }
  1816. }
  1817. }
  1818.  
  1819. @EventHandler
  1820. public void onLuckyBlockPlace(BlockPlaceEvent e) {
  1821.  
  1822. Player p = e.getPlayer();
  1823.  
  1824. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  1825.  
  1826. try {
  1827. if(p.getItemInHand().getType() == Material.SPONGE) {
  1828. if(p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("§6§lLuckyBlock")) {
  1829. if(p.getItemInHand().getItemMeta().getLore() == null) {
  1830.  
  1831. e.setCancelled(true);
  1832.  
  1833. Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "startkick " + p.getName() + " Bitte fälsche keine LuckyBlöcke!");
  1834.  
  1835. } else if(p.getItemInHand().getItemMeta().getLore().contains("§4§lby Niklas409")) {
  1836. if(p.hasPermission("system.luckyblock.place")) {
  1837.  
  1838. LuckyBlockSaver.add(e.getBlock().getLocation());
  1839.  
  1840. } else {
  1841. p.sendMessage(Prefix + "§cDu benötigst die Permission: System.LuckyBlock.Place");
  1842.  
  1843. e.setCancelled(true);
  1844. }
  1845. }
  1846. }
  1847. }
  1848. } catch(Exception e1) {}
  1849. }
  1850.  
  1851. @EventHandler
  1852. public void onFakeDias(PlayerPickupItemEvent e) {
  1853.  
  1854. Player p = e.getPlayer();
  1855.  
  1856. if(LuckyBlockCMD.FakeDias.contains(p)) {
  1857. e.setCancelled(true);
  1858. }
  1859. }
  1860.  
  1861. @EventHandler
  1862. public void onByeInv(PlayerPickupItemEvent e) {
  1863.  
  1864. Player p = e.getPlayer();
  1865.  
  1866. if(LuckyBlockCMD.ByeInv.contains(p)) {
  1867. e.setCancelled(true);
  1868. }
  1869. }
  1870.  
  1871. @EventHandler
  1872. public void onSchinken(EntityDamageByEntityEvent e) {
  1873. if(e.getDamager() instanceof Player) {
  1874.  
  1875. Player p = (Player) e.getDamager();
  1876.  
  1877. if(p.getItemInHand().getType() != Material.AIR) {
  1878. if(p.getItemInHand().getItemMeta().getLore() != null) {
  1879. if(p.getItemInHand().getItemMeta().getLore().contains("§d§lScharfer Schinken")) {
  1880. p.sendMessage("§cWarum machst du kein schaden?");
  1881. e.setCancelled(true);
  1882. }
  1883. }
  1884. }
  1885. }
  1886. }
  1887.  
  1888. @EventHandler
  1889. public void onBan(PlayerLoginEvent e) {
  1890.  
  1891. Player p = e.getPlayer();
  1892. String UUID = String.valueOf(p.getUniqueId());
  1893. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  1894. String UnbanAntragIp = plugin.getConfig().getString("UnbanAntragIp").replace("&", "§");
  1895.  
  1896. if(BanCMD.Banned_cfg.get(UUID) != null) {
  1897. if(BanCMD.Banned_cfg.getString(UUID + ".Laenge").equalsIgnoreCase("Permanent")) {
  1898.  
  1899. BanCMD.Banned_cfg.set(UUID + ".Name", p.getName());
  1900. e.disallow(Result.KICK_BANNED, "§8[§4Spielverbot§8] §7Du wurdest vom Spiel §4ausgeschlossen." + "\n" + "\n" + "§eGrund: §7" + BanCMD.Banned_cfg.getString(UUID + ".Grund") + "\n" + "\n" + "§eEnde des Bans: §4§lPERMANENT" + "\n" + "\n" + "§7 Einen Entbannantrag kannst du unter" + "\n" + "§e" + UnbanAntragIp + "\n" + "§7stellen.");
  1901.  
  1902. try {
  1903. BanCMD.Banned_cfg.save(BanCMD.Banned);
  1904. } catch (IOException e1) {
  1905. e1.printStackTrace();
  1906. };
  1907.  
  1908. } else if(BanCMD.Banned_cfg.get(UUID + ".Laenge") == null) {
  1909.  
  1910.  
  1911. } else if(BanCMD.Banned_cfg.getLong(UUID + ".Laenge") < System.currentTimeMillis()) {
  1912.  
  1913. BanCMD.Banned_cfg.set(UUID, null);
  1914.  
  1915. for(Player all : Bukkit.getOnlinePlayers()) {
  1916. if(all.hasPermission("system.bansystem.unban.see")) {
  1917. all.sendMessage(Prefix + "§7Der Spieler §a" + p.getName() + " §7wurde von der §b§lAutomatischen Cloud §7entbannt!");
  1918. }
  1919. }
  1920.  
  1921. try {
  1922. BanCMD.Banned_cfg.save(BanCMD.Banned);
  1923. } catch (IOException e2) {
  1924. e2.printStackTrace();
  1925. }
  1926. } else {
  1927.  
  1928. Date date = new Date(BanCMD.Banned_cfg.getLong(UUID + ".Laenge"));
  1929. String mm_dd_yyyy = new SimpleDateFormat("dd-MM-yyyy").format(date);
  1930. String hour_min_sec = new SimpleDateFormat("HH:mm:ss").format(date);
  1931.  
  1932. BanCMD.Banned_cfg.set(UUID + ".Name", p.getName());
  1933. e.disallow(Result.KICK_BANNED, "§8[§4Spielverbot§8] §7Du wurdest vom Spiel §4ausgeschlossen." + "\n" + "\n" + "§eGrund: §7" + BanCMD.Banned_cfg.getString(UUID + ".Grund") + "\n" + "\n" + "§eEnde des Bans: §7" + mm_dd_yyyy + " um " + hour_min_sec + " Uhr" + "\n" + "\n" + "§7Einen Entbannantrag kannst du unter" + "\n" + "§e" + UnbanAntragIp + "\n" + "§7stellen.");
  1934.  
  1935. try {
  1936. BanCMD.Banned_cfg.save(BanCMD.Banned);
  1937. } catch (IOException e1) {
  1938. e1.printStackTrace();
  1939. };
  1940.  
  1941. }
  1942. }
  1943. }
  1944.  
  1945. @EventHandler
  1946. public void onMute(AsyncPlayerChatEvent e) {
  1947.  
  1948. Player p = e.getPlayer();
  1949. String UUID = String.valueOf(p.getUniqueId());
  1950.  
  1951. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  1952.  
  1953. if(BanCMD.Mutet_cfg.get(UUID + ".Laenge") == null) {
  1954.  
  1955. } else if(BanCMD.Mutet_cfg.getLong(UUID + ".Laenge") < System.currentTimeMillis()) {
  1956.  
  1957. BanCMD.Mutet_cfg.set(UUID, null);
  1958.  
  1959. for(Player all : Bukkit.getOnlinePlayers()) {
  1960. if(all.hasPermission("system.bansystem.unmute.see")) {
  1961. all.sendMessage(Prefix + "§7Der Spieler §a" + p.getName() + " §7wurde von der §b§lAutomatischen Cloud §7entmutet!");
  1962. }
  1963. }
  1964.  
  1965. try {
  1966. BanCMD.Mutet_cfg.save(BanCMD.Mutet);
  1967. } catch (IOException e2) {
  1968. e2.printStackTrace();
  1969. }
  1970. } else {
  1971.  
  1972. e.setCancelled(true);
  1973.  
  1974. Date date = new Date(BanCMD.Mutet_cfg.getLong(UUID + ".Laenge"));
  1975. String mm_dd_yyyy = new SimpleDateFormat("dd-MM-yyyy").format(date);
  1976. String hour_min_sec = new SimpleDateFormat("HH:mm:ss").format(date);
  1977.  
  1978. p.sendMessage(Prefix + "§7Du bist bis zum §e" + mm_dd_yyyy + " um " + hour_min_sec + " §7gemutet.");
  1979. p.sendMessage(Prefix + "§7Grund: §e" + BanCMD.Mutet_cfg.getString(UUID + ".Grund"));
  1980.  
  1981. }
  1982. }
  1983.  
  1984. @EventHandler
  1985. public void onMuteCMD(PlayerCommandPreprocessEvent e) {
  1986.  
  1987. Player p = e.getPlayer();
  1988. String UUID = String.valueOf(p.getUniqueId());
  1989.  
  1990. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  1991.  
  1992. String[] cmd = e.getMessage().substring(1).split(" ");
  1993.  
  1994. if(cmd[0].equalsIgnoreCase("msg") || cmd[0].equalsIgnoreCase("r")) {
  1995.  
  1996. if(BanCMD.Mutet_cfg.get(UUID + ".Laenge") == null) {
  1997.  
  1998. } else if(BanCMD.Mutet_cfg.getLong(UUID + ".Laenge") < System.currentTimeMillis()) {
  1999.  
  2000. BanCMD.Mutet_cfg.set(UUID, null);
  2001.  
  2002. for(Player all : Bukkit.getOnlinePlayers()) {
  2003. if(all.hasPermission("system.bansystem.unmute.see")) {
  2004. all.sendMessage(Prefix + "§7Der Spieler §a" + p.getName() + " §7wurde von der §b§lAutomatischen Cloud §7entmutet!");
  2005. }
  2006. }
  2007.  
  2008. try {
  2009. BanCMD.Mutet_cfg.save(BanCMD.Mutet);
  2010. } catch (IOException e2) {
  2011. e2.printStackTrace();
  2012. }
  2013.  
  2014. } else {
  2015.  
  2016. e.setCancelled(true);
  2017.  
  2018. Date date = new Date(BanCMD.Mutet_cfg.getLong(UUID + ".Laenge"));
  2019. String mm_dd_yyyy = new SimpleDateFormat("dd-MM-yyyy").format(date);
  2020. String hour_min_sec = new SimpleDateFormat("HH:mm:ss").format(date);
  2021.  
  2022. p.sendMessage(Prefix + "§7Du bist bis zum §e" + mm_dd_yyyy + " um " + hour_min_sec + " §7gemutet.");
  2023. p.sendMessage(Prefix + "§7Grund: §e" + BanCMD.Mutet_cfg.getString(UUID + ".Grund"));
  2024.  
  2025. }
  2026. }
  2027. }
  2028.  
  2029. @EventHandler
  2030. public void onQuit(PlayerQuitEvent e) {
  2031.  
  2032. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  2033.  
  2034. Player p = e.getPlayer();
  2035.  
  2036. if(VanishCMD.yVanish.contains(p.getName())) {
  2037. if((VanishCMD.yVanish.getString(p.getName() + ".Vanish").contains("true"))) {
  2038.  
  2039. e.setQuitMessage(null);
  2040.  
  2041. for(Player all : Bukkit.getOnlinePlayers()) {
  2042. if(!all.hasPermission("system.vanish.see")) {
  2043. all.hidePlayer(p);
  2044. } else {
  2045. all.sendMessage(Prefix + "§7Der Spieler §a" + e.getPlayer().getName() + " §7ist geleavt und ist noch im Vanish.");
  2046. }
  2047. }
  2048. }
  2049. }
  2050. }
  2051.  
  2052. @EventHandler
  2053. public void onVanish(PlayerJoinEvent e) {
  2054.  
  2055. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  2056.  
  2057. Player p = e.getPlayer();
  2058.  
  2059. if(VanishCMD.yVanish.contains(p.getName())) {
  2060. if((VanishCMD.yVanish.getString(p.getName() + ".Vanish").contains("true"))) {
  2061.  
  2062. e.setJoinMessage(null);
  2063.  
  2064. for(Player all : Bukkit.getOnlinePlayers()) {
  2065. if(!all.hasPermission("system.vanish.see")) {
  2066. all.hidePlayer(p);
  2067. } else {
  2068. all.sendMessage(Prefix + "§7Der Spieler §a" + e.getPlayer().getName() + " §7ist gejoint und ist noch im Vanish.");
  2069. }
  2070. }
  2071. }
  2072. }
  2073. for(Player all : Bukkit.getOnlinePlayers()) {
  2074. if(VanishCMD.yVanish.contains(all.getName())) {
  2075. if((VanishCMD.yVanish.getString(all.getName() + ".Vanish").contains("true"))) {
  2076. if(!p.hasPermission("system.vanish.see")) {
  2077. p.hidePlayer(all);
  2078. } else {
  2079. p.sendMessage(Prefix + "§7Der Spieler §a" + p.getName() + " §7ist im Vanish!");
  2080. }
  2081. }
  2082. }
  2083. }
  2084. }
  2085.  
  2086. @EventHandler
  2087. public void onBB(PlayerInteractEvent e) {
  2088.  
  2089. Player p = e.getPlayer();
  2090.  
  2091. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  2092.  
  2093. if(BreakBlockCMD.BB.contains(p)) {
  2094.  
  2095. PlotAPI papi;
  2096.  
  2097. papi = new PlotAPI();
  2098.  
  2099. if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {
  2100.  
  2101. BreakBlockCMD.BB.remove(p);
  2102.  
  2103. if(papi.getPlot(e.getClickedBlock().getLocation()) != null) {
  2104. if(papi.getPlot(e.getClickedBlock().getLocation()).isOwner(p.getUniqueId())) {
  2105. if(e.getClickedBlock().getLocation().getY() >= 3) {
  2106.  
  2107. e.getClickedBlock().setType(Material.AIR);
  2108. p.sendMessage(Prefix + "§aDer Block wurde erfolgreich entfernt.");
  2109.  
  2110. } else {
  2111. p.sendMessage(Prefix + "§cDu kannst auf den Ebenen 0-3 keinen Block zerstören!");
  2112. }
  2113. } else {
  2114. p.sendMessage(Prefix + "§cDu kannst diese Aktion nicht ausführen, da du nicht der Besitzer des Grundstücks bist.");
  2115. }
  2116. } else {
  2117. p.sendMessage(Prefix + "§cDu kannst diese Aktion nicht ausführen, da du nicht der Besitzer des Grundstücks bist.");
  2118. }
  2119. }
  2120. }
  2121. }
  2122.  
  2123. @EventHandler
  2124. public void onChatLog(AsyncPlayerChatEvent e) {
  2125.  
  2126. Player p = e.getPlayer();
  2127.  
  2128. if(plugin.getConfig().getString("ChatLog").equalsIgnoreCase("true")) {
  2129.  
  2130. Date date = new Date(System.currentTimeMillis());
  2131. String mm_dd_yyyy = new SimpleDateFormat("dd.MM.yyyy").format(date);
  2132. String hour_min_sec = new SimpleDateFormat("HH:mm:ss").format(date);
  2133.  
  2134. File ChatLog = new File("plugins/GrieferGames/Data/Logs/Chat/" + mm_dd_yyyy + ".yml");
  2135. YamlConfiguration yChatLog = YamlConfiguration.loadConfiguration(ChatLog);
  2136.  
  2137. yChatLog.set("ChatLog" + "." + hour_min_sec + " : " + p.getName(), e.getMessage().replace("§", ""));
  2138.  
  2139. try {
  2140. yChatLog.save(ChatLog);
  2141. } catch (IOException e1) {
  2142. e1.printStackTrace();
  2143. }
  2144. }
  2145. }
  2146.  
  2147. @EventHandler
  2148. public void onCMDLog(PlayerCommandPreprocessEvent e) {
  2149.  
  2150. Player p = e.getPlayer();
  2151.  
  2152. if(plugin.getConfig().getString("CommandLog").equalsIgnoreCase("true")) {
  2153.  
  2154. Date date = new Date(System.currentTimeMillis());
  2155. String mm_dd_yyyy = new SimpleDateFormat("dd.MM.yyyy").format(date);
  2156. String hour_min_sec = new SimpleDateFormat("HH:mm:ss").format(date);
  2157.  
  2158. File CMDLog = new File("plugins/GrieferGames/Data/Logs/Command/" + mm_dd_yyyy + ".yml");
  2159. YamlConfiguration yCMDLog = YamlConfiguration.loadConfiguration(CMDLog);
  2160.  
  2161. yCMDLog.set("CommandLog" + "." + hour_min_sec + " : " + p.getName(), e.getMessage().replace("§", ""));
  2162.  
  2163. try {
  2164. yCMDLog.save(CMDLog);
  2165. } catch (IOException e1) {
  2166. e1.printStackTrace();
  2167. }
  2168. }
  2169. }
  2170.  
  2171. @EventHandler
  2172. public void onMeldungen(InventoryClickEvent e) {
  2173.  
  2174. Player p = (Player) e.getWhoClicked();
  2175.  
  2176. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  2177.  
  2178. if(e.getInventory().getName().equalsIgnoreCase("§4§lMeldungen")) {
  2179.  
  2180. e.setCancelled(true);
  2181.  
  2182. if(e.getCurrentItem() != null) {
  2183. if(e.getCurrentItem().getType() != Material.AIR) {
  2184. if(e.getCurrentItem().getType() == Material.SKULL_ITEM) {
  2185. if(e.getCurrentItem().hasItemMeta()) {
  2186. if(e.getCurrentItem().getItemMeta().getDisplayName().startsWith("§a§l")) {
  2187.  
  2188. String Name = e.getCurrentItem().getItemMeta().getDisplayName().replaceAll("§a§l", "");
  2189.  
  2190. MainListener.Name.put(p, Name);
  2191.  
  2192. String DatumS = MeldungCMD.yMeldungC.getString("Meldungen" + "." + MainListener.Name.get(p) + ".Datum");
  2193. String UhrzeitS = MeldungCMD.yMeldungC.getString("Meldungen" + "." + MainListener.Name.get(p) + ".Uhrzeit");
  2194.  
  2195. Inventory MPlayer = Bukkit.createInventory(null, 9*1, "§4§lM§8§l:" + e.getCurrentItem().getItemMeta().getDisplayName());
  2196.  
  2197. MPlayer.setItem(1, ItemBuilder.createItem(Material.PAPER, "§4§lMeldung", 1, new String[] {"§7§lKlicke um die Meldung im", "§7§lChat anzeigen zu lassen."}));
  2198.  
  2199. MPlayer.setItem(3, ItemBuilder.createItemOL(Material.WATCH, "§e§lAm §4§l" + DatumS + " §e§lum §4§l" + UhrzeitS + " §e§lUhr", 1));
  2200.  
  2201. MPlayer.setItem(5, ItemBuilder.createItem(Material.ENDER_PEARL, "§5§lLocation", 1, new String[] {"§7§lKlicke um dich zu teleportieren."}));
  2202.  
  2203. MPlayer.setItem(7, ItemBuilder.createItem(Material.BARRIER, "§4§lLöschen", 1, new String[] {"§7§lKlicke um den Beitrag zu löschen."}));
  2204.  
  2205. p.openInventory(MPlayer);
  2206.  
  2207. }
  2208. }
  2209. }
  2210. }
  2211. }
  2212. }
  2213. if(e.getInventory().getName().equalsIgnoreCase("§4§lM§8§l:§a§l" + Name.get(p))) {
  2214.  
  2215. e.setCancelled(true);
  2216.  
  2217. if(e.getCurrentItem() != null) {
  2218. if(e.getCurrentItem().getType() != Material.AIR) {
  2219. if(e.getCurrentItem().hasItemMeta()) {
  2220. if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§4§lMeldung")) {
  2221.  
  2222. String MeldungS = MeldungCMD.yMeldungC.getString("Meldungen" + "." + MainListener.Name.get(p) + ".Meldung");
  2223.  
  2224. p.closeInventory();
  2225.  
  2226. p.sendMessage(Prefix + "§4§lMeldung von " + Name.get(p) + " §8§l: §f§l" + MeldungS);
  2227.  
  2228. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§5§lLocation")) {
  2229.  
  2230. String WeltS = MeldungCMD.yMeldungC.getString("Meldungen" + "." + MainListener.Name.get(p) + ".Location" + ".Welt");
  2231. Integer XI = MeldungCMD.yMeldungC.getInt("Meldungen" + "." + MainListener.Name.get(p) + ".Location" + ".X");
  2232. Integer YI = MeldungCMD.yMeldungC.getInt("Meldungen" + "." + MainListener.Name.get(p) + ".Location" + ".Y");
  2233. Integer ZI = MeldungCMD.yMeldungC.getInt("Meldungen" + "." + MainListener.Name.get(p) + ".Location" + ".Z");
  2234.  
  2235. Location loc = new Location(Bukkit.getWorld(WeltS), XI, YI, ZI);
  2236.  
  2237. p.closeInventory();
  2238.  
  2239. p.teleport(loc);
  2240.  
  2241. p.sendMessage(Prefix + "§5§lDu wurdest zur §4§lLocation §5§lteleportiert!");
  2242.  
  2243. p.playSound(p.getLocation(), Sound.ENDERMAN_TELEPORT, 1, 1);
  2244.  
  2245. p.playEffect(p.getLocation(), Effect.ENDER_SIGNAL, 10);
  2246.  
  2247. } else if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§4§lLöschen")) {
  2248.  
  2249. p.closeInventory();
  2250.  
  2251. p.sendMessage(Prefix + "§7Du hast die §eMeldung §7von §a" + Name.get(p) + " §4gelöscht§7!");
  2252.  
  2253. List<String> MeldungenL = MeldungCMD.yMeldungC.getStringList("Meldungen von");
  2254.  
  2255. MeldungenL.remove(Name.get(p));
  2256. MeldungCMD.yMeldungC.set("Meldungen von", MeldungenL);
  2257.  
  2258. MeldungCMD.yMeldungC.set("Meldungen" + "." + Name.get(p), null);
  2259.  
  2260. try {
  2261. MeldungCMD.yMeldungC.save(MeldungCMD.MeldungC);
  2262. } catch (IOException e1) {
  2263. e1.printStackTrace();
  2264. }
  2265. }
  2266. }
  2267. }
  2268. }
  2269. }
  2270. }
  2271.  
  2272. @EventHandler
  2273. public void onHunger(FoodLevelChangeEvent e) {
  2274. if(e.getEntity() instanceof Player) {
  2275.  
  2276. Player p = (Player) e.getEntity();
  2277.  
  2278. File Perk = new File("plugins/GrieferGames/Data/Perk.yml");
  2279. YamlConfiguration yPerk = YamlConfiguration.loadConfiguration(Perk);
  2280.  
  2281. if(yPerk.getString(p.getUniqueId() + ".NoHunger") != null) {
  2282. if(yPerk.getBoolean(p.getUniqueId() + ".NoHunger") == true) {
  2283.  
  2284. e.setFoodLevel(20);
  2285.  
  2286. }
  2287. }
  2288. }
  2289. }
  2290.  
  2291. @EventHandler
  2292. public void onFallDMG(EntityDamageEvent e) {
  2293. if(e.getEntity() instanceof Player) {
  2294.  
  2295. Player p = (Player) e.getEntity();
  2296.  
  2297. if(e.getCause() == DamageCause.FALL) {
  2298.  
  2299. File Perk = new File("plugins/GrieferGames/Data/Perk.yml");
  2300. YamlConfiguration yPerk = YamlConfiguration.loadConfiguration(Perk);
  2301.  
  2302. if(yPerk.getString(p.getUniqueId() + ".NoFall") != null) {
  2303. if(yPerk.getBoolean(p.getUniqueId() + ".NoFall") == true) {
  2304.  
  2305. e.setCancelled(true);
  2306.  
  2307. }
  2308. }
  2309. }
  2310. }
  2311. }
  2312.  
  2313. @EventHandler
  2314. public void onStatus(PlayerJoinEvent e) {
  2315.  
  2316. Player p = e.getPlayer();
  2317.  
  2318. File Status = new File("plugins/GrieferGames/Data/Status.yml");
  2319. YamlConfiguration yStatus = YamlConfiguration.loadConfiguration(Status);
  2320.  
  2321. if(yStatus.getString(p.getUniqueId().toString()) != null) {
  2322.  
  2323. String StatusS = yStatus.getString(p.getUniqueId().toString());
  2324.  
  2325. p.chat(StatusS);
  2326.  
  2327. Firework firework = p.getWorld().spawn(p.getLocation(), Firework.class);
  2328.  
  2329. FireworkEffect effect = FireworkEffect.builder()
  2330. .withColor(Color.GREEN)
  2331. .flicker(true)
  2332. .trail(true)
  2333. .withFade(Color.RED)
  2334. .with(FireworkEffect.Type.BALL_LARGE)
  2335. .build();
  2336.  
  2337. FireworkMeta meta = firework.getFireworkMeta();
  2338. meta.addEffect(effect);
  2339. meta.setPower(1);
  2340.  
  2341. firework.setFireworkMeta(meta);
  2342.  
  2343. }
  2344. }
  2345.  
  2346. @EventHandler
  2347. public void onGun(PlayerInteractEvent e) {
  2348.  
  2349. Player p = e.getPlayer();
  2350.  
  2351. if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
  2352. if(e.getItem() != null) {
  2353. if(e.getItem().getType() == Material.DIAMOND_HOE) {
  2354. if(e.getItem().hasItemMeta()) {
  2355. if(e.getItem().getItemMeta().hasDisplayName()) {
  2356. if(e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("§bPaintball Gun")) {
  2357. if(e.getItem().getItemMeta().hasLore()) {
  2358. if(!gunwait.contains(p.getName())) {
  2359.  
  2360. gunwait.add(p.getName());
  2361.  
  2362. String MaterialS = e.getItem().getItemMeta().getLore().get(0);
  2363.  
  2364. ItemStack newi = new ItemStack(e.getItem());
  2365. newi.setDurability((short) (e.getItem().getDurability()+196));
  2366.  
  2367. if(MaterialS.equalsIgnoreCase("Beacon")) {
  2368. guntype.put(p, Material.BEACON);
  2369. } else if(MaterialS.equalsIgnoreCase("DragonEgg")) {
  2370. guntype.put(p, Material.DRAGON_EGG);
  2371. } else if(MaterialS.equalsIgnoreCase("Spawner")) {
  2372. guntype.put(p, Material.MOB_SPAWNER);
  2373. } else if(MaterialS.equalsIgnoreCase("Emeraldblock")) {
  2374. guntype.put(p, Material.EMERALD_BLOCK);
  2375. } else if(MaterialS.equalsIgnoreCase("Sponge")) {
  2376. guntype.put(p, Material.SPONGE);
  2377. } else if(MaterialS.equalsIgnoreCase("Obsidian")) {
  2378. guntype.put(p, Material.OBSIDIAN);
  2379. } else if(MaterialS.equalsIgnoreCase("Grundstein")) {
  2380. guntype.put(p, Material.BEDROCK);
  2381. } else if(MaterialS.equalsIgnoreCase("DiaOre")) {
  2382. guntype.put(p, Material.DIAMOND_ORE);
  2383. } else if(MaterialS.equalsIgnoreCase("TNT")) {
  2384. guntype.put(p, Material.TNT);
  2385. }
  2386.  
  2387. p.launchProjectile(Snowball.class);
  2388.  
  2389. if(newi.getDurability() <= 1561) {
  2390. p.getInventory().setItemInHand(newi);
  2391. } else {
  2392. p.getInventory().setItemInHand(new ItemStack(Material.AIR));
  2393. p.playSound(p.getLocation(), Sound.ITEM_BREAK, 1, 1);
  2394. }
  2395.  
  2396. Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
  2397.  
  2398. @Override
  2399. public void run() {
  2400.  
  2401. gunwait.remove(p.getName());
  2402.  
  2403. }
  2404. }, 20);
  2405. }
  2406. }
  2407. }
  2408. }
  2409. }
  2410. }
  2411. }
  2412. }
  2413. if(e.getClickedBlock() != null) {
  2414. if(guncheck.contains(e.getClickedBlock().getLocation().getBlock().getLocation())) {
  2415.  
  2416. e.setCancelled(true);
  2417.  
  2418. }
  2419. }
  2420. }
  2421.  
  2422. @EventHandler
  2423. public void onLaunch(ProjectileLaunchEvent e) {
  2424. try {
  2425. Player p = (Player) e.getEntity().getShooter();
  2426.  
  2427. if(e.getEntity() instanceof Snowball) {
  2428. if(guntype.containsKey(p)) {
  2429. if(guntype.get(p).equals(Material.BEACON)) {
  2430. e.getEntity().setCustomName("Beacon");
  2431. guntype.remove(p);
  2432. } else if(guntype.get(p).equals(Material.DRAGON_EGG)) {
  2433. e.getEntity().setCustomName("DragonEgg");
  2434. guntype.remove(p);
  2435. } else if(guntype.get(p).equals(Material.MOB_SPAWNER)) {
  2436. e.getEntity().setCustomName("Spawner");
  2437. guntype.remove(p);
  2438. } else if(guntype.get(p).equals(Material.EMERALD_BLOCK)) {
  2439. e.getEntity().setCustomName("Emeraldblock");
  2440. guntype.remove(p);
  2441. } else if(guntype.get(p).equals(Material.SPONGE)) {
  2442. e.getEntity().setCustomName("Sponge");
  2443. guntype.remove(p);
  2444. } else if(guntype.get(p).equals(Material.OBSIDIAN)) {
  2445. e.getEntity().setCustomName("Obsidian");
  2446. guntype.remove(p);
  2447. } else if(guntype.get(p).equals(Material.BEDROCK)) {
  2448. e.getEntity().setCustomName("Grundstein");
  2449. guntype.remove(p);
  2450. } else if(guntype.get(p).equals(Material.DIAMOND_ORE)) {
  2451. e.getEntity().setCustomName("DiaOre");
  2452. guntype.remove(p);
  2453. } else if(guntype.get(p).equals(Material.TNT)) {
  2454. e.getEntity().setCustomName("TNT");
  2455. guntype.remove(p);
  2456. }
  2457. }
  2458. }
  2459. } catch(Exception e1) {}
  2460. }
  2461.  
  2462. @EventHandler
  2463. public void hit(ProjectileHitEvent e) {
  2464. try {
  2465.  
  2466. PlotAPI papi;
  2467.  
  2468. papi = new PlotAPI();
  2469.  
  2470. if(papi.getPlot(e.getEntity().getLocation()) == null) {
  2471. if(e.getEntity() instanceof Snowball) {
  2472. if(e.getEntity().getCustomName().equalsIgnoreCase("Beacon")) {
  2473.  
  2474. gunblock.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getType());
  2475. gunblockdata.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getData());
  2476. guncheck.add(e.getEntity().getLocation().getBlock().getLocation());
  2477.  
  2478. Location bl = e.getEntity().getLocation().getBlock().getLocation();
  2479.  
  2480. e.getEntity().getLocation().getBlock().setType(Material.BEACON);
  2481.  
  2482. Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
  2483.  
  2484. @Override
  2485. public void run() {
  2486.  
  2487. bl.getBlock().setType(gunblock.get(bl));
  2488. bl.getBlock().setData(gunblockdata.get(bl));
  2489.  
  2490. gunblock.remove(bl);
  2491. gunblockdata.remove(bl);
  2492. guncheck.remove(bl);
  2493.  
  2494. }
  2495. }, 20*5);
  2496. } else if(e.getEntity().getCustomName().equalsIgnoreCase("DragonEgg")) {
  2497.  
  2498. gunblock.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getType());
  2499. gunblockdata.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getData());
  2500. guncheck.add(e.getEntity().getLocation().getBlock().getLocation());
  2501.  
  2502. Location bl = e.getEntity().getLocation().getBlock().getLocation();
  2503.  
  2504. e.getEntity().getLocation().getBlock().setType(Material.DRAGON_EGG);
  2505.  
  2506. Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
  2507.  
  2508. @Override
  2509. public void run() {
  2510.  
  2511. bl.getBlock().setType(gunblock.get(bl));
  2512. bl.getBlock().setData(gunblockdata.get(bl));
  2513.  
  2514. gunblock.remove(bl);
  2515. gunblockdata.remove(bl);
  2516. guncheck.remove(bl);
  2517.  
  2518. }
  2519. }, 20*5);
  2520. } else if(e.getEntity().getCustomName().equalsIgnoreCase("Spawner")) {
  2521.  
  2522. gunblock.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getType());
  2523. gunblockdata.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getData());
  2524. guncheck.add(e.getEntity().getLocation().getBlock().getLocation());
  2525.  
  2526. Location bl = e.getEntity().getLocation().getBlock().getLocation();
  2527.  
  2528. e.getEntity().getLocation().getBlock().setType(Material.MOB_SPAWNER);
  2529.  
  2530. Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
  2531.  
  2532. @Override
  2533. public void run() {
  2534.  
  2535. bl.getBlock().setType(gunblock.get(bl));
  2536. bl.getBlock().setData(gunblockdata.get(bl));
  2537.  
  2538. gunblock.remove(bl);
  2539. gunblockdata.remove(bl);
  2540. guncheck.remove(bl);
  2541.  
  2542. }
  2543. }, 20*5);
  2544. } else if(e.getEntity().getCustomName().equalsIgnoreCase("Emeraldblock")) {
  2545.  
  2546. gunblock.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getType());
  2547. gunblockdata.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getData());
  2548. guncheck.add(e.getEntity().getLocation().getBlock().getLocation());
  2549.  
  2550. Location bl = e.getEntity().getLocation().getBlock().getLocation();
  2551.  
  2552. e.getEntity().getLocation().getBlock().setType(Material.EMERALD_BLOCK);
  2553.  
  2554. Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
  2555.  
  2556. @Override
  2557. public void run() {
  2558.  
  2559. bl.getBlock().setType(gunblock.get(bl));
  2560. bl.getBlock().setData(gunblockdata.get(bl));
  2561.  
  2562. gunblock.remove(bl);
  2563. gunblockdata.remove(bl);
  2564. guncheck.remove(bl);
  2565.  
  2566. }
  2567. }, 20*5);
  2568. } else if(e.getEntity().getCustomName().equalsIgnoreCase("Sponge")) {
  2569.  
  2570. gunblock.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getType());
  2571. gunblockdata.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getData());
  2572. guncheck.add(e.getEntity().getLocation().getBlock().getLocation());
  2573.  
  2574. Location bl = e.getEntity().getLocation().getBlock().getLocation();
  2575.  
  2576. e.getEntity().getLocation().getBlock().setType(Material.SPONGE);
  2577.  
  2578. Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
  2579.  
  2580. @Override
  2581. public void run() {
  2582.  
  2583. bl.getBlock().setType(gunblock.get(bl));
  2584. bl.getBlock().setData(gunblockdata.get(bl));
  2585.  
  2586. gunblock.remove(bl);
  2587. gunblockdata.remove(bl);
  2588. guncheck.remove(bl);
  2589.  
  2590. }
  2591. }, 20*5);
  2592. } else if(e.getEntity().getCustomName().equalsIgnoreCase("Obsidian")) {
  2593.  
  2594. gunblock.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getType());
  2595. gunblockdata.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getData());
  2596. guncheck.add(e.getEntity().getLocation().getBlock().getLocation());
  2597.  
  2598. Location bl = e.getEntity().getLocation().getBlock().getLocation();
  2599.  
  2600. e.getEntity().getLocation().getBlock().setType(Material.OBSIDIAN);
  2601.  
  2602. Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
  2603.  
  2604. @Override
  2605. public void run() {
  2606.  
  2607. bl.getBlock().setType(gunblock.get(bl));
  2608. bl.getBlock().setData(gunblockdata.get(bl));
  2609.  
  2610. gunblock.remove(bl);
  2611. gunblockdata.remove(bl);
  2612. guncheck.remove(bl);
  2613.  
  2614. }
  2615. }, 20*5);
  2616. } else if(e.getEntity().getCustomName().equalsIgnoreCase("Grundstein")) {
  2617.  
  2618. gunblock.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getType());
  2619. gunblockdata.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getData());
  2620. guncheck.add(e.getEntity().getLocation().getBlock().getLocation());
  2621.  
  2622. Location bl = e.getEntity().getLocation().getBlock().getLocation();
  2623.  
  2624. e.getEntity().getLocation().getBlock().setType(Material.BEDROCK);
  2625.  
  2626. Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
  2627.  
  2628. @Override
  2629. public void run() {
  2630.  
  2631. bl.getBlock().setType(gunblock.get(bl));
  2632. bl.getBlock().setData(gunblockdata.get(bl));
  2633.  
  2634. gunblock.remove(bl);
  2635. gunblockdata.remove(bl);
  2636. guncheck.remove(bl);
  2637.  
  2638. }
  2639. }, 20*5);
  2640. } else if(e.getEntity().getCustomName().equalsIgnoreCase("DiaOre")) {
  2641.  
  2642. gunblock.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getType());
  2643. gunblockdata.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getData());
  2644. guncheck.add(e.getEntity().getLocation().getBlock().getLocation());
  2645.  
  2646. Location bl = e.getEntity().getLocation().getBlock().getLocation();
  2647.  
  2648. e.getEntity().getLocation().getBlock().setType(Material.DIAMOND_ORE);
  2649.  
  2650. Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
  2651.  
  2652. @Override
  2653. public void run() {
  2654.  
  2655. bl.getBlock().setType(gunblock.get(bl));
  2656. bl.getBlock().setData(gunblockdata.get(bl));
  2657.  
  2658. gunblock.remove(bl);
  2659. gunblockdata.remove(bl);
  2660. guncheck.remove(bl);
  2661.  
  2662. }
  2663. }, 20*5);
  2664. } else if(e.getEntity().getCustomName().equalsIgnoreCase("TNT")) {
  2665.  
  2666. gunblock.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getType());
  2667. gunblockdata.put(e.getEntity().getLocation().getBlock().getLocation(), e.getEntity().getLocation().getBlock().getData());
  2668. guncheck.add(e.getEntity().getLocation().getBlock().getLocation());
  2669.  
  2670. Location bl = e.getEntity().getLocation().getBlock().getLocation();
  2671.  
  2672. e.getEntity().getLocation().getBlock().setType(Material.TNT);
  2673.  
  2674. Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
  2675.  
  2676. @Override
  2677. public void run() {
  2678.  
  2679. bl.getBlock().setType(gunblock.get(bl));
  2680. bl.getBlock().setData(gunblockdata.get(bl));
  2681.  
  2682. gunblock.remove(bl);
  2683. gunblockdata.remove(bl);
  2684. guncheck.remove(bl);
  2685.  
  2686. }
  2687. }, 20*5);
  2688. }
  2689. }
  2690. }
  2691. } catch(Exception e1) {}
  2692. }
  2693.  
  2694. public void setRand(Player p, String id, Plot plot) {
  2695.  
  2696. PlotAPI papi;
  2697.  
  2698. papi = new PlotAPI();
  2699.  
  2700. PlotBlock[] pb = (PlotBlock[])Configuration.BLOCKLIST.parseString(id);
  2701.  
  2702. if(plot.getConnectedPlots().size() > 1) {
  2703. for (Plot plots : plot.getConnectedPlots()) {
  2704. papi.getPlotManager(p.getWorld()).setComponent(plots.getArea(), plots.getId(), "border", pb);
  2705. }
  2706. } else {
  2707. papi.getPlotManager(p.getWorld()).setComponent(plot.getArea(), plot.getId(), "border", pb);
  2708. }
  2709. }
  2710.  
  2711. @EventHandler
  2712. public void onFlyBooster(PlayerJoinEvent e) {
  2713.  
  2714. Player p = e.getPlayer();
  2715.  
  2716. if(BoosterCMD.FlyB == 1) {
  2717. p.setAllowFlight(true);
  2718. } else {
  2719. if(p.getGameMode() == GameMode.SURVIVAL || p.getGameMode() == GameMode.ADVENTURE) {
  2720. p.setAllowFlight(false);
  2721. }
  2722. }
  2723. }
  2724.  
  2725. @EventHandler
  2726. public void onMobBooster(EntityDeathEvent e) {
  2727. if(!(e.getEntity() instanceof Player)) {
  2728. if(e.getEntity().getKiller() instanceof Player) {
  2729. if(BoosterCMD.MobB != 0) {
  2730. if(e.getEntity().getType() != EntityType.HORSE) {
  2731.  
  2732. Integer Multiplikator = BoosterCMD.MobB+1;
  2733.  
  2734. List<ItemStack> items = e.getDrops();
  2735.  
  2736. for(Integer i = 0; i < Multiplikator; i++) {
  2737. for(ItemStack newitems : items) {
  2738.  
  2739. e.getEntity().getWorld().dropItemNaturally(e.getEntity().getLocation(), newitems);
  2740.  
  2741. }
  2742. }
  2743.  
  2744. e.getDrops().clear();
  2745.  
  2746. } else {
  2747.  
  2748. Integer Multiplikator = BoosterCMD.MobB+1;
  2749.  
  2750. List<ItemStack> items = e.getDrops();
  2751.  
  2752. for(Integer i = 0; i < Multiplikator; i++) {
  2753. for(ItemStack newitems : items) {
  2754. if(newitems.getType() == Material.LEATHER) {
  2755.  
  2756. e.getEntity().getWorld().dropItemNaturally(e.getEntity().getLocation(), newitems);
  2757.  
  2758. }
  2759. }
  2760. }
  2761.  
  2762. for(ItemStack newitems2 : items) {
  2763. if(newitems2.getType() != Material.LEATHER) {
  2764. e.getEntity().getWorld().dropItemNaturally(e.getEntity().getLocation(), newitems2);
  2765. }
  2766. }
  2767.  
  2768. e.getDrops().clear();
  2769. }
  2770. }
  2771. }
  2772. }
  2773. }
  2774.  
  2775. @EventHandler
  2776. public void onErfahrungsBooster(PlayerExpChangeEvent e) {
  2777.  
  2778. if(BoosterCMD.XPB != 0) {
  2779.  
  2780. Integer Multiplikator = BoosterCMD.XPB+1;
  2781.  
  2782. e.setAmount(e.getAmount()*Multiplikator);
  2783. }
  2784. }
  2785.  
  2786. @EventHandler
  2787. public void onDropBooster(BlockBreakEvent e) {
  2788. if(e.getPlayer().getGameMode() == GameMode.SURVIVAL) {
  2789. if(BoosterCMD.DropB != 0) {
  2790. if(!e.getPlayer().getInventory().getItemInHand().getItemMeta().hasEnchant(Enchantment.SILK_TOUCH)) {
  2791. if(e.getBlock().getType() == Material.IRON_ORE) {
  2792.  
  2793. Integer Multiplikator = BoosterCMD.DropB+1;
  2794.  
  2795. ItemStack i = new ItemStack(Material.IRON_INGOT, Multiplikator);
  2796.  
  2797. e.getBlock().getWorld().dropItemNaturally(e.getBlock().getLocation(), i);
  2798.  
  2799. e.getBlock().setType(Material.AIR);
  2800.  
  2801. } else if(e.getBlock().getType() == Material.GOLD_ORE) {
  2802.  
  2803. Integer Multiplikator = BoosterCMD.DropB+1;
  2804.  
  2805. ItemStack i = new ItemStack(Material.GOLD_INGOT, Multiplikator);
  2806.  
  2807. e.getBlock().getWorld().dropItemNaturally(e.getBlock().getLocation(), i);
  2808.  
  2809. e.getBlock().setType(Material.AIR);
  2810.  
  2811. } else if(e.getBlock().getType() == Material.COAL_ORE) {
  2812.  
  2813. Integer Multiplikator = BoosterCMD.DropB+1;
  2814.  
  2815. ItemStack i = new ItemStack(Material.COAL, Multiplikator);
  2816.  
  2817. e.getBlock().getWorld().dropItemNaturally(e.getBlock().getLocation(), i);
  2818.  
  2819. e.getBlock().setType(Material.AIR);
  2820.  
  2821. } else if(e.getBlock().getType() == Material.DIAMOND_ORE) {
  2822.  
  2823. Integer Multiplikator = BoosterCMD.DropB+1;
  2824.  
  2825. ItemStack i = new ItemStack(Material.DIAMOND, Multiplikator);
  2826.  
  2827. e.getBlock().getWorld().dropItemNaturally(e.getBlock().getLocation(), i);
  2828.  
  2829. e.getBlock().setType(Material.AIR);
  2830.  
  2831. } else if(e.getBlock().getType() == Material.EMERALD_ORE) {
  2832.  
  2833. Integer Multiplikator = BoosterCMD.DropB+1;
  2834.  
  2835. ItemStack i = new ItemStack(Material.EMERALD, Multiplikator);
  2836.  
  2837. e.getBlock().getWorld().dropItemNaturally(e.getBlock().getLocation(), i);
  2838.  
  2839. e.getBlock().setType(Material.AIR);
  2840.  
  2841. } else if(e.getBlock().getType() == Material.LAPIS_ORE) {
  2842.  
  2843. Integer Multiplikator = BoosterCMD.DropB+1;
  2844.  
  2845. ItemStack i = new ItemStack(351, 4+Multiplikator, (short) 4);
  2846.  
  2847. e.getBlock().getWorld().dropItemNaturally(e.getBlock().getLocation(), i);
  2848.  
  2849. e.getBlock().setType(Material.AIR);
  2850.  
  2851. } else if(e.getBlock().getType() == Material.REDSTONE_ORE) {
  2852.  
  2853. Integer Multiplikator = BoosterCMD.DropB+1;
  2854.  
  2855. ItemStack i = new ItemStack(Material.REDSTONE, 4+Multiplikator);
  2856.  
  2857. e.getBlock().getWorld().dropItemNaturally(e.getBlock().getLocation(), i);
  2858.  
  2859. e.getBlock().setType(Material.AIR);
  2860.  
  2861. } else if(e.getBlock().getType() == Material.QUARTZ_ORE) {
  2862.  
  2863. Integer Multiplikator = BoosterCMD.DropB+1;
  2864.  
  2865. ItemStack i = new ItemStack(Material.QUARTZ, 4+Multiplikator);
  2866.  
  2867. e.getBlock().getWorld().dropItemNaturally(e.getBlock().getLocation(), i);
  2868.  
  2869. e.getBlock().setType(Material.AIR);
  2870.  
  2871. }
  2872. }
  2873. }
  2874. }
  2875. }
  2876.  
  2877. @EventHandler
  2878. public void onMenuCancel(AsyncPlayerChatEvent e) {
  2879. if(menucanceltap.get(e.getPlayer()) != null) {
  2880.  
  2881. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  2882.  
  2883. PlotAPI papi;
  2884.  
  2885. papi = new PlotAPI();
  2886.  
  2887. e.setCancelled(true);
  2888.  
  2889. if(menucanceltap.get(e.getPlayer()).equalsIgnoreCase("Besuchen")) {
  2890.  
  2891. menucanceltap.remove(e.getPlayer());
  2892.  
  2893. e.getPlayer().chat("/p h " + e.getMessage().replaceAll("§a§l", ""));
  2894.  
  2895. } else if(Bukkit.getPlayer(e.getMessage().replaceAll("§a§l", "")) != null) {
  2896. if(papi.getPlot(e.getPlayer().getLocation()) != null) {
  2897. if(papi.getPlot(e.getPlayer().getLocation()).isOwner(e.getPlayer().getUniqueId())) {
  2898. if(menucanceltap.get(e.getPlayer()).equalsIgnoreCase("Helfer")) {
  2899.  
  2900. papi.getPlot(e.getPlayer().getLocation()).addMember(UUIDFetcher.getUUID(e.getMessage().replaceAll("§a§l", "")));
  2901. menucanceltap.remove(e.getPlayer());
  2902. e.getPlayer().sendMessage(Prefix + "§a§lDu hast " + e.getMessage().replaceAll("§a§l", "") + " nun als Helfer!");
  2903.  
  2904. } else if(menucanceltap.get(e.getPlayer()).equalsIgnoreCase("Freund")) {
  2905.  
  2906. papi.getPlot(e.getPlayer().getLocation()).addTrusted(UUIDFetcher.getUUID(e.getMessage().replaceAll("§a§l", "")));
  2907. menucanceltap.remove(e.getPlayer());
  2908. e.getPlayer().sendMessage(Prefix + "§a§lDu hast " + e.getMessage().replaceAll("§a§l", "") + " nun als Freund!");
  2909.  
  2910. } else if(menucanceltap.get(e.getPlayer()).equalsIgnoreCase("Remove")) {
  2911.  
  2912. papi.getPlot(e.getPlayer().getLocation()).removeMember(UUIDFetcher.getUUID(e.getMessage().replaceAll("§a§l", "")));
  2913. papi.getPlot(e.getPlayer().getLocation()).removeTrusted(UUIDFetcher.getUUID(e.getMessage().replaceAll("§a§l", "")));
  2914.  
  2915. menucanceltap.remove(e.getPlayer());
  2916. e.getPlayer().sendMessage(Prefix + "§a§lDu hast nun " + e.getMessage().replaceAll("§a§l", "") + " vom Grundstück entfernt!");
  2917.  
  2918. }
  2919. } else {
  2920. e.getPlayer().sendMessage(Prefix + "§c§lDas ist nicht dein Grundstück!");
  2921. menucanceltap.remove(e.getPlayer());
  2922. }
  2923. } else {
  2924. e.getPlayer().sendMessage(Prefix + "§c§lDu stehst auf keinem Grundstück!");
  2925. menucanceltap.remove(e.getPlayer());
  2926. }
  2927. } else {
  2928. e.getPlayer().sendMessage(Prefix + "§c§lDer Spieler ist nicht online!");
  2929. menucanceltap.remove(e.getPlayer());
  2930. }
  2931. }
  2932. }
  2933.  
  2934. public boolean openSign(Player p, Location loc)
  2935. {
  2936. try
  2937. {
  2938. Class<?> packetClass = Reflect.getNMSClass("PacketPlayOutOpenSignEditor");
  2939. Class<?> blockPositionClass = Reflect.getNMSClass("BlockPosition");
  2940. Constructor<?> blockPosCon = blockPositionClass.getConstructor(new Class[] { Integer.TYPE, Integer.TYPE, Integer.TYPE });
  2941. Object blockPosition = blockPosCon.newInstance(new Object[] { Integer.valueOf(loc.getBlockX()), Integer.valueOf(loc.getBlockY()), Integer.valueOf(loc.getBlockZ()) });
  2942. Constructor<?> packetCon = packetClass.getConstructor(new Class[] { blockPositionClass });
  2943. Object packet = packetCon.newInstance(new Object[] { blockPosition });
  2944. Reflect.sendPacket(p, packet);
  2945. return true;
  2946. }
  2947. catch (Exception ex)
  2948. {
  2949. ex.printStackTrace();
  2950. }
  2951. return false;
  2952. }
  2953.  
  2954. @EventHandler
  2955. public void onSchild(PlayerInteractEvent e) {
  2956.  
  2957. Player p = e.getPlayer();
  2958.  
  2959. if(SchildCMD.Schild.contains(p)) {
  2960. if(e.getClickedBlock() != null) {
  2961. if(e.getClickedBlock().getType() != null) {
  2962.  
  2963. PlotAPI papi;
  2964.  
  2965. papi = new PlotAPI();
  2966.  
  2967. if(papi.getPlot(e.getClickedBlock().getLocation()) != null) {
  2968. if(papi.getPlot(p.getLocation()).isOwner(p.getUniqueId())) {
  2969. if(e.getClickedBlock().getType() == Material.SIGN || e.getClickedBlock().getType() == Material.SIGN_POST || e.getClickedBlock().getType() == Material.WALL_SIGN) {
  2970.  
  2971. // Sign sign = (Sign)e.getClickedBlock().getState();
  2972.  
  2973. openSign(p, e.getClickedBlock().getLocation());
  2974.  
  2975. } else {
  2976. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  2977. SchildCMD.Schild.remove(p);
  2978. p.sendMessage(Prefix + "§cDer Block war kein Schild!");
  2979. }
  2980. } else {
  2981. if(p.hasPermission("system.schild.admin")) {
  2982.  
  2983. } else {
  2984. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  2985. SchildCMD.Schild.remove(p);
  2986. p.sendMessage(Prefix + "§cDu hast keine Rechte dieses Schild zu verändern.");
  2987. }
  2988. }
  2989. } else {
  2990. if(p.hasPermission("system.schild.admin")) {
  2991.  
  2992. } else {
  2993. String Prefix = plugin.getConfig().getString("Prefix").replace("&", "§");
  2994. SchildCMD.Schild.remove(p);
  2995. p.sendMessage(Prefix + "§cDu hast keine Rechte dieses Schild zu verändern.");
  2996. }
  2997. }
  2998. }
  2999. }
  3000. }
  3001. }
  3002. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement