mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-09-28 22:47:32 +02:00
Attributes: Allow detecting if attributes are available at all.
This commit is contained in:
parent
61274d30ba
commit
ca07ecc3ab
@ -231,12 +231,12 @@ public class MCAccessBukkitBase implements MCAccess {
|
||||
|
||||
@Override
|
||||
public double getSpeedAttributeMultiplier(Player player) {
|
||||
return 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSprintAttributeMultiplier(Player player) {
|
||||
return player.isSprinting() ? 1.30000002 : 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -114,12 +114,12 @@ public class MCAccessCB2512 implements MCAccess{
|
||||
|
||||
@Override
|
||||
public double getSpeedAttributeMultiplier(Player player) {
|
||||
return 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSprintAttributeMultiplier(Player player) {
|
||||
return player.isSprinting() ? 1.3 : 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -114,12 +114,12 @@ public class MCAccessCB2545 implements MCAccess{
|
||||
|
||||
@Override
|
||||
public double getSpeedAttributeMultiplier(Player player) {
|
||||
return 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSprintAttributeMultiplier(Player player) {
|
||||
return player.isSprinting() ? 1.3 : 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -115,12 +115,12 @@ public class MCAccessCB2602 implements MCAccess{
|
||||
|
||||
@Override
|
||||
public double getSpeedAttributeMultiplier(Player player) {
|
||||
return 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSprintAttributeMultiplier(Player player) {
|
||||
return player.isSprinting() ? 1.3 : 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -116,12 +116,12 @@ public class MCAccessCB2645 implements MCAccess{
|
||||
|
||||
@Override
|
||||
public double getSpeedAttributeMultiplier(Player player) {
|
||||
return 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSprintAttributeMultiplier(Player player) {
|
||||
return player.isSprinting() ? 1.3 : 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -118,12 +118,12 @@ public class MCAccessCB2691 implements MCAccess{
|
||||
|
||||
@Override
|
||||
public double getSpeedAttributeMultiplier(Player player) {
|
||||
return 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSprintAttributeMultiplier(Player player) {
|
||||
return player.isSprinting() ? 1.3 : 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -116,12 +116,12 @@ public class MCAccessCB2763 implements MCAccess{
|
||||
|
||||
@Override
|
||||
public double getSpeedAttributeMultiplier(Player player) {
|
||||
return 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSprintAttributeMultiplier(Player player) {
|
||||
return player.isSprinting() ? 1.3 : 1.0;
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -438,8 +438,11 @@ public class MovingListener extends CheckListener implements TickListener, IRemo
|
||||
if (player.getFoodLevel() > 5) {
|
||||
data.timeSprinting = time;
|
||||
data.multSprinting = mcAccess.getSprintAttributeMultiplier(player);
|
||||
// Server side can be inconsistent, so the multiplier might be plain wrong (1.0).
|
||||
if (cc.assumeSprint && data.multSprinting == 1.0) {
|
||||
if (data.multSprinting == Double.MAX_VALUE) {
|
||||
data.multSprinting = 1.30000002;
|
||||
}
|
||||
else if (cc.assumeSprint && data.multSprinting == 1.0) {
|
||||
// Server side can be inconsistent, so the multiplier might be plain wrong (1.0).
|
||||
// TODO: Could be more/less than actual, but "infinite" latency would not work either.
|
||||
data.multSprinting = 1.30000002;
|
||||
}
|
||||
|
@ -654,7 +654,10 @@ public class SurvivalFly extends Check {
|
||||
}
|
||||
|
||||
// Attributes in here.
|
||||
hAllowedDistance *= mcAccess.getSpeedAttributeMultiplier(player);
|
||||
final double attrMod = mcAccess.getSpeedAttributeMultiplier(player);
|
||||
if (attrMod != Double.MAX_VALUE) {
|
||||
hAllowedDistance *= attrMod;
|
||||
}
|
||||
|
||||
// Short cut.
|
||||
// TODO: Check if a) early return makes sense and b) do it for each of the following parts.
|
||||
|
@ -93,17 +93,21 @@ public interface MCAccess {
|
||||
public double getFasterMovementAmplifier(Player player);
|
||||
|
||||
/**
|
||||
* Generic speed modifier as a multiplier.
|
||||
*
|
||||
* @param player
|
||||
* @return A multiplier for the allowed speed, excluding the sprint boost
|
||||
* modifier (!). If not possible to determine, it should be 1.0.
|
||||
* modifier (!). If not possible to determine, it should
|
||||
* Double.MAX_VALUE.
|
||||
*/
|
||||
public double getSpeedAttributeMultiplier(Player player);
|
||||
|
||||
/**
|
||||
* Modifier for sprinting.
|
||||
* Sprint boost modifier as a multiplier.
|
||||
*
|
||||
* @param player
|
||||
* @return
|
||||
* @return The sprint boost modifier as a multiplier. If not possible to
|
||||
* determine, it should be Double.MAX_VALUE.
|
||||
*/
|
||||
public double getSprintAttributeMultiplier(Player player);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user