zPurity

Untitled

Nov 9th, 2016
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.83 KB | None | 0 0
  1. package me.YOURNAME;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import org.bukkit.Effect;
  6. import org.bukkit.GameMode;
  7. import org.bukkit.Material;
  8. import org.bukkit.Sound;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandSender;
  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.player.PlayerMoveEvent;
  16. import org.bukkit.event.player.PlayerToggleFlightEvent;
  17. import org.bukkit.plugin.Plugin;
  18. import org.bukkit.plugin.java.JavaPlugin;
  19.  
  20. public class DJump extends JavaPlugin
  21. implements Listener
  22. {
  23. public static Plugin instance;
  24. public static ArrayList<Player> toggled = new ArrayList();
  25. List<String> enabledworlds = getConfig().getStringList("EnabledInWorlds");
  26.  
  27. public static Player pla = null;
  28. public final ArrayList<Player> cooldown = new ArrayList();
  29.  
  30. Countdown d = new Countdown();
  31.  
  32. public void onEnable()
  33. {
  34. getServer().getPluginManager().registerEvents(this, this);
  35. getConfig().options().copyDefaults(true);
  36. saveConfig();
  37. instance = this;
  38. }
  39.  
  40. public void onDisable()
  41. {
  42. }
  43.  
  44. public static Plugin getInstance()
  45. {
  46. return instance;
  47. }
  48.  
  49. @SuppressWarnings("deprecation")
  50. public static void playerPlayEffect(Player p)
  51. {
  52. for (int i = 0; i < 10; i++)
  53. {
  54. p.playEffect(p.getLocation().add(0.9D, 1.5D, 0.0D),
  55. Effect.valueOf(instance.getConfig()
  56. .getString("ParticleName")), 10);
  57. p.playEffect(p.getLocation().add(0.5D, 1.5D, 0.0D),
  58. Effect.valueOf(instance.getConfig()
  59. .getString("ParticleName")), 10);
  60. p.playEffect(p.getLocation().add(0.6D, 1.5D, 0.0D),
  61. Effect.valueOf(instance.getConfig()
  62. .getString("ParticleName")), 10);
  63. p.playEffect(p.getLocation().add(0.3D, 1.5D, 0.0D),
  64. Effect.valueOf(instance.getConfig()
  65. .getString("ParticleName")), 10);
  66. p.playEffect(p.getLocation().add(0.0D, 1.5D, 0.0D),
  67. Effect.valueOf(instance.getConfig()
  68. .getString("ParticleName")), 10);
  69. p.playEffect(p.getLocation().add(0.9D, 1.1D, 0.0D),
  70. Effect.valueOf(instance.getConfig()
  71. .getString("ParticleName")), 10);
  72. p.playEffect(p.getLocation().add(0.9D, 0.7D, 0.0D),
  73. Effect.valueOf(instance.getConfig()
  74. .getString("ParticleName")), 10);
  75. p.playEffect(p.getLocation().add(0.0D, 1.5D, 0.3D),
  76. Effect.valueOf(instance.getConfig()
  77. .getString("ParticleName")), 10);
  78. p.playEffect(p.getLocation().add(0.0D, 1.0D, 0.6D),
  79. Effect.valueOf(instance.getConfig()
  80. .getString("ParticleName")), 10);
  81. p.playEffect(p.getLocation().add(0.0D, 1.0D, 0.9D),
  82. Effect.valueOf(instance.getConfig()
  83. .getString("ParticleName")), 10);
  84. p.playEffect(p.getLocation().add(0.0D, 1.0D, 1.3D),
  85. Effect.valueOf(instance.getConfig()
  86. .getString("ParticleName")), 10);
  87. }
  88. }
  89.  
  90. public static void playerPlaySound(Player p)
  91. {
  92. p.playSound(p.getLocation(), Sound.valueOf(instance.getConfig()
  93. .getString("SoundName")), 1.0F, 0.0F);
  94. }
  95.  
  96. @EventHandler
  97. public void onPlayerToggleFlight(PlayerToggleFlightEvent event) throws InterruptedException
  98. {
  99. try
  100. {
  101. if ((this.enabledworlds.contains(event.getPlayer().getWorld().getName())) &&
  102. (!toggled.contains(event.getPlayer())))
  103. if (this.cooldown.contains(event.getPlayer()))
  104. {
  105. event.getPlayer().sendMessage(getConfig().getString("Cooldown.msg").replace("&", "§"));
  106. }
  107. else if (!this.cooldown.contains(event.getPlayer()))
  108. {
  109. Player player = event.getPlayer();
  110. if (player.hasPermission("permission"))
  111. {
  112. if (player.getGameMode() == GameMode.CREATIVE) {
  113. return;
  114. }
  115. event.setCancelled(true);
  116. player.setAllowFlight(false);
  117. player.setFlying(false);
  118.  
  119. player.setVelocity(player.getLocation().getDirection().multiply(getConfig().getDouble("Velocity"))
  120. .setY(1));
  121. new Thread(this.d).start();
  122. this.cooldown.add(event.getPlayer());
  123. if (getConfig().getBoolean("EnableParticles")) {
  124. playerPlayEffect(player);
  125. }
  126. if (getConfig().getBoolean("EnableSounds")) {
  127. playerPlaySound(player);
  128. }
  129. }
  130. else if (!player.hasPermission("permission"))
  131. {
  132. player.setFallDistance(0.0F);
  133. }
  134. }
  135. }
  136. catch (Exception localException)
  137. {
  138. }
  139. }
  140.  
  141. @EventHandler
  142. public void onPlayerMove(PlayerMoveEvent event) throws InterruptedException {
  143. try {
  144. if ((this.enabledworlds.contains(event.getPlayer().getWorld().getName())) &&
  145. (!toggled.contains(event.getPlayer())))
  146. {
  147. Player player = event.getPlayer();
  148. if (player.hasPermission("permission"))
  149. {
  150. if ((!this.cooldown.contains(event.getPlayer())) &&
  151. (!this.cooldown.contains(event.getPlayer())))
  152. {
  153. double jd = getConfig().getDouble("JumpDistance");
  154. if ((player.getGameMode() != GameMode.CREATIVE) &&
  155. (player.getLocation().subtract(0.0D, 1.0D, 0.0D).getBlock().getType() != Material.AIR) &&
  156. (!player.isFlying())) {
  157. player.setAllowFlight(true);
  158. }
  159. }
  160.  
  161. }
  162. else if (!player.hasPermission("permission"))
  163. player.setFallDistance(0.0F);
  164. }
  165. }
  166. catch (Exception localException) {
  167. }
  168. }
  169.  
  170. @EventHandler
  171. public void onEntityDamage(EntityDamageEvent event) {
  172. if (getConfig().getBoolean("RemoveFallDamage"))
  173. {
  174. if (!(event.getEntity() instanceof Player)) {
  175. return;
  176. }
  177. if ((event.getCause().equals(EntityDamageEvent.DamageCause.FALL)) && (((Player)event.getEntity()).hasPermission("permission")))
  178. event.setCancelled(true);
  179. }
  180. }
  181.  
  182. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
  183. {
  184. if ((cmd.getName().equalsIgnoreCase("YOUR COMMAND")) || (cmd.getName().equalsIgnoreCase("Fantasyjump")))
  185. {
  186. if (args.length == 0)
  187. {
  188. Player player = (Player)sender;
  189. sender.sendMessage("§a§lHEADER FOR /DOUBLE JUMP");
  190. sender.sendMessage("§2-----------------------------------------------");
  191. sender.sendMessage("§8» §aCONFIG RELOAD MESSAGE");
  192. sender.sendMessage("§8» §aTOGGLE MESSAGE!");
  193. sender.sendMessage("§2-----------------------------------------------");
  194. return true;
  195. }
  196. if (args[0].equalsIgnoreCase("reload"))
  197. {
  198. saveConfig();
  199. reloadConfig();
  200. sender.sendMessage("§8(RELOAD MESSAGE");
  201. return true;
  202. }
  203. if (args[0].equalsIgnoreCase("toggle"))
  204. {
  205. Player player = (Player)sender;
  206. if (toggled.contains(player))
  207. {
  208. toggled.remove(player);
  209. player.sendMessage(getConfig().getString("Messages.toggleon").replace("&", "§"));
  210. }
  211. else
  212. {
  213. toggled.add(player);
  214. player.sendMessage(getConfig().getString("Messages.toggleoff").replace("&", "§"));
  215. player.setAllowFlight(false);
  216. }
  217. return true;
  218. }
  219. }
  220. return false;
  221. }
  222.  
  223. public class Countdown
  224. implements Runnable
  225. {
  226. public Player pl = null;
  227.  
  228. public Countdown()
  229. {
  230. }
  231.  
  232. public void run() {
  233. try {
  234. Thread.sleep(Mainer.this.getConfig().getInt("Cooldown.timeinsec") * 1000);
  235. Mainer.this.cooldown.removeAll(Mainer.this.cooldown);
  236. new Thread(this).stop();
  237. }
  238. catch (Exception localException)
  239. {
  240. }
  241. }
  242. }
  243. }
Advertisement
Add Comment
Please, Sign In to add comment