Advertisement
Guest User

Schutzschild

a guest
Feb 27th, 2015
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.88 KB | None | 0 0
  1. package me.Wolf.LobbySystem.ItemManager;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import me.Wolf.LobbySystem.main.main;
  6. import org.bukkit.Effect;
  7. import org.bukkit.Location;
  8. import org.bukkit.Server;
  9. import org.bukkit.World;
  10. import org.bukkit.entity.Entity;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.block.Action;
  15. import org.bukkit.event.player.PlayerInteractEvent;
  16. import org.bukkit.event.player.PlayerQuitEvent;
  17. import org.bukkit.inventory.ItemStack;
  18. import org.bukkit.inventory.meta.ItemMeta;
  19. import org.bukkit.plugin.PluginManager;
  20. import org.bukkit.scheduler.BukkitRunnable;
  21. import org.bukkit.util.Vector;
  22.  
  23. public class Item_schild
  24. implements Listener
  25. {
  26. private main plugin;
  27.  
  28. public Item_schild(main main)
  29. {
  30. this.plugin = main;
  31. this.plugin.getServer().getPluginManager().registerEvents(this, main);
  32. }
  33.  
  34. @EventHandler
  35. public void onInteract(PlayerInteractEvent e)
  36. {
  37. final Player p = e.getPlayer();
  38. if (((e.getAction() == Action.RIGHT_CLICK_BLOCK ? 1 : 0) | (e.getAction() == Action.RIGHT_CLICK_AIR ? 1 : 0)) != 0) {
  39. try
  40. {
  41. if (e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("§3Schutzschild"))
  42. {
  43. if (!main.saving.contains(p.getName()))
  44. {
  45. main.saving.add(p.getName());
  46.  
  47. main.schild.put(p.getName(), new BukkitRunnable()
  48. {
  49. public void run()
  50. {
  51. p.getWorld().playEffect(p.getLocation(), Effect.ENDER_SIGNAL, 1);
  52. p.getWorld().playEffect(p.getEyeLocation(), Effect.ENDER_SIGNAL, 1);
  53. for (Entity en : p.getNearbyEntities(4.0D, 4.0D, 4.0D)) {
  54. if ((en instanceof Player))
  55. {
  56. Player target = (Player)en;
  57.  
  58. double ax = p.getLocation().getX();
  59. double ay = p.getLocation().getX();
  60. double az = p.getLocation().getZ();
  61.  
  62. double bx = target.getLocation().getX();
  63. double by = target.getLocation().getY();
  64. double bz = target.getLocation().getZ();
  65.  
  66. double x = bx - ax;
  67. double y = by - ay;
  68. double z = bz - az;
  69.  
  70. Vector v = new Vector(x, y, z).normalize().multiply(2.0D).setY(0.3D);
  71. if (target.hasPermission("system.use.schutzschild")) {
  72. return;
  73. }
  74. target.setVelocity(v);
  75. }
  76. }
  77. }
  78. });
  79. ((BukkitRunnable)main.schild.get(p.getName())).runTaskTimer(this.plugin, 0L, 2L);
  80.  
  81. p.sendMessage(main.prefix + "Dein Schutzschild wurde §aAktiviert§7.");
  82. return;
  83. }
  84. if (main.saving.contains(p.getName()))
  85. {
  86. main.saving.remove(p.getName());
  87.  
  88. main.schild.get(p.getName());
  89. ((BukkitRunnable)main.schild.get(p.getName())).cancel();
  90. main.schild.remove(p.getName());
  91. p.sendMessage(main.prefix + "Dein Schutzschild wurde §4Deaktiviert§7.");
  92. return;
  93. }
  94. }
  95. }
  96. catch (Exception localException) {}
  97. }
  98. }
  99.  
  100. @EventHandler
  101. public void onQuit(PlayerQuitEvent e)
  102. {
  103. Player p = e.getPlayer();
  104. if (main.saving.contains(p.getName()))
  105. {
  106. main.saving.remove(p.getName());
  107.  
  108. main.schild.get(p.getName());
  109. ((BukkitRunnable)main.schild.get(p.getName())).cancel();
  110. main.schild.remove(p.getName());
  111. p.sendMessage(main.prefix + "Dein Schutzschild wurde §4Deaktiviert§7.");
  112. }
  113. }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement