Advertisement
Guest User

Untitled

a guest
May 18th, 2020
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.35 KB | None | 0 0
  1.  
  2. package me.icc.pluginTest.doubleJump;
  3.  
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.GameMode;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.Sound;
  11. import org.bukkit.block.Block;
  12. import org.bukkit.block.BlockFace;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.event.EventHandler;
  15. import org.bukkit.event.Listener;
  16. import org.bukkit.event.player.PlayerMoveEvent;
  17. import org.bukkit.event.player.PlayerToggleFlightEvent;
  18. import org.bukkit.util.Vector;
  19.  
  20. import me.icc.pluginTest.main;
  21.  
  22.  
  23. public class DoubleJump implements Listener {
  24.  
  25. public main plugin;
  26. int timesJumped = 0;
  27.  
  28. public DoubleJump(main plugin) {
  29. Bukkit.getServer().getPluginManager().registerEvents(this, plugin);
  30. this.plugin = plugin;
  31. }
  32.  
  33.  
  34. @EventHandler
  35. public void onGround(PlayerMoveEvent event) {
  36. Player player = event.getPlayer();
  37. if ((player.getInventory().getBoots().getType() == Material.GOLDEN_BOOTS)) {
  38. player.setAllowFlight(true);
  39. player.sendMessage(ChatColor.GREEN + "(test) Flight enabled!");
  40.  
  41. }
  42. else {
  43. player.setAllowFlight(false);
  44. player.setFlying(false);
  45. player.sendMessage(ChatColor.RED + "(test) Flight disabled!");
  46. }
  47. if(player.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() != Material.AIR) {
  48. timesJumped = 0;
  49.  
  50. }
  51.  
  52. }
  53.  
  54. @EventHandler
  55. public void setFlyOnJump(PlayerToggleFlightEvent event) {
  56. Player player = event.getPlayer();
  57. //Vector jump = player.getLocation().getDirection().multiply(0.1).setY(.9);
  58. Vector jump = player.getLocation().getDirection().multiply(1);
  59. Location loc = player.getLocation();
  60. Block block = loc.add(0, -1, 0).getBlock();
  61.  
  62. if ((player.getInventory().getBoots().getType() == Material.GOLDEN_BOOTS)) {
  63.  
  64. if(event.isFlying() && event.getPlayer().getGameMode() != GameMode.CREATIVE) {
  65.  
  66. if(timesJumped != 2) {
  67. player.setFlying(false);
  68. player.setVelocity(player.getVelocity().add(jump));
  69. player.playSound(player.getLocation(), Sound.ENTITY_BLAZE_SHOOT, 8, 1);
  70.  
  71. timesJumped++;
  72. }
  73.  
  74. else if(timesJumped == 2) {
  75. if(block.getType() != Material.AIR) {
  76. player.setAllowFlight(true);
  77. timesJumped = 0;
  78. } else {
  79. player.setFlying(false);
  80. player.setAllowFlight(true);
  81. }
  82. }
  83.  
  84. event.setCancelled(true);
  85. }
  86. }
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement