Make resetting fall distance for teleports configurable.

This commit is contained in:
asofold 2013-01-14 02:24:11 +01:00
parent e05275fd73
commit 6cfe46c117
4 changed files with 11 additions and 5 deletions

View File

@ -80,6 +80,7 @@ public class MovingConfig extends ACheckConfig {
public final boolean noFallCheck;
public final boolean noFallDealDamage;
public final boolean noFallTpReset;
public final ActionList noFallActions;
public final boolean passableCheck;
@ -130,6 +131,7 @@ public class MovingConfig extends ACheckConfig {
noFallCheck = data.getBoolean(ConfPaths.MOVING_NOFALL_CHECK);
noFallDealDamage = data.getBoolean(ConfPaths.MOVING_NOFALL_DEALDAMAGE);
noFallTpReset = data.getBoolean(ConfPaths.MOVING_NOFALL_RESETONTP);
noFallActions = data.getOptimizedActionList(ConfPaths.MOVING_NOFALL_ACTIONS, Permissions.MOVING_NOFALL);
passableCheck = data.getBoolean(ConfPaths.MOVING_PASSABLE_CHECK);

View File

@ -731,10 +731,12 @@ public class MovingListener extends CheckListener{
data.resetPositions(to);
data.setSetBack(to);
// TODO: make this configurable.
if (fallDistance - player.getFallDistance() > 0.0){
// Reset fall distance.
// TODO: This might lead to new compatibility trouble.
player.setFallDistance((float) fallDistance);
if (fallDistance > 1.0 && fallDistance - player.getFallDistance() > 0.0){
// Reset fall distance if set so in the config.
if (!MovingConfig.getConfig(player).noFallTpReset){
// (Set fall distance if set to not reset.)
player.setFallDistance((float) fallDistance);
}
}
}
else{

View File

@ -475,6 +475,7 @@ public abstract class ConfPaths {
private static final String MOVING_NOFALL = MOVING + "nofall.";
public static final String MOVING_NOFALL_CHECK = MOVING_NOFALL + "active";
public static final String MOVING_NOFALL_DEALDAMAGE = MOVING_NOFALL + "dealdamage";
public static final String MOVING_NOFALL_RESETONTP = MOVING_NOFALL + "resetonteleport";
public static final String MOVING_NOFALL_ACTIONS = MOVING_NOFALL + "actions";
public static final String MOVING_PASSABLE = MOVING + "passable.";

View File

@ -25,7 +25,7 @@ public class DefaultConfig extends ConfigFile {
* NCP build needed for this config.
* (Should only increment with changing or removing paths.)
*/
public static final int buildNumber = 303;
public static final int buildNumber = 314;
/**
* Instantiates a new default configuration.
@ -368,6 +368,7 @@ public class DefaultConfig extends ConfigFile {
set(ConfPaths.MOVING_NOFALL_CHECK, true);
set(ConfPaths.MOVING_NOFALL_DEALDAMAGE, true);
set(ConfPaths.MOVING_NOFALL_RESETONTP, false);
set(ConfPaths.MOVING_NOFALL_ACTIONS, "log:nofall:0:5:if cancel vl>30 log:nofall:0:5:icf cancel");
set(ConfPaths.MOVING_PASSABLE_CHECK, true);