mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2025-01-03 22:37:44 +01:00
Make the new "aggressive mode" nofall check respect configuration
settings.
This commit is contained in:
parent
c4861eeed9
commit
adf3a4c9a3
@ -147,6 +147,9 @@ checks:
|
|||||||
checknofall:
|
checknofall:
|
||||||
Should players be checked for a common type of "nofall" hack, that allows them to
|
Should players be checked for a common type of "nofall" hack, that allows them to
|
||||||
avoid taking damage when falling.
|
avoid taking damage when falling.
|
||||||
|
nofallaggressivemode:
|
||||||
|
Enable improved version of nofall check, that will catch additional types of
|
||||||
|
"nofall" hacks and deal damage to players directly (experimental).
|
||||||
nofallactions:
|
nofallactions:
|
||||||
What should happen if a player is considered to be using a "nofall" hack. Default
|
What should happen if a player is considered to be using a "nofall" hack. Default
|
||||||
is to log a message and encourage Bukkit to deal fall damage anyway ("cancel" the
|
is to log a message and encourage Bukkit to deal fall damage anyway ("cancel" the
|
||||||
|
2
pom.xml
2
pom.xml
@ -3,7 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>cc.co.evenprime.bukkit</groupId>
|
<groupId>cc.co.evenprime.bukkit</groupId>
|
||||||
<artifactId>NoCheat</artifactId>
|
<artifactId>NoCheat</artifactId>
|
||||||
<version>3.0.2</version>
|
<version>3.1.0</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<name>NoCheat</name>
|
<name>NoCheat</name>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -29,6 +29,7 @@ public class MovingConfig implements ConfigItem {
|
|||||||
public final ActionList flyingActions;
|
public final ActionList flyingActions;
|
||||||
|
|
||||||
public final boolean nofallCheck;
|
public final boolean nofallCheck;
|
||||||
|
public final boolean nofallaggressive;
|
||||||
public final float nofallMultiplier;
|
public final float nofallMultiplier;
|
||||||
public final ActionList nofallActions;
|
public final ActionList nofallActions;
|
||||||
|
|
||||||
@ -59,6 +60,7 @@ public class MovingConfig implements ConfigItem {
|
|||||||
|
|
||||||
nofallCheck = data.getBoolean(ConfPaths.MOVING_RUNFLY_CHECKNOFALL);
|
nofallCheck = data.getBoolean(ConfPaths.MOVING_RUNFLY_CHECKNOFALL);
|
||||||
nofallMultiplier = ((float) 200) / 100F;
|
nofallMultiplier = ((float) 200) / 100F;
|
||||||
|
nofallaggressive = data.getBoolean(ConfPaths.MOVING_RUNFLY_NOFALLAGGRESSIVE);
|
||||||
nofallActions = data.getActionList(ConfPaths.MOVING_RUNFLY_NOFALLACTIONS);
|
nofallActions = data.getActionList(ConfPaths.MOVING_RUNFLY_NOFALLACTIONS);
|
||||||
|
|
||||||
morePacketsCheck = data.getBoolean(ConfPaths.MOVING_MOREPACKETS_CHECK);
|
morePacketsCheck = data.getBoolean(ConfPaths.MOVING_MOREPACKETS_CHECK);
|
||||||
|
@ -31,15 +31,23 @@ public class NoFallCheck extends MovingCheck {
|
|||||||
data.lastAddedFallDistance = 0F;
|
data.lastAddedFallDistance = 0F;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This check is pretty much always a step behind for technical reasons.
|
// This check is pretty much always a step behind for technical reasons.
|
||||||
if(data.fromOnOrInGround) {
|
if(data.fromOnOrInGround) {
|
||||||
// Start with zero fall distance
|
// Start with zero fall distance
|
||||||
data.fallDistance = 0F;
|
data.fallDistance = 0F;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(data.fromOnOrInGround && data.toOnOrInGround && data.from.y <= data.to.y && player.getPlayer().getFallDistance() > 2.0F) {
|
if(cc.nofallaggressive && data.fromOnOrInGround && data.toOnOrInGround && data.from.y <= data.to.y && player.getPlayer().getFallDistance() > 3.0F) {
|
||||||
player.dealFallDamage();
|
data.fallDistance = player.getPlayer().getFallDistance();
|
||||||
|
data.nofallVL += data.fallDistance;
|
||||||
|
data.nofallTotalVL += data.fallDistance;
|
||||||
|
data.nofallFailed++;
|
||||||
|
final boolean cancel = executeActions(player, cc.nofallActions.getActions(data.nofallVL));
|
||||||
|
if(cancel) {
|
||||||
|
player.dealFallDamage();
|
||||||
|
}
|
||||||
|
data.fallDistance = 0F;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we increased fall height before for no good reason, reduce now by
|
// If we increased fall height before for no good reason, reduce now by
|
||||||
|
@ -31,6 +31,7 @@ public abstract class ConfPaths {
|
|||||||
public final static String MOVING_RUNFLY_ACTIONS = MOVING_RUNFLY + "actions";
|
public final static String MOVING_RUNFLY_ACTIONS = MOVING_RUNFLY + "actions";
|
||||||
|
|
||||||
public final static String MOVING_RUNFLY_CHECKNOFALL = MOVING_RUNFLY + "checknofall";
|
public final static String MOVING_RUNFLY_CHECKNOFALL = MOVING_RUNFLY + "checknofall";
|
||||||
|
public final static String MOVING_RUNFLY_NOFALLAGGRESSIVE = MOVING_RUNFLY + "nofallaggressivemode";
|
||||||
public final static String MOVING_RUNFLY_NOFALLACTIONS = MOVING_RUNFLY + "nofallactions";
|
public final static String MOVING_RUNFLY_NOFALLACTIONS = MOVING_RUNFLY + "nofallactions";
|
||||||
|
|
||||||
private final static String MOVING_RUNFLY_FLYING = MOVING_RUNFLY + "flying.";
|
private final static String MOVING_RUNFLY_FLYING = MOVING_RUNFLY + "flying.";
|
||||||
|
@ -36,6 +36,7 @@ public class DefaultConfiguration extends NoCheatConfiguration {
|
|||||||
set(ConfPaths.MOVING_RUNFLY_ACTIONS, "log:moveshort:3:5:f cancel vl>100 log:moveshort:0:5:if cancel vl>400 log:movelong:0:5:cif cancel");
|
set(ConfPaths.MOVING_RUNFLY_ACTIONS, "log:moveshort:3:5:f cancel vl>100 log:moveshort:0:5:if cancel vl>400 log:movelong:0:5:cif cancel");
|
||||||
|
|
||||||
set(ConfPaths.MOVING_RUNFLY_CHECKNOFALL, true);
|
set(ConfPaths.MOVING_RUNFLY_CHECKNOFALL, true);
|
||||||
|
set(ConfPaths.MOVING_RUNFLY_NOFALLAGGRESSIVE, true);
|
||||||
set(ConfPaths.MOVING_RUNFLY_NOFALLACTIONS, "log:nofall:0:5:cif cancel");
|
set(ConfPaths.MOVING_RUNFLY_NOFALLACTIONS, "log:nofall:0:5:cif cancel");
|
||||||
|
|
||||||
set(ConfPaths.MOVING_RUNFLY_FLYING_ALLOWALWAYS, false);
|
set(ConfPaths.MOVING_RUNFLY_FLYING_ALLOWALWAYS, false);
|
||||||
|
Loading…
Reference in New Issue
Block a user