Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.icc.pluginTest.doubleJump;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.GameMode;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.Sound;
- import org.bukkit.block.Block;
- import org.bukkit.block.BlockFace;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.event.player.PlayerToggleFlightEvent;
- import org.bukkit.util.Vector;
- import me.icc.pluginTest.main;
- public class DoubleJump implements Listener {
- public main plugin;
- int timesJumped = 0;
- public DoubleJump(main plugin) {
- Bukkit.getServer().getPluginManager().registerEvents(this, plugin);
- this.plugin = plugin;
- }
- @EventHandler
- public void onGround(PlayerMoveEvent event) {
- Player player = event.getPlayer();
- if ((player.getInventory().getBoots().getType() == Material.GOLDEN_BOOTS)) {
- player.setAllowFlight(true);
- player.sendMessage(ChatColor.GREEN + "(test) Flight enabled!");
- }
- else {
- player.setAllowFlight(false);
- player.setFlying(false);
- player.sendMessage(ChatColor.RED + "(test) Flight disabled!");
- }
- if(player.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() != Material.AIR) {
- timesJumped = 0;
- }
- }
- @EventHandler
- public void setFlyOnJump(PlayerToggleFlightEvent event) {
- Player player = event.getPlayer();
- //Vector jump = player.getLocation().getDirection().multiply(0.1).setY(.9);
- Vector jump = player.getLocation().getDirection().multiply(1);
- Location loc = player.getLocation();
- Block block = loc.add(0, -1, 0).getBlock();
- if ((player.getInventory().getBoots().getType() == Material.GOLDEN_BOOTS)) {
- if(event.isFlying() && event.getPlayer().getGameMode() != GameMode.CREATIVE) {
- if(timesJumped != 2) {
- player.setFlying(false);
- player.setVelocity(player.getVelocity().add(jump));
- player.playSound(player.getLocation(), Sound.ENTITY_BLAZE_SHOOT, 8, 1);
- timesJumped++;
- }
- else if(timesJumped == 2) {
- if(block.getType() != Material.AIR) {
- player.setAllowFlight(true);
- timesJumped = 0;
- } else {
- player.setFlying(false);
- player.setAllowFlight(true);
- }
- }
- event.setCancelled(true);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement