Make Player respawn if he moves -2 from his last y pos

Discussion in 'Plugin Development' started by AhmeeetYT, Jun 6, 2020.

Thread Status:
Not open for further replies.
  1. Offline

    AhmeeetYT

    Hi there :D I am coding an jump and run module for my Lobby System. but i want, the JNR to end, if he falls 2 blocks down from his last block. I dont want to use a coordinate, because it takes to long to fall.
    This is my current code:
    Code:
    package de.ahmet.lobbysystem.listener;
    
    import java.util.ArrayList;
    
    import org.bukkit.Bukkit;
    import org.bukkit.GameMode;
    import org.bukkit.Material;
    import org.bukkit.Sound;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerMoveEvent;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    
    import de.ahmet.lobbysystem.Lobby;
    import org.bukkit.scheduler.BukkitScheduler;
    import org.bukkit.scheduler.BukkitTask;
    
    
    public class JumpAndRunListener implements Listener {
       
        public static ArrayList<Player> jumping = new ArrayList<Player>();
        private Lobby plugin;
    
        protected int ticks;
        int task;
        public static boolean jnr = false;
       
        ItemStack paper = new ItemStack(Material.PAPER);
        ItemMeta paperM = paper.getItemMeta();
       
        @EventHandler
        public void start(PlayerInteractEvent ev) {
                Player p = ev.getPlayer();
                if(ev.getAction().equals(Action.PHYSICAL));
                if(p.getLocation().getBlock().getType() == Material.IRON_PLATE) {
                    if(!jumping.contains(p)) {
                        paperM.setDisplayName("§7Jump §c§labbrechen");
                        paperM.addEnchant(Enchantment.DURABILITY, 1, true);
                        paper.setItemMeta(paperM);
                        p.getInventory().setItem(4, paper);
                        p.sendMessage(Lobby.prefix + "§7Das §eJump and Run §7wurde gestartet.");
                        p.setGameMode(GameMode.SURVIVAL);
                        p.playSound(p.getLocation(), Sound.LEVEL_UP, 1, 1);
                        p.setAllowFlight(false);
                        p.setFlying(false);
                        jumping.add(p);
                    } else {
                        return;
                    }
            }
    
            }
        @EventHandler
        public void stop(PlayerInteractEvent ev) {
            Player p = ev.getPlayer();
            if(ev.getAction().equals(Action.PHYSICAL));
            if(p.getLocation().getBlock().getType() == Material.GOLD_PLATE) {
                if(jumping.contains(p)) {
                    p.getInventory().remove(paper);
                    p.sendMessage(Lobby.prefix + "§7Du hast das §eJump And Run §ageschafft§7.");
                    p.performCommand("spawn");
                    p.setGameMode(GameMode.ADVENTURE);
                    p.playSound(p.getLocation(), Sound.LEVEL_UP, 1, (float)0.5);
                    jumping.remove(p);
                } else {
                    return;
                }
            }
        }
       
        @EventHandler
        public void onFall(PlayerMoveEvent e) {
            Player p = e.getPlayer();
            if(jumping.contains(p)) {
                if(p.getLocation().getBlockY() <= 66) {
                    p.getInventory().remove(paper);
                    p.sendMessage(Lobby.prefix + "§7Du hast das §eJump and Run §cvergeigt.");
                    p.setGameMode(GameMode.ADVENTURE);
                    p.performCommand("spawn");
                    p.playSound(p.getLocation(), Sound.ENDERMAN_DEATH, 1, 1);
                    jumping.remove(p);
                   
                }
               
            }
           
        }
        @EventHandler
        public void onUsePaper(PlayerInteractEvent e) {
            Player p = e.getPlayer();
            if(e.getAction().equals(Action.RIGHT_CLICK_AIR)) {
                if(e.getItem().equals(paper)) {
                    p.sendMessage(Lobby.prefix + "§7Du hast das §eJump and Run §7abgebrochen");
                    p.playSound(p.getLocation(), Sound.ANVIL_BREAK, 1, 1);
                    p.performCommand("spawn");
                    p.getInventory().remove(paper);
                    jumping.remove(p);
                   
                }
            }
           
        }
    
    }
    
     
Thread Status:
Not open for further replies.

Share This Page