mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-10-03 00:47:25 +02:00
[BLIND] Attempt to fix double-jump issues.
This commit is contained in:
parent
3cf6943efb
commit
d6ec0c332a
@ -32,6 +32,7 @@ import org.bukkit.event.player.PlayerPortalEvent;
|
||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||
import org.bukkit.event.player.PlayerToggleFlightEvent;
|
||||
import org.bukkit.event.player.PlayerToggleSneakEvent;
|
||||
import org.bukkit.event.player.PlayerToggleSprintEvent;
|
||||
import org.bukkit.event.player.PlayerVelocityEvent;
|
||||
@ -1498,6 +1499,27 @@ public class MovingListener extends CheckListener implements TickListener, IRemo
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = false)
|
||||
public void onToggleFlight(final PlayerToggleFlightEvent event) {
|
||||
// (ignoreCancelled = false: we track the bit of vertical extra momentum/thing).
|
||||
final Player player = event.getPlayer();
|
||||
if (player.isFlying() || event.isFlying() && !event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
final MovingData data = MovingData.getData(player);
|
||||
final MovingConfig cc = MovingConfig.getConfig(player);
|
||||
// TODO: data.isVelocityJumpPhase() might be too harsh, but prevents too easy abuse.
|
||||
if (!MovingUtil.shouldCheckSurvivalFly(player, data, cc) || data.isVelocityJumpPhase() ||
|
||||
BlockProperties.isOnGroundOrResetCond(player, player.getLocation(useLoc), cc.yOnGround)) {
|
||||
useLoc.setWorld(null);
|
||||
return;
|
||||
}
|
||||
useLoc.setWorld(null);
|
||||
// TODO: Configurable.
|
||||
// TODO: Confine to minimum activation ticks.
|
||||
data.addVelocity(player, cc, 0.0, 0.0, 0.3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTick(final int tick, final long timeLast) {
|
||||
final List<String> rem = new ArrayList<String>(hoverTicks.size()); // Pessimistic.
|
||||
|
Loading…
Reference in New Issue
Block a user