Guest User

Untitled

a guest
Oct 9th, 2013
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.03 KB | None | 0 0
  1. package me.JPG.SupermanFly;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import org.apache.commons.lang.NumberUtils;
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Effect;
  9. import org.bukkit.Material;
  10. import org.bukkit.Sound;
  11. import org.bukkit.command.Command;
  12. import org.bukkit.command.CommandSender;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.event.EventHandler;
  15. import org.bukkit.event.Listener;
  16. import org.bukkit.event.entity.EntityDamageEvent;
  17. import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
  18. import org.bukkit.event.player.PlayerItemHeldEvent;
  19. import org.bukkit.event.player.PlayerMoveEvent;
  20. import org.bukkit.inventory.ItemStack;
  21. import org.bukkit.inventory.meta.ItemMeta;
  22. import org.bukkit.plugin.Plugin;
  23. import org.bukkit.plugin.java.JavaPlugin;
  24. import org.bukkit.potion.PotionEffect;
  25. import org.bukkit.potion.PotionEffectType;
  26.  
  27. /**
  28. *
  29. * @Author Jake
  30. */
  31. public class Main extends JavaPlugin implements Listener{
  32. HashMap<String, Double> speed = new HashMap<String, Double>();
  33. private static Plugin p;
  34. ArrayList<String> players = new ArrayList<String>();
  35. @Override
  36. public void onEnable() {
  37. p = this;
  38. registerEvents(this, this);
  39.  
  40. }
  41.  
  42. public static void registerEvents(org.bukkit.plugin.Plugin plugin, Listener... listeners) {
  43. for (Listener listener : listeners) {
  44. Bukkit.getServer().getPluginManager().registerEvents(listener, plugin);
  45. }
  46. }
  47. static ItemStack stick = new ItemStack(Material.STICK, 1);
  48.  
  49. static {
  50. ItemMeta meta = stick.getItemMeta();
  51. meta.setDisplayName(ChatColor.BLUE + "Superman Flight Stick");
  52. ArrayList<String> Lore = new ArrayList<String>();
  53. Lore.add(ChatColor.RED + "Allows flight like superman!");
  54. meta.setLore(Lore);
  55.  
  56. stick.setItemMeta(meta);
  57. }
  58.  
  59. @Override
  60. public boolean onCommand(CommandSender sender, Command cmd, String alias, String[] args) {
  61. if (alias.equalsIgnoreCase("supermanfly") || alias.equalsIgnoreCase("sm") || alias.equalsIgnoreCase("smfly")) {
  62. if (sender instanceof Player) {
  63. Player player = (Player) sender;
  64. if (player.hasPermission("supermanfly.use")) {
  65. if (args.length == 0) {
  66. if (player.getInventory().contains(stick)) {
  67. player.sendMessage(ChatColor.RED + "You already have your SupermanFlight stick!");
  68. } else {
  69. player.getInventory().addItem(stick);
  70. player.sendMessage(ChatColor.BLUE + "Here is your SupermanFlight stick!");
  71. if (!players.contains(player.getName())) {
  72. players.add(player.getName());
  73. }
  74. }
  75. } else {
  76. String f = args[0];
  77. if (NumberUtils.isNumber(f)) {
  78.  
  79. speed.remove(player.getName());
  80. speed.put(player.getName(), Double.parseDouble(args[0]));
  81. player.sendMessage(ChatColor.BLUE + "Your Superman speed is now " + args[0]);
  82. } else {
  83. player.sendMessage(ChatColor.RED + "You must imput a number!");
  84. }
  85. }
  86. } else {
  87. sender.sendMessage(ChatColor.RED + "You don't have enough permission!");
  88. }
  89. } else {
  90. sender.sendMessage(ChatColor.DARK_RED + "You must be a player to use that command!");
  91. }
  92. }
  93. return false;
  94. }
  95.  
  96.  
  97. @EventHandler
  98. public void onSupermanFlightStickSwitch(PlayerItemHeldEvent event) {
  99. int slot = event.getNewSlot();
  100. Player player = event.getPlayer();
  101. if (player.getInventory().getItem(slot) != null) {
  102. ItemStack held = player.getInventory().getItem(slot);
  103. if (held.equals(stick)) {
  104. player.sendMessage(ChatColor.BLUE + "You fell a sense of Strength!");
  105. if (!players.contains(player.getName())) {
  106. players.add(player.getName());
  107. }
  108. } else {
  109. players.remove(player.getName());
  110. }
  111. } else {
  112. players.remove(player.getName());
  113. }
  114. }
  115.  
  116. @EventHandler
  117. public void onSupermanFlightWalk(PlayerMoveEvent event) {
  118. Player player = event.getPlayer();
  119. if (players.contains(player.getName())) {
  120. if (speed.get(player.getName()) != null) {
  121. double fast = speed.get(player.getName());
  122. if (fast > 0) {
  123. player.setVelocity(player.getLocation().getDirection().multiply(fast));
  124. player.playSound(player.getLocation(), Sound.ANVIL_USE, 1F, 1F);
  125. player.playEffect(player.getLocation(), Effect.EXTINGUISH, 1);
  126. } else {
  127. player.setVelocity(player.getLocation().getDirection().multiply(2.0));
  128. player.playSound(player.getLocation(), Sound.ANVIL_USE, 1F, 1F);
  129. player.playEffect(player.getLocation(), Effect.EXTINGUISH, 1);
  130. }
  131. } else {
  132. player.setVelocity(player.getLocation().getDirection().multiply(2.0));
  133. player.playSound(player.getLocation(), Sound.ANVIL_USE, 1F, 1F);
  134. player.playEffect(player.getLocation(), Effect.EXTINGUISH, 1);
  135. }
  136. }
  137.  
  138.  
  139. }
  140.  
  141.  
  142. @EventHandler
  143. public void onSupermanDamage(EntityDamageEvent event) {
  144. if (event.getEntity() instanceof Player) {
  145. Player player = (Player) event.getEntity();
  146. if (players.contains(player.getName())) {
  147. if (event.getCause() == DamageCause.FALL) {
  148. event.setCancelled(true);
  149. }
  150. }
  151. }
  152. }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment