Advertisement
Guest User

Untitled

a guest
Oct 19th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.41 KB | None | 0 0
  1. package de.lobbysystem.listener.items;
  2.  
  3. import org.bukkit.scheduler.*;
  4. import de.lobbysystem.data.*;
  5. import de.lobbysystem.apis.*;
  6. import org.bukkit.*;
  7. import de.lobbysystem.*;
  8. import org.bukkit.plugin.*;
  9. import org.bukkit.event.*;
  10. import org.bukkit.event.player.*;
  11. import org.bukkit.util.*;
  12. import org.bukkit.entity.*;
  13. import java.util.*;
  14.  
  15. public class Item_SCHUTZSCHILD implements Listener
  16. {
  17. public static HashMap<Player, BukkitRunnable> run;
  18.  
  19. static {
  20. Item_SCHUTZSCHILD.run = new HashMap<Player, BukkitRunnable>();
  21. }
  22.  
  23. @EventHandler
  24. public void onInteract(final PlayerInteractEvent e) {
  25. final Player p = e.getPlayer();
  26. if (e.getItem().hasItemMeta() && (e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase(Items.SCHILD_OFF) || e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase(Items.SCHILD_ON)) && p.hasPermission("lobby.vip")) {
  27. e.setCancelled(true);
  28. if (Item_SCHUTZSCHILD.run.containsKey(p)) {
  29. e.setCancelled(true);
  30. p.sendMessage(String.valueOf(Data.getPrefix()) + "Du hast das Schutzschild deaktiviert!");
  31. p.getInventory().setItem(6, ItemAPI.createItem(Material.EYE_OF_ENDER, 1, 0, Items.SCHILD_OFF));
  32. p.playSound(p.getLocation(), Sound.SUCCESSFUL_HIT, 2.0f, 0.5f);
  33. p.closeInventory();
  34. Item_SCHUTZSCHILD.run.get(p).cancel();
  35. Item_SCHUTZSCHILD.run.remove(p);
  36. }
  37. else if (!Item_SCHUTZSCHILD.run.containsKey(p)) {
  38. Item_SCHUTZSCHILD.run.put(p, (BukkitRunnable)new Item_SCHUTZSCHILD.Item_SCHUTZSCHILD$1(this, p));
  39. Item_SCHUTZSCHILD.run.get(p).runTaskTimer((Plugin)Main.getInstance(), 20L, 20L);
  40. e.setCancelled(true);
  41. p.sendMessage(String.valueOf(Data.getPrefix()) + "Du hast das Schutzschild aktiviert!");
  42. p.getInventory().setItem(6, ItemAPI.createItem(Material.EYE_OF_ENDER, 1, 0, Items.SCHILD_ON));
  43. p.playSound(p.getLocation(), Sound.SUCCESSFUL_HIT, 2.0f, 1.0f);
  44. p.closeInventory();
  45. }
  46. }
  47. }
  48.  
  49. @EventHandler
  50. public void onQuit(final PlayerQuitEvent e) {
  51. if (Item_SCHUTZSCHILD.run.containsKey(e.getPlayer())) {
  52. Item_SCHUTZSCHILD.run.get(e.getPlayer()).cancel();
  53. Item_SCHUTZSCHILD.run.remove(e.getPlayer());
  54. }
  55. }
  56.  
  57. @EventHandler
  58. public static void onMove(final PlayerMoveEvent e) {
  59. final Player p = e.getPlayer();
  60. for (final Player players : Item_SCHUTZSCHILD.run.keySet()) {
  61. if (!p.hasPermission("lobby.vip") && p.getLocation().distance(players.getLocation()) <= 4.0) {
  62. final double Ax = p.getLocation().getX();
  63. final double Ay = p.getLocation().getY();
  64. final double Az = p.getLocation().getZ();
  65. final double Bx = players.getLocation().getX();
  66. final double By = players.getLocation().getY();
  67. final double Bz = players.getLocation().getZ();
  68. final double x = Ax - Bx;
  69. final double y = Ay - By;
  70. final double z = Az - Bz;
  71. final Vector v = new Vector(x, y, z).normalize();
  72. p.setVelocity(v);
  73. }
  74. }
  75. if (Item_SCHUTZSCHILD.run.containsKey(p)) {
  76. for (final Entity entity : p.getNearbyEntities(4.0, 4.0, 4.0)) {
  77. if (entity instanceof Player) {
  78. final Player target = (Player)entity;
  79. if (p == target || target.hasPermission("lobby.bypass")) {
  80. continue;
  81. }
  82. final double Ax2 = p.getLocation().getX();
  83. final double Ay2 = p.getLocation().getY();
  84. final double Az2 = p.getLocation().getZ();
  85. final double Bx2 = target.getLocation().getX();
  86. final double By2 = target.getLocation().getY();
  87. final double Bz2 = target.getLocation().getZ();
  88. final double x2 = Bx2 - Ax2;
  89. final double y2 = By2 - Ay2;
  90. final double z2 = Bz2 - Az2;
  91. final Vector v2 = new Vector(x2, y2, z2).normalize();
  92. target.setVelocity(v2);
  93. }
  94. }
  95. }
  96. }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement