Advertisement
Guest User

MainListener

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