diff --git a/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingConfig.java b/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingConfig.java index eb8d8c4d..5b560210 100644 --- a/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingConfig.java +++ b/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingConfig.java @@ -100,6 +100,7 @@ public class MovingConfig extends ACheckConfig { public final boolean survivalFlyCobwebHack; public final boolean survivalFlyAccountingH; public final boolean survivalFlyAccountingV; + public final boolean sfFallDamage; public final long survivalFlyVLFreeze; public final ActionList survivalFlyActions; @@ -158,6 +159,7 @@ public class MovingConfig extends ACheckConfig { survivalFlyCobwebHack = data.getBoolean(ConfPaths.MOVING_SURVIVALFLY_COBWEBHACK, true); survivalFlyAccountingH = data.getBoolean(ConfPaths.MOVING_SURVIVALFLY_EXTENDED_HACC, false); survivalFlyAccountingV = data.getBoolean(ConfPaths.MOVING_SURVIVALFLY_EXTENDED_VACC); + sfFallDamage = data.getBoolean(ConfPaths.MOVING_SURVIVALFLY_FALLDAMAGE); survivalFlyVLFreeze = data.getLong(ConfPaths.MOVING_SURVIVALFLY_VLFREEZE, 2000L); survivalFlyActions = data.getOptimizedActionList(ConfPaths.MOVING_SURVIVALFLY_ACTIONS, Permissions.MOVING_SURVIVALFLY); diff --git a/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingListener.java b/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingListener.java index 538a02fa..3c19c6a4 100644 --- a/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingListener.java +++ b/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingListener.java @@ -343,7 +343,7 @@ public class MovingListener extends CheckListener implements TickListener, IRemo } if (target != null){ // Actually this should not possibly be null, this is a block for "future" purpose, feel free to criticize it. - if (sfCheck && noFall.isEnabled(player)){ + if (sfCheck && cc.sfFallDamage && noFall.isEnabled(player)){ // Check if to deal damage. double y = loc.getY(); if (data.hasSetBack()) y = Math.min(y, data.getSetBackY()); @@ -570,7 +570,7 @@ public class MovingListener extends CheckListener implements TickListener, IRemo if (passableTo != null){ // Deal damage if necessary. // Leaving out: player.getLocation().getY() - noFall.checkDamage(player, data, Math.min(from.getY(), to.getY())); + if (cc.sfFallDamage) noFall.checkDamage(player, data, Math.min(from.getY(), to.getY())); } else if (newTo == null) { // NOTE: noFall might set yOnGround for the positions. @@ -579,7 +579,7 @@ public class MovingListener extends CheckListener implements TickListener, IRemo else{ // Deal damage if necessary. // Leaving out: player.getLocation().getY() - noFall.checkDamage(player, data, Math.min(from.getY(), to.getY())); + if (cc.sfFallDamage) noFall.checkDamage(player, data, Math.min(from.getY(), to.getY())); } } } diff --git a/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/config/ConfPaths.java b/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/config/ConfPaths.java index 0cdb1dfc..5bd6f436 100644 --- a/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/config/ConfPaths.java +++ b/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/config/ConfPaths.java @@ -495,6 +495,7 @@ public abstract class ConfPaths { private static final String MOVING_SURVIVALFLY_EXTENDED = MOVING_SURVIVALFLY + "extended."; public static final String MOVING_SURVIVALFLY_EXTENDED_HACC = MOVING_SURVIVALFLY_EXTENDED + "horizontal-accounting"; public static final String MOVING_SURVIVALFLY_EXTENDED_VACC = MOVING_SURVIVALFLY_EXTENDED + "vertical-accounting"; + public static final String MOVING_SURVIVALFLY_FALLDAMAGE = MOVING_SURVIVALFLY + "falldamage"; public static final String MOVING_SURVIVALFLY_VLFREEZE = MOVING_SURVIVALFLY + "vlfreeze"; public static final String MOVING_SURVIVALFLY_ACTIONS = MOVING_SURVIVALFLY + "actions"; diff --git a/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/config/DefaultConfig.java b/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/config/DefaultConfig.java index 3a8bafc3..be6731c8 100644 --- a/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/config/DefaultConfig.java +++ b/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/config/DefaultConfig.java @@ -381,6 +381,7 @@ public class DefaultConfig extends ConfigFile { set(ConfPaths.MOVING_SURVIVALFLY_CHECK, true); // set(ConfPaths.MOVING_SURVIVALFLY_EXTENDED_HACC, false); set(ConfPaths.MOVING_SURVIVALFLY_EXTENDED_VACC, true); + set(ConfPaths.MOVING_SURVIVALFLY_FALLDAMAGE, true); // The settings aren't enabled by default. Simply write them yourself in the configuration file. // set(ConfPaths.MOVING_SURVIVALFLY_BLOCKINGSPEED, 100); // set(ConfPaths.MOVING_SURVIVALFLY_SNEAKINGSPEED, 100);