Advertisement
Guest User

PVPfly - Somewhat

a guest
Sep 15th, 2014
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.15 KB | None | 0 0
  1. package me.RRServer.PF;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Material;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.EntityType;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.entity.EntityDamageEvent;
  15. import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
  16. import org.bukkit.event.entity.EntityShootBowEvent;
  17. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  18. import org.bukkit.event.player.PlayerItemConsumeEvent;
  19. import org.bukkit.inventory.ItemStack;
  20. import org.bukkit.plugin.java.JavaPlugin;
  21.  
  22. public class Main extends JavaPlugin implements Listener
  23. {
  24.  
  25. public void onEnable()
  26. {
  27. getLogger().info("PVPfly - Version 1.0 - has been enabled!");
  28. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  29. getConfig().options().copyDefaults(true);
  30. saveConfig();
  31. }
  32.  
  33. public void onDisable()
  34. {
  35. getLogger().info("PVPfly - Version 1.0 - has been disabled!");
  36. }
  37.  
  38. ArrayList<Player> fly = new ArrayList<Player>();
  39.  
  40. @EventHandler
  41. public void PlayerFall(EntityDamageEvent e)
  42. {
  43. if (e.getEntity().getType() == EntityType.PLAYER)
  44. {
  45.  
  46. Player p = (Player) e.getEntity();
  47.  
  48. if (e.getCause() == DamageCause.FALL)
  49. {
  50. if (fly.contains(p))
  51. {
  52. e.setCancelled(true);
  53. }
  54. else
  55. {
  56. return;
  57. }
  58. }
  59. else if (e.getCause() == DamageCause.ENTITY_ATTACK)
  60. {
  61. if (fly.contains(p))
  62. {
  63. if (!(p.hasPermission("PVPfly.bypassCombat")))
  64. {
  65. fly.remove(p);
  66. p.setAllowFlight(false);
  67. }
  68. else
  69. {
  70. return;
  71. }
  72. }
  73. else
  74. {
  75. return;
  76. }
  77. }
  78. else
  79. {
  80. return;
  81. }
  82. }
  83. }
  84.  
  85. @EventHandler
  86. public void PlayerConsume(PlayerItemConsumeEvent e)
  87. {
  88.  
  89. Player p = e.getPlayer();
  90. ItemStack pot = e.getItem();
  91.  
  92. if (pot.getType() == Material.POTION)
  93. {
  94. if (fly.contains(p))
  95. {
  96. if (!(p.hasPermission("PVPfly.bypassPotions")))
  97. {
  98. e.setCancelled(true);
  99. p.sendMessage(ChatColor.RED + "You cannot consume potions while flying!");
  100. }
  101. else
  102. {
  103. return;
  104. }
  105. }
  106. else
  107. {
  108. return;
  109. }
  110. }
  111. }
  112.  
  113. @EventHandler
  114. public void onPlayerCmd(PlayerCommandPreprocessEvent e)
  115. {
  116.  
  117. Player p = e.getPlayer();
  118.  
  119. if ((e.getMessage().startsWith("/f map") || (e.getMessage().startsWith("/f map on"))))
  120. {
  121. if (fly.contains(p))
  122. {
  123. if (!(p.hasPermission("PVPfly.bypassFMap")))
  124. {
  125. e.setCancelled(true);
  126. p.sendMessage(ChatColor.RED + "You cannot use that commmand while flying!");
  127. }
  128. else
  129. {
  130. return;
  131. }
  132. }
  133. else
  134. {
  135. return;
  136. }
  137. }
  138. }
  139.  
  140. @EventHandler
  141. public void PlayerBowshoot(EntityShootBowEvent e)
  142. {
  143. if (!(e.getEntity() instanceof Player))
  144. {
  145. return;
  146. }
  147.  
  148. Player p = (Player) e.getEntity();
  149. ItemStack bow = p.getItemInHand();
  150. if (e.getBow() == bow)
  151. {
  152. if (fly.contains(p))
  153. {
  154. if (!(p.hasPermission("PVPfly.bypassBow")))
  155. {
  156. e.setCancelled(true);
  157. p.sendMessage(ChatColor.RED + "You cannot shoot your bow while flying!");
  158. }
  159. else
  160. {
  161. return;
  162. }
  163. }
  164. else
  165. {
  166. return;
  167. }
  168. }
  169. else
  170. {
  171. return;
  172. }
  173. }
  174.  
  175. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  176. {
  177. if (!(sender instanceof Player))
  178. {
  179. sender.sendMessage(ChatColor.RED + "That command can only be used by players!");
  180. }
  181.  
  182. Player p = (Player) sender;
  183.  
  184. if (cmd.getName().equalsIgnoreCase("fly"))
  185. {
  186. if (p.hasPermission("PVPfly.fly"))
  187. {
  188. if (args.length == 0)
  189. {
  190. p.sendMessage(ChatColor.RED + "Incorrect usage: /fly on|off");
  191. }
  192. else if (args.length == 1)
  193. {
  194. if (args[0].equalsIgnoreCase("on"))
  195. {
  196. if (p.hasPermission("PVPfly.fly"))
  197. {
  198. if (fly.contains(p))
  199. {
  200. p.sendMessage(ChatColor.RED + "You are already flying!");
  201. }
  202. else
  203. {
  204. fly.add(p);
  205. p.setAllowFlight(true);
  206. p.sendMessage(ChatColor.GREEN + "You can now fly!");
  207. Bukkit.getServer().dispatchCommand(p, "/f map off");
  208. }
  209. }
  210. else
  211. {
  212. p.sendMessage(ChatColor.RED + "You do not have the proper permission to use that command (PVPfly.fly)!");
  213. }
  214. }
  215. else if (args[0].equalsIgnoreCase("off"))
  216. {
  217. if (p.hasPermission("PVPfly.fly"))
  218. {
  219. if (!(fly.contains(p)))
  220. {
  221. p.sendMessage(ChatColor.RED + "You are not flying!");
  222. }
  223. else
  224. {
  225. fly.remove(p);
  226. p.setAllowFlight(false);
  227. p.sendMessage(ChatColor.GREEN + "You can no longer fly!");
  228. }
  229. }
  230. else
  231. {
  232. p.sendMessage(ChatColor.RED + "You do not have the proper permission to use that command (PVPfly.fly)!");
  233. }
  234. }
  235. }
  236. }
  237. else
  238. {
  239. p.sendMessage(ChatColor.RED + "You do not have the proper permission to use that command (PVPfly.fly)!");
  240. }
  241. }
  242. return false;
  243. }
  244.  
  245. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement