Désactiver les dégâts de chutes jusqu'à la prochaine chutes

Achoc

Mineur des cavernes
21 Avril 2020
61
0
31
24
Pour un plugin j'ai fais en sorte que quand on fait un clique droit avec un item en particulier tous les joueurs obtiennent un effet lévitation et que quand on refasse clique droit ils perdent tous l'effet lévitation et j'aimerais faire en sorte que quand on désactive la lévitation les joueurs qui sont censé prendre des dégât de chute n'en prennent pas.
Boolean gravity = false;

@EventHandler
public void gravity(PlayerInteractEvent event) {

Action action = event.getAction();
ItemStack it = event.getItem();

if(it == null) return;
if(it.getType() == Material.SHULKER_SHELL && it.hasItemMeta() && it.getItemMeta().hasDisplayName() && it.getItemMeta().getDisplayName().equalsIgnoreCase("§7Gravity Controler")) {
if(action == Action.RIGHT_CLICK_AIR || action == Action.RIGHT_CLICK_BLOCK) {
if(gravity == false) {
gravity = true;
for(Player p : Bukkit.getOnlinePlayers()) {
p.addPotionEffect(new PotionEffect(PotionEffectType.LEVITATION, Integer.MAX_VALUE, 2));
}
} else {
gravity = false;
for(Player p : Bukkit.getOnlinePlayers()) {
p.removePotionEffect(PotionEffectType.LEVITATION);
}

}

}

}

}