- Баллы
- 66
- Имя в Minecraft
- _TheKrealisYT_
Пишу плагин, если у тебя право fly.admin, то через 15 секунд флай должен забираться. А как мне сделать так, чтобы если ты ОП, то у тебя флай оставался, а не забирался?
[ЖЕЛАТЕЛЬНО НАПИСАТЬ КОДОМ, ИНАЧЕ Я ВРЯД ЛИ ПОЙМУ]
Вот код:
public class FlyEventListener implements Listener {
private final Main plugin;
FlyEventListener(Main plugin) {
this.plugin = plugin;
}
@EventHandler
public void onPlayerFly(PlayerToggleFlightEvent e) {
if (!e.isFlying() || !e.getPlayer().hasPermission("fly.admin")) return;
Bukkit.getScheduler().runTaskLater(plugin, () -> e.getPlayer().setFlying(false), 300L);
Bukkit.getScheduler().runTaskLater(plugin, () -> e.getPlayer().setAllowFlight(false), 300L);
if (!e.getPlayer().isOp()) {
e.getPlayer().setFlying(true);
e.getPlayer().setAllowFlight(true);
}
}
}
[ЖЕЛАТЕЛЬНО НАПИСАТЬ КОДОМ, ИНАЧЕ Я ВРЯД ЛИ ПОЙМУ]
Вот код:
public class FlyEventListener implements Listener {
private final Main plugin;
FlyEventListener(Main plugin) {
this.plugin = plugin;
}
@EventHandler
public void onPlayerFly(PlayerToggleFlightEvent e) {
if (!e.isFlying() || !e.getPlayer().hasPermission("fly.admin")) return;
Bukkit.getScheduler().runTaskLater(plugin, () -> e.getPlayer().setFlying(false), 300L);
Bukkit.getScheduler().runTaskLater(plugin, () -> e.getPlayer().setAllowFlight(false), 300L);
if (!e.getPlayer().isOp()) {
e.getPlayer().setFlying(true);
e.getPlayer().setAllowFlight(true);
}
}
}