15 Commits
15 changed files with 138 additions and 33 deletions

No files matched your search

@@ -56,6 +56,8 @@ public class BlockBreakConfig extends ACheckConfig {
public final ActionList reachActions;
public final float wrongBLockLevel;
public final boolean wrongBlockImprobableFeedOnly;
public final float wrongBlockImprobableWeight;
public final ActionList wrongBlockActions;
/**
@@ -93,6 +95,8 @@ public class BlockBreakConfig extends ACheckConfig {
noSwingActions = config.getOptimizedActionList(ConfPaths.BLOCKBREAK_NOSWING_ACTIONS, Permissions.BLOCKBREAK_NOSWING);
reachActions = config.getOptimizedActionList(ConfPaths.BLOCKBREAK_REACH_ACTIONS, Permissions.BLOCKBREAK_REACH);
wrongBlockImprobableFeedOnly = config.getBoolean(ConfPaths.BLOCKBREAK_WRONGBLOCK_IMPROBABLE_FEEDONLY);
wrongBlockImprobableWeight = (float) config.getDouble(ConfPaths.BLOCKBREAK_WRONGBLOCK_IMPROBABLE_WEIGHT);
wrongBLockLevel = config.getInt(ConfPaths.BLOCKBREAK_WRONGBLOCK_LEVEL);
wrongBlockActions = config.getOptimizedActionList(ConfPaths.BLOCKBREAK_WRONGBLOCK_ACTIONS, Permissions.BLOCKBREAK_WRONGBLOCK);
@@ -42,6 +42,7 @@ public class WrongBlock extends Check {
* @param isInstaBreak
* @return
*/
public boolean check(final Player player, final Block block,
final BlockBreakConfig cc, final BlockBreakData data, final IPlayerData pData,
final AlmostBoolean isInstaBreak) {
@@ -90,8 +91,12 @@ public class WrongBlock extends Check {
if (executeActions(player, score, 1D, cc.wrongBlockActions).willCancel()) {
cancel = true;
}
if (Improbable.check(player, 2.0f, now, "blockbreak.wrongblock", pData)) {
cancel = true;
if (cc.wrongBlockImprobableWeight > 0.0f) {
if (cc.wrongBlockImprobableFeedOnly) {
Improbable.feed(player, cc.wrongBlockImprobableWeight, now);
} else if (Improbable.check(player, cc.wrongBlockImprobableWeight, now, "blockbreak.wrongblock", pData)) {
cancel = true;
}
}
}
}
@@ -42,16 +42,20 @@ public class BlockPlaceConfig extends ACheckConfig {
public final int fastPlaceLimit;
public final int fastPlaceShortTermTicks;
public final int fastPlaceShortTermLimit;
public final boolean fastPlaceImprobableFeedOnly;
public final float fastPlaceImprobableWeight;
public final ActionList fastPlaceActions;
public final Set<Material> noSwingExceptions = new HashSet<Material>();
public final ActionList noSwingActions;
public final ActionList reachActions;
public final ActionList scaffoldActions;
public final long speedInterval;
public final boolean speedImprobableFeedOnly;
public final float speedImprobableWeight;
public final ActionList speedActions;
/** General activation flag. */
@@ -78,16 +82,20 @@ public class BlockPlaceConfig extends ACheckConfig {
fastPlaceLimit = config.getInt(ConfPaths.BLOCKPLACE_FASTPLACE_LIMIT);
fastPlaceShortTermTicks = config.getInt(ConfPaths.BLOCKPLACE_FASTPLACE_SHORTTERM_TICKS);
fastPlaceShortTermLimit = config.getInt(ConfPaths.BLOCKPLACE_FASTPLACE_SHORTTERM_LIMIT);
fastPlaceImprobableFeedOnly = config.getBoolean(ConfPaths.BLOCKPLACE_FASTPLACE_IMPROBABLE_FEEDONLY);
fastPlaceImprobableWeight = (float) config.getDouble(ConfPaths.BLOCKPLACE_FASTPLACE_IMPROBABLE_WEIGHT);
fastPlaceActions = config.getOptimizedActionList(ConfPaths.BLOCKPLACE_FASTPLACE_ACTIONS, Permissions.BLOCKPLACE_FASTPLACE);
config.readMaterialFromList(ConfPaths.BLOCKPLACE_NOSWING_EXCEPTIONS, noSwingExceptions);
noSwingActions = config.getOptimizedActionList(ConfPaths.BLOCKPLACE_NOSWING_ACTIONS, Permissions.BLOCKPLACE_NOSWING);
reachActions = config.getOptimizedActionList(ConfPaths.BLOCKPLACE_REACH_ACTIONS, Permissions.BLOCKPLACE_REACH);
scaffoldActions = config.getOptimizedActionList(ConfPaths.BLOCKPLACE_SCAFFOLD_ACTIONS, Permissions.BLOCKPLACE_REACH);
scaffoldActions = config.getOptimizedActionList(ConfPaths.BLOCKPLACE_SCAFFOLD_ACTIONS, Permissions.BLOCKPLACE_REACH);
speedInterval = config.getLong(ConfPaths.BLOCKPLACE_SPEED_INTERVAL);
speedImprobableFeedOnly = config.getBoolean(ConfPaths.BLOCKPLACE_SPEED_IMPROBABLE_FEEDONLY);
speedImprobableWeight = (float) config.getDouble(ConfPaths.BLOCKPLACE_SPEED_IMPROBABLE_WEIGHT);
speedActions = config.getOptimizedActionList(ConfPaths.BLOCKPLACE_SPEED_ACTIONS, Permissions.BLOCKPLACE_SPEED);
preventBoatsAnywhere = config.getBoolean(ConfPaths.BLOCKPLACE_PREVENTMISC_BOATSANYWHERE);
@@ -234,9 +234,12 @@ public class BlockPlaceListener extends CheckListener {
if (fastPlace.check(player, block, tick, data, cc, pData)) {
cancelled = true;
}
else {
// Feed the improbable.
Improbable.feed(player, 0.5f, System.currentTimeMillis(), pData);
else if (cc.fastPlaceImprobableWeight > 0.0f) {
if (cc.fastPlaceImprobableFeedOnly) {
Improbable.feed(player, cc.fastPlaceImprobableWeight, System.currentTimeMillis());
} else if (Improbable.check(player, cc.fastPlaceImprobableWeight, System.currentTimeMillis(), "blockplace.fastplace", pData)) {
cancelled = true;
}
}
}
@@ -513,9 +516,12 @@ public class BlockPlaceListener extends CheckListener {
// If the check was positive, cancel the event.
cancel = true;
}
else if (Improbable.check(player, 0.6f, now, "blockplace.speed", pData)) {
// Combined fighting speed.
cancel = true;
else if (cc.speedImprobableWeight > 0.0f) {
if (cc.speedImprobableFeedOnly) {
Improbable.feed(player, cc.speedImprobableWeight, now);
} else if (Improbable.check(player, cc.speedImprobableWeight, now, "blockplace.speed", pData)) {
cancel = true;
}
}
}
@@ -198,10 +198,15 @@ public class Combined {
Math.max(cc.yawRatePenaltyFactor * amount , cc.yawRatePenaltyMin),
cc.yawRatePenaltyMax));
// TODO: balance (100 ... 200 ) ?
if (cc.yawRateImprobable && Improbable.check(player, amount / 100f, now, "combined.yawrate",
pData))
cancel = true;
}
// TODO: New calculations so that weight is not inverse
if (cc.yawRateImprobableWeight > 0.0f) {
if (cc.yawRateImprobableFeedOnly) {
Improbable.feed(player, amount / cc.yawRateImprobableWeight, now);
} else if (Improbable.check(player, amount / cc.yawRateImprobableWeight, now, "combined.yawrate", pData)) {
cancel = true;
}
}
} // Improbable.check(player, amount / 100f, now, "combined.yawrate", pData)
if (data.timeFreeze.isPenalty()) {
cancel = true;
}
@@ -59,7 +59,8 @@ public class CombinedConfig extends ACheckConfig {
// Last yaw tracking
public final float yawRate;
public final boolean yawRateImprobable;
public final boolean yawRateImprobableFeedOnly;
public final float yawRateImprobableWeight;
public final float yawRatePenaltyFactor;
public final int yawRatePenaltyMin;
public final int yawRatePenaltyMax;
@@ -116,7 +117,8 @@ public class CombinedConfig extends ACheckConfig {
munchHausenActions = config.getOptimizedActionList(ConfPaths.COMBINED_MUNCHHAUSEN_ACTIONS, Permissions.COMBINED_MUNCHHAUSEN);
yawRate = config.getInt(ConfPaths.COMBINED_YAWRATE_RATE);
yawRateImprobable = config.getBoolean(ConfPaths.COMBINED_YAWRATE_IMPROBABLE);
yawRateImprobableFeedOnly = config.getBoolean(ConfPaths.COMBINED_YAWRATE_IMPROBABLE_FEEDONLY);
yawRateImprobableWeight = (float) config.getDouble(ConfPaths.COMBINED_YAWRATE_IMPROBABLE_WEIGHT);
yawRatePenaltyFactor = (float) config.getDouble(ConfPaths.COMBINED_YAWRATE_PENALTY_FACTOR);
yawRatePenaltyMin = config.getInt(ConfPaths.COMBINED_YAWRATE_PENALTY_MIN);
yawRatePenaltyMax = config.getInt(ConfPaths.COMBINED_YAWRATE_PENALTY_MAX);
@@ -63,6 +63,8 @@ public class FightConfig extends ACheckConfig {
public final double reachSurvivalDistance;
public final double reachReduceDistance;
public final double reachReduceStep;
public final boolean reachImprobableFeedOnly;
public final float reachImprobableWeight;
public final ActionList reachActions;
@@ -75,6 +77,8 @@ public class FightConfig extends ACheckConfig {
public final int speedShortTermLimit;
public final int speedShortTermTicks;
public final boolean speedImprobableFeedOnly;
public final float speedImprobableWeight;
public final ActionList speedActions;
public final ActionList wrongTurnActions;
@@ -131,6 +135,8 @@ public class FightConfig extends ACheckConfig {
reachReduce = config.getBoolean(ConfPaths.FIGHT_REACH_REDUCE);
reachReduceDistance = config.getDouble(ConfPaths.FIGHT_REACH_REDUCEDISTANCE, 0, reachSurvivalDistance, 0.9);
reachReduceStep = config.getDouble(ConfPaths.FIGHT_REACH_REDUCESTEP, 0, reachReduceDistance, 0.15);
reachImprobableFeedOnly = config.getBoolean(ConfPaths.FIGHT_REACH_IMPROBABLE_FEEDONLY);
reachImprobableWeight = (float) config.getDouble(ConfPaths.FIGHT_REACH_IMPROBABLE_WEIGHT);
reachActions = config.getOptimizedActionList(ConfPaths.FIGHT_REACH_ACTIONS, Permissions.FIGHT_REACH);
selfHitActions = config.getOptimizedActionList(ConfPaths.FIGHT_SELFHIT_ACTIONS, Permissions.FIGHT_SELFHIT);
@@ -141,6 +147,8 @@ public class FightConfig extends ACheckConfig {
speedBucketFactor = (float) config.getDouble(ConfPaths.FIGHT_SPEED_BUCKETS_FACTOR, 1f);
speedShortTermLimit = config.getInt(ConfPaths.FIGHT_SPEED_SHORTTERM_LIMIT);
speedShortTermTicks = config.getInt(ConfPaths.FIGHT_SPEED_SHORTTERM_TICKS);
speedImprobableFeedOnly = config.getBoolean(ConfPaths.FIGHT_SPEED_IMPROBABLE_FEEDONLY);
speedImprobableWeight = (float) config.getDouble(ConfPaths.FIGHT_SPEED_IMPROBABLE_WEIGHT);
speedActions = config.getOptimizedActionList(ConfPaths.FIGHT_SPEED_ACTIONS, Permissions.FIGHT_SPEED);
wrongTurnActions = config.getOptimizedActionList(ConfPaths.FIGHT_WRONGTURN_ACTIONS,
@@ -331,19 +331,30 @@ public class FightListener extends CheckListener implements JoinLeaveListener{
cancelled = true;
// Still feed the improbable.
if (data.speedVL > 50) {
Improbable.check(player, 2f, now, "fight.speed", pData);
if (cc.speedImprobableWeight > 0.0f) {
if (!cc.speedImprobableFeedOnly) {
Improbable.check(player, cc.speedImprobableWeight, now, "fight.speed", pData);
}
}
// Improbable.check(player, 2f, now, "fight.speed", pData);
}
else {
Improbable.feed(player, 2f, now);
if (cc.speedImprobableWeight > 0.0f) {
Improbable.feed(player, cc.speedImprobableWeight, now);
}
}
// Improbable.feed(player, 2f, now);
}
}
else if (normalizedMove > 2.0 && Improbable.check(player, 1f, now,
"fight.speed", pData)) {
else if (normalizedMove > 2.0) { // && Improbable.check(player, 1f, now, "fight.speed", pData)) {
if (cc.speedImprobableWeight > 0.0f) {
if (!cc.speedImprobableFeedOnly && Improbable.check(player, cc.speedImprobableWeight, now, "fight.speed", pData)) {
cancelled = true;
}
}
// Feed improbable in case of ok-moves too.
// TODO: consider only feeding if attacking with higher average speed (!)
cancelled = true;
}
}
// TODO: Consider to always check improbable (first?). At least if config.always or speed or net.attackfrequency are enabled.
if (!cancelled && critical.isEnabled(player, pData)
@@ -888,7 +899,7 @@ public class FightListener extends CheckListener implements JoinLeaveListener{
} else {
data.exemptArmSwing = false;
}
}
}
@Override
public void playerJoins(final Player player) {
@@ -921,7 +932,7 @@ public class FightListener extends CheckListener implements JoinLeaveListener{
if (data.fightSyncCount >= cc.fightSyncResetCount) {
data.fightSyncCount = 0;
data.fightSyncReset = 0;
data.fightSyncVL *= 0.99D;
data.fightSyncVL *= 0.99D;
}
data.fightSyncReset += 1;
Location packet = data.lastHitLocation, eventLoc = player.getLocation();
@@ -254,9 +254,15 @@ public class Reach extends Check {
// Execute whatever actions are associated with this check and the violation level and find out if we should
// cancel the event.
cancel = executeActions(player, data.reachVL, violation, cc.reachActions).willCancel();
if (Improbable.check(player, (float) violation / 2f, System.currentTimeMillis(),
"fight.reach", pData)){
cancel = true;
//if (Improbable.check(player, (float) violation / 2f, System.currentTimeMillis(),
// "fight.reach", pData)){
// cancel = true;
//}
// TODO: New improbable weight calculations so that weight is not inverse to config weight
if (cc.reachImprobableWeight > 0.0f) {
if (!cc.reachImprobableFeedOnly && Improbable.check(player, (float) violation / cc.reachImprobableWeight, System.currentTimeMillis(), "fight.reach", pData)) {
cancel = true;
}
}
if (cancel && cc.reachPenalty > 0){
// Apply an attack penalty time.
@@ -269,7 +275,10 @@ public class Reach extends Check {
data.attackPenalty.applyPenalty(cc.reachPenalty / 2);
}
cancel = true;
Improbable.feed(player, (float) (lenpRel - context.distanceLimit * data.reachMod) / 4f, System.currentTimeMillis());
if (cc.reachImprobableWeight > 0.0f) {
Improbable.feed(player, (float) (lenpRel - context.distanceLimit * data.reachMod) / cc.reachImprobableWeight, System.currentTimeMillis());
}
// Improbable.feed(player, (float) (lenpRel - context.distanceLimit * data.reachMod) / 4f, System.currentTimeMillis());
}
else{
// Player passed the check, reward them.
@@ -161,7 +161,10 @@ public class FastClick extends Check {
data.fastClickLastCursorAmount = cursorAmount;
// Feed the improbable.
Improbable.feed(player, 0.7f * amount, System.currentTimeMillis());
if (cc.fastClickImprobableWeight > 0.0f) {
Improbable.feed(player, cc.fastClickImprobableWeight * amount, now);
}
// Improbable.feed(player, 0.7f * amount, System.currentTimeMillis());
return cancel;
}
@@ -43,6 +43,7 @@ public class InventoryConfig extends ACheckConfig {
public final float fastClickNormalLimit;
public final int chestOpenLimit;
public final Set<String> inventoryExemptions = new HashSet<String>();
public final float fastClickImprobableWeight;
public final ActionList fastClickActions;
public final long fastConsumeDuration;
@@ -88,6 +89,7 @@ public class InventoryConfig extends ACheckConfig {
fastClickNormalLimit = (float) data.getDouble(ConfPaths.INVENTORY_FASTCLICK_LIMIT_NORMAL);
chestOpenLimit = data.getInt(ConfPaths.INVENTORY_FASTCLICK_LIMIT_CHEST);
data.readStringlFromList(ConfPaths.INVENTORY_FASTCLICK_EXCLUDE, inventoryExemptions);
fastClickImprobableWeight = (float) data.getDouble(ConfPaths.INVENTORY_FASTCLICK_IMPROBABLE_WEIGHT);
fastClickActions = data.getOptimizedActionList(ConfPaths.INVENTORY_FASTCLICK_ACTIONS, Permissions.INVENTORY_FASTCLICK);
fastConsumeDuration = (long) (1000.0 * data.getDouble(ConfPaths.INVENTORY_FASTCONSUME_DURATION));
@@ -20,6 +20,7 @@ import fr.neatmonster.nocheatplus.actions.ParameterName;
import fr.neatmonster.nocheatplus.checks.Check;
import fr.neatmonster.nocheatplus.checks.CheckType;
import fr.neatmonster.nocheatplus.checks.ViolationData;
import fr.neatmonster.nocheatplus.checks.combined.Improbable;
import fr.neatmonster.nocheatplus.players.IPlayerData;
import fr.neatmonster.nocheatplus.utilities.TickTask;
@@ -95,7 +96,10 @@ public class AttackFrequency extends Check {
cancel = true;
}
// Feed Improbable.
TickTask.requestImprobableUpdate(player.getUniqueId(), 2f);
if (cc.attackFrequencyImprobableWeight > 0.0f) {
TickTask.requestImprobableUpdate(player.getUniqueId(), cc.attackFrequencyImprobableWeight);
}
// TickTask.requestImprobableUpdate(player.getUniqueId(), 2f);
}
return cancel;
@@ -55,6 +55,7 @@ public class NetConfig extends ACheckConfig {
public final float attackFrequencyLimitSecondsTwo;
public final float attackFrequencyLimitSecondsFour;
public final float attackFrequencyLimitSecondsEight;
public final float attackFrequencyImprobableWeight;
public final ActionList attackFrequencyActions;
public final int fightSyncResetCount;
@@ -92,6 +93,7 @@ public class NetConfig extends ACheckConfig {
attackFrequencyLimitSecondsTwo = config.getInt(ConfPaths.NET_ATTACKFREQUENCY_SECONDS_TWO);
attackFrequencyLimitSecondsFour= config.getInt(ConfPaths.NET_ATTACKFREQUENCY_SECONDS_FOUR);
attackFrequencyLimitSecondsEight = config.getInt(ConfPaths.NET_ATTACKFREQUENCY_SECONDS_EIGHT);
attackFrequencyImprobableWeight = (float) config.getDouble(ConfPaths.NET_ATTACKFREQUENCY_IMPROBABLE_WEIGHT);
attackFrequencyActions = config.getOptimizedActionList(ConfPaths.NET_ATTACKFREQUENCY_ACTIONS, Permissions.NET_ATTACKFREQUENCY);
fightSyncResetCount = config.getInt(ConfPaths.NET_FIGHTSYNC_RESETCOUNT);
@@ -223,6 +223,9 @@ public abstract class ConfPaths {
private static final String BLOCKBREAK_WRONGBLOCK = BLOCKBREAK + "wrongblock.";
public static final String BLOCKBREAK_WRONGBLOCK_CHECK = BLOCKBREAK_WRONGBLOCK + SUB_ACTIVE;
public static final String BLOCKBREAK_WRONGBLOCK_LEVEL = BLOCKBREAK_WRONGBLOCK + "level";
private static final String BLOCKBREAK_WRONGBLOCK_IMPROBABLE = BLOCKBREAK_WRONGBLOCK + "improbable.";
public static final String BLOCKBREAK_WRONGBLOCK_IMPROBABLE_FEEDONLY = BLOCKBREAK_WRONGBLOCK_IMPROBABLE + "feedonly";
public static final String BLOCKBREAK_WRONGBLOCK_IMPROBABLE_WEIGHT = BLOCKBREAK_WRONGBLOCK_IMPROBABLE + "weight";
public static final String BLOCKBREAK_WRONGBLOCK_ACTIONS = BLOCKBREAK_WRONGBLOCK + "actions";
public static final String BLOCKINTERACT = CHECKS + "blockinteract.";
@@ -269,6 +272,9 @@ public abstract class ConfPaths {
private static final String BLOCKPLACE_FASTPLACE_SHORTTERM = BLOCKPLACE_FASTPLACE + "shortterm.";
public static final String BLOCKPLACE_FASTPLACE_SHORTTERM_TICKS = BLOCKPLACE_FASTPLACE_SHORTTERM + "ticks";
public static final String BLOCKPLACE_FASTPLACE_SHORTTERM_LIMIT = BLOCKPLACE_FASTPLACE_SHORTTERM + "limit";
private static final String BLOCKPLACE_FASTPLACE_IMPROBABLE = BLOCKPLACE_FASTPLACE + "improbable.";
public static final String BLOCKPLACE_FASTPLACE_IMPROBABLE_FEEDONLY = BLOCKPLACE_FASTPLACE_IMPROBABLE + "feedonly";
public static final String BLOCKPLACE_FASTPLACE_IMPROBABLE_WEIGHT = BLOCKPLACE_FASTPLACE_IMPROBABLE + "weight";
public static final String BLOCKPLACE_FASTPLACE_ACTIONS = BLOCKPLACE_FASTPLACE + "actions";
private static final String BLOCKPLACE_NOSWING = BLOCKPLACE + "noswing.";
@@ -287,6 +293,9 @@ public abstract class ConfPaths {
private static final String BLOCKPLACE_SPEED = BLOCKPLACE + "speed.";
public static final String BLOCKPLACE_SPEED_CHECK = BLOCKPLACE_SPEED + SUB_ACTIVE;
public static final String BLOCKPLACE_SPEED_INTERVAL = BLOCKPLACE_SPEED + "interval";
private static final String BLOCKPLACE_SPEED_IMPROBABLE = BLOCKPLACE_SPEED + "improbable.";
public static final String BLOCKPLACE_SPEED_IMPROBABLE_FEEDONLY = BLOCKPLACE_SPEED_IMPROBABLE + "feedonly";
public static final String BLOCKPLACE_SPEED_IMPROBABLE_WEIGHT = BLOCKPLACE_SPEED_IMPROBABLE + "weight";
public static final String BLOCKPLACE_SPEED_ACTIONS = BLOCKPLACE_SPEED + "actions";
private static final String BLOCKPLACE_PREVENTMISC = BLOCKPLACE + "preventmisc.";
@@ -450,7 +459,9 @@ public abstract class ConfPaths {
private static final String COMBINED_YAWRATE = COMBINED + "yawrate.";
public static final String COMBINED_YAWRATE_RATE = COMBINED_YAWRATE + "rate";
public static final String COMBINED_YAWRATE_IMPROBABLE = COMBINED_YAWRATE + "improbable";
private static final String COMBINED_YAWRATE_IMPROBABLE = COMBINED_YAWRATE + "improbable.";
public static final String COMBINED_YAWRATE_IMPROBABLE_FEEDONLY = COMBINED_YAWRATE_IMPROBABLE + "feedonly";
public static final String COMBINED_YAWRATE_IMPROBABLE_WEIGHT = COMBINED_YAWRATE_IMPROBABLE + "weight";
private static final String COMBINED_YAWRATE_PENALTY = COMBINED_YAWRATE + "penalty.";
public static final String COMBINED_YAWRATE_PENALTY_FACTOR = COMBINED_YAWRATE_PENALTY + "factor";
public static final String COMBINED_YAWRATE_PENALTY_MIN = COMBINED_YAWRATE_PENALTY + "minimum";
@@ -509,6 +520,9 @@ public abstract class ConfPaths {
public static final String FIGHT_REACH_REDUCE = FIGHT_REACH + "reduce";
public static final String FIGHT_REACH_REDUCEDISTANCE = FIGHT_REACH + "reducedistance";
public static final String FIGHT_REACH_REDUCESTEP = FIGHT_REACH + "reducestep";
private static final String FIGHT_REACH_IMPROBABLE = FIGHT_REACH + "improbable.";
public static final String FIGHT_REACH_IMPROBABLE_FEEDONLY = FIGHT_REACH_IMPROBABLE + "feedonly";
public static final String FIGHT_REACH_IMPROBABLE_WEIGHT = FIGHT_REACH_IMPROBABLE + "weight";
public static final String FIGHT_REACH_ACTIONS = FIGHT_REACH + "actions";
public static final String FIGHT_SELFHIT = FIGHT + "selfhit.";
@@ -528,6 +542,9 @@ public abstract class ConfPaths {
private static final String FIGHT_SPEED_SHORTTERM = FIGHT_SPEED + "shortterm.";
public static final String FIGHT_SPEED_SHORTTERM_LIMIT = FIGHT_SPEED_SHORTTERM + "limit";
public static final String FIGHT_SPEED_SHORTTERM_TICKS = FIGHT_SPEED_SHORTTERM + "ticks";
private static final String FIGHT_SPEED_IMPROBABLE = FIGHT_SPEED + "improbable.";
public static final String FIGHT_SPEED_IMPROBABLE_FEEDONLY = FIGHT_SPEED_IMPROBABLE + "feedonly";
public static final String FIGHT_SPEED_IMPROBABLE_WEIGHT = FIGHT_SPEED_IMPROBABLE + "weight";
public static final String FIGHT_SPEED_ACTIONS = FIGHT_SPEED + "actions";
private static final String FIGHT_WRONGTURN = FIGHT + "wrongturn.";
@@ -555,6 +572,8 @@ public abstract class ConfPaths {
public static final String INVENTORY_FASTCLICK_LIMIT_SHORTTERM = INVENTORY_FASTCLICK_LIMIT + "shortterm";
public static final String INVENTORY_FASTCLICK_LIMIT_NORMAL = INVENTORY_FASTCLICK_LIMIT + "normal";
public static final String INVENTORY_FASTCLICK_LIMIT_CHEST = INVENTORY_FASTCLICK_LIMIT + "chest";
private static final String INVENTORY_FASTCLICK_IMPROBABLE = INVENTORY_FASTCLICK + "improbable.";
public static final String INVENTORY_FASTCLICK_IMPROBABLE_WEIGHT = INVENTORY_FASTCLICK_IMPROBABLE + "weight";
public static final String INVENTORY_FASTCLICK_ACTIONS = INVENTORY_FASTCLICK + "actions";
private static final String INVENTORY_FASTCONSUME = INVENTORY + "fastconsume.";
@@ -741,6 +760,8 @@ public abstract class ConfPaths {
public static final String NET_ATTACKFREQUENCY_SECONDS_TWO = NET_ATTACKFREQUENCY_SECONDS + "two";
public static final String NET_ATTACKFREQUENCY_SECONDS_FOUR = NET_ATTACKFREQUENCY_SECONDS + "four";
public static final String NET_ATTACKFREQUENCY_SECONDS_EIGHT = NET_ATTACKFREQUENCY_SECONDS + "eight";
private static final String NET_ATTACKFREQUENCY_IMPROBABLE = NET_ATTACKFREQUENCY + "improbable.";
public static final String NET_ATTACKFREQUENCY_IMPROBABLE_WEIGHT = NET_ATTACKFREQUENCY_IMPROBABLE + "weight";
public static final String NET_ATTACKFREQUENCY_ACTIONS = NET_ATTACKFREQUENCY + "actions";
private static final String NET_FIGHTSYNC = NET + "fightsync.";
@@ -145,6 +145,8 @@ public class DefaultConfig extends ConfigFile {
set(ConfPaths.BLOCKBREAK_WRONGBLOCK_CHECK, "default", 785);
set(ConfPaths.BLOCKBREAK_WRONGBLOCK_LEVEL, 10, 785);
set(ConfPaths.BLOCKBREAK_WRONGBLOCK_IMPROBABLE_FEEDONLY, false, 1154);
set(ConfPaths.BLOCKBREAK_WRONGBLOCK_IMPROBABLE_WEIGHT, 2.0, 1154);
set(ConfPaths.BLOCKBREAK_WRONGBLOCK_ACTIONS, "cancel vl>10 log:bwrong:0:5:if cancel vl>30 log:bwrong:0:5:cif cancel cmd:kickwb", 785);
@@ -182,6 +184,8 @@ public class DefaultConfig extends ConfigFile {
set(ConfPaths.BLOCKPLACE_FASTPLACE_LIMIT, 22, 785);
set(ConfPaths.BLOCKPLACE_FASTPLACE_SHORTTERM_TICKS, 10, 785);
set(ConfPaths.BLOCKPLACE_FASTPLACE_SHORTTERM_LIMIT, 6, 785);
set(ConfPaths.BLOCKPLACE_FASTPLACE_IMPROBABLE_FEEDONLY, false, 1154);
set(ConfPaths.BLOCKPLACE_FASTPLACE_IMPROBABLE_WEIGHT, 0.5, 1154);
set(ConfPaths.BLOCKPLACE_FASTPLACE_ACTIONS, "cancel vl>100 log:fastplace:3:5:cif cancel", 785);
set(ConfPaths.BLOCKPLACE_REACH_CHECK, "default", 785);
@@ -196,6 +200,8 @@ public class DefaultConfig extends ConfigFile {
set(ConfPaths.BLOCKPLACE_SPEED_CHECK, "default", 785);
set(ConfPaths.BLOCKPLACE_SPEED_INTERVAL, 45L, 785);
set(ConfPaths.BLOCKPLACE_SPEED_IMPROBABLE_FEEDONLY, false, 1154);
set(ConfPaths.BLOCKPLACE_SPEED_IMPROBABLE_WEIGHT, 0.6, 1154);
set(ConfPaths.BLOCKPLACE_SPEED_ACTIONS,
"cancel vl>150 log:bpspeed:3:5:if cancel vl>1000 log:bpspeed:3:5:cif cancel", 785);
@@ -317,7 +323,9 @@ public class DefaultConfig extends ConfigFile {
set(ConfPaths.COMBINED_YAWRATE_PENALTY_FACTOR, 1.0, 785);
set(ConfPaths.COMBINED_YAWRATE_PENALTY_MIN, 250, 785);
set(ConfPaths.COMBINED_YAWRATE_PENALTY_MAX, 2000, 785);
set(ConfPaths.COMBINED_YAWRATE_IMPROBABLE, true, 785);
set(ConfPaths.COMBINED_YAWRATE_IMPROBABLE_FEEDONLY, false, 1154);
set(ConfPaths.COMBINED_YAWRATE_IMPROBABLE_WEIGHT, 100.0, 1154);
// set(ConfPaths.COMBINED_YAWRATE_IMPROBABLE, true, 785);
// FIGHT
set(ConfPaths.FIGHT_ACTIVE, "default", 1144);
@@ -364,6 +372,8 @@ public class DefaultConfig extends ConfigFile {
set(ConfPaths.FIGHT_REACH_REDUCE, true, 785);
set(ConfPaths.FIGHT_REACH_REDUCEDISTANCE, 0.9, 785);
set(ConfPaths.FIGHT_REACH_REDUCESTEP, 0.15, 785);
set(ConfPaths.FIGHT_REACH_IMPROBABLE_FEEDONLY, false, 1154);
set(ConfPaths.FIGHT_REACH_IMPROBABLE_WEIGHT, 2.0, 1154);
set(ConfPaths.FIGHT_REACH_ACTIONS, "cancel vl>10 log:freach:2:5:if cancel", 785);
set(ConfPaths.FIGHT_SELFHIT_CHECK, "default", 785);
@@ -374,6 +384,8 @@ public class DefaultConfig extends ConfigFile {
set(ConfPaths.FIGHT_SPEED_ACTIONS, "cancel vl>50 log:fspeed:0:5:if cancel", 785);
set(ConfPaths.FIGHT_SPEED_SHORTTERM_TICKS, 7, 785);
set(ConfPaths.FIGHT_SPEED_SHORTTERM_LIMIT, 6, 785);
set(ConfPaths.FIGHT_SPEED_IMPROBABLE_FEEDONLY, false, 1154);
set(ConfPaths.FIGHT_SPEED_IMPROBABLE_WEIGHT, 2.0, 1154);
set(ConfPaths.FIGHT_WRONGTURN_CHECK, "default", 1143);
set(ConfPaths.FIGHT_WRONGTURN_ACTIONS, "cancel cmd:kick_wrongturn log:log_wrongturn:0:15:fci", 1143);
@@ -393,6 +405,7 @@ public class DefaultConfig extends ConfigFile {
set(ConfPaths.INVENTORY_FASTCLICK_LIMIT_SHORTTERM, 4, 785);
set(ConfPaths.INVENTORY_FASTCLICK_LIMIT_NORMAL, 15, 785);
set(ConfPaths.INVENTORY_FASTCLICK_LIMIT_CHEST, 152, 1154);
set(ConfPaths.INVENTORY_FASTCLICK_IMPROBABLE_WEIGHT, 0.7, 1154);
set(ConfPaths.INVENTORY_FASTCLICK_ACTIONS, "cancel vl>50 log:fastclick:3:5:cif cancel", 785);
set(ConfPaths.INVENTORY_INSTANTBOW_CHECK, "default", 785);
@@ -563,6 +576,7 @@ public class DefaultConfig extends ConfigFile {
set(ConfPaths.NET_ATTACKFREQUENCY_SECONDS_TWO, 30, 785);
set(ConfPaths.NET_ATTACKFREQUENCY_SECONDS_FOUR, 60, 785);
set(ConfPaths.NET_ATTACKFREQUENCY_SECONDS_EIGHT, 100, 785);
set(ConfPaths.NET_ATTACKFREQUENCY_IMPROBABLE_WEIGHT, 2.0, 1154);
set(ConfPaths.NET_ATTACKFREQUENCY_ACTIONS, "cancel vl>30 cancel log:attackfrequency:0:5:if vl>160 cancel log:attackfrequency:0:0:cif cmd:kickattackfrequency", 785);
// FightSync
@@ -570,6 +584,7 @@ public class DefaultConfig extends ConfigFile {
set(ConfPaths.NET_FIGHTSYNC_THRESHOLD, 5, 1154);
set(ConfPaths.NET_FIGHTSYNC_RESETCOUNT, 11, 1154);
set(ConfPaths.NET_FIGHTSYNC_ACTIONS, "vl<10 log:fightsync:0:5:if", 1154);
// FlyingFrequency
set(ConfPaths.NET_FLYINGFREQUENCY_ACTIVE, "default", 785);
set(ConfPaths.NET_FLYINGFREQUENCY_SECONDS, 5, 785);