diff --git a/build.gradle.kts b/build.gradle.kts index 80a9791abb..87e42a4881 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -69,7 +69,7 @@ dependencies { //implementation("com.github.grimanticheat:grimapi:1193c4fa41") // Used for local testing: implementation("ac.grim.grimac:GRIMAPI:1.0") - implementation("com.github.grimanticheat:grimapi:fc5634e444") + implementation("com.github.grimanticheat:grimapi:4e50368") implementation("org.jetbrains:annotations:24.1.0") compileOnly("org.geysermc.floodgate:api:2.0-SNAPSHOT") diff --git a/src/main/java/ac/grim/grimac/checks/Check.java b/src/main/java/ac/grim/grimac/checks/Check.java index 9821a9a7da..ce3202b3c0 100644 --- a/src/main/java/ac/grim/grimac/checks/Check.java +++ b/src/main/java/ac/grim/grimac/checks/Check.java @@ -25,7 +25,6 @@ public class Check implements AbstractCheck, ConfigReloadObserver { private double setbackVL; private String checkName; - private String configName; private String alternativeName; private String displayName; private String description; @@ -35,11 +34,6 @@ public class Check implements AbstractCheck, ConfigReloadObserver { private boolean isEnabled; private boolean exempted; - @Override - public boolean isExperimental() { - return experimental; - } - public Check(final GrimPlayer player) { this.player = player; @@ -48,9 +42,6 @@ public Check(final GrimPlayer player) { if (checkClass.isAnnotationPresent(CheckData.class)) { final CheckData checkData = checkClass.getAnnotation(CheckData.class); this.checkName = checkData.name(); - this.configName = checkData.configName(); - // Fall back to check name - if (this.configName.equals("DEFAULT")) this.configName = this.checkName; this.decay = checkData.decay(); this.setbackVL = checkData.setback(); this.alternativeName = checkData.alternativeName(); @@ -58,7 +49,7 @@ public Check(final GrimPlayer player) { this.description = checkData.description(); this.displayName = this.checkName; } - // + reload(); } @@ -114,9 +105,9 @@ public final void reward() { @Override public void reload(ConfigManager configuration) { - decay = configuration.getDoubleElse(configName + ".decay", decay); - setbackVL = configuration.getDoubleElse(configName + ".setbackvl", setbackVL); - displayName = configuration.getStringElse(configName + ".displayname", checkName); + decay = configuration.getDoubleElse(checkName + ".decay", decay); + setbackVL = configuration.getDoubleElse(checkName + ".setbackvl", setbackVL); + displayName = configuration.getStringElse(checkName + ".displayname", checkName); if (setbackVL == -1) setbackVL = Double.MAX_VALUE; updateExempted(); @@ -190,4 +181,8 @@ public void reload() { reload(GrimAPI.INSTANCE.getConfigManager().getConfig()); } + @Override + public String getConfigName() { + return checkName; + } } diff --git a/src/main/java/ac/grim/grimac/checks/CheckData.java b/src/main/java/ac/grim/grimac/checks/CheckData.java index ef444b0ada..609ce3d699 100644 --- a/src/main/java/ac/grim/grimac/checks/CheckData.java +++ b/src/main/java/ac/grim/grimac/checks/CheckData.java @@ -12,8 +12,6 @@ String alternativeName() default "UNKNOWN"; - String configName() default "DEFAULT"; - String description() default "No description provided"; double decay() default 0.05; diff --git a/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java b/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java index 52e9652302..397342cc19 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java +++ b/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java @@ -40,7 +40,7 @@ import java.util.*; // You may not copy the check unless you are licensed under GPL -@CheckData(name = "Reach", configName = "Reach", setback = 10) +@CheckData(name = "Reach", setback = 10) public class Reach extends Check implements PacketCheck { // Only one flag per reach attack, per entity, per tick. // We store position because lastX isn't reliable on teleports. diff --git a/src/main/java/ac/grim/grimac/checks/impl/groundspoof/NoFallA.java b/src/main/java/ac/grim/grimac/checks/impl/groundspoof/NoFallA.java index 12bc91e689..d6ad369082 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/groundspoof/NoFallA.java +++ b/src/main/java/ac/grim/grimac/checks/impl/groundspoof/NoFallA.java @@ -17,7 +17,7 @@ // Catches NoFalls for LOOK and GROUND packets // This check runs AFTER the predictions -@CheckData(name = "NoFall", configName = "nofall", setback = 10) +@CheckData(name = "NoFall", setback = 10) public class NoFallA extends Check implements PacketCheck { public boolean flipPlayerGroundStatus = false; diff --git a/src/main/java/ac/grim/grimac/checks/impl/movement/EntityControl.java b/src/main/java/ac/grim/grimac/checks/impl/movement/EntityControl.java index 75dd93ddc5..7f47a7d87a 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/movement/EntityControl.java +++ b/src/main/java/ac/grim/grimac/checks/impl/movement/EntityControl.java @@ -5,7 +5,7 @@ import ac.grim.grimac.checks.type.PostPredictionCheck; import ac.grim.grimac.player.GrimPlayer; -@CheckData(name = "Entity control", configName = "EntityControl") +@CheckData(name = "EntityControl") public class EntityControl extends Check implements PostPredictionCheck { public EntityControl(GrimPlayer player) { super(player); diff --git a/src/main/java/ac/grim/grimac/checks/impl/movement/NegativeTimerCheck.java b/src/main/java/ac/grim/grimac/checks/impl/movement/NegativeTimerCheck.java index 23235131ed..652abaa45a 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/movement/NegativeTimerCheck.java +++ b/src/main/java/ac/grim/grimac/checks/impl/movement/NegativeTimerCheck.java @@ -7,7 +7,7 @@ import ac.grim.grimac.utils.anticheat.update.PredictionComplete; import com.github.retrooper.packetevents.event.PacketReceiveEvent; -@CheckData(name = "NegativeTimer", configName = "NegativeTimer", setback = -1, experimental = true) +@CheckData(name = "NegativeTimer", setback = -1, experimental = true) public class NegativeTimerCheck extends TimerCheck implements PostPredictionCheck { public NegativeTimerCheck(GrimPlayer player) { @@ -37,6 +37,6 @@ public void doCheck(final PacketReceiveEvent event) { @Override public void onReload(ConfigManager config) { - clockDrift = (long) (config.getDoubleElse(getConfigName() + ".drift", 1200.0) * 1e6); + clockDrift = (long) (config.getDoubleElse(getCheckName() + ".drift", 1200.0) * 1e6); } } diff --git a/src/main/java/ac/grim/grimac/checks/impl/movement/NoSlowA.java b/src/main/java/ac/grim/grimac/checks/impl/movement/NoSlowA.java index 444ce17315..773fecc665 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/movement/NoSlowA.java +++ b/src/main/java/ac/grim/grimac/checks/impl/movement/NoSlowA.java @@ -8,7 +8,7 @@ import ac.grim.grimac.utils.anticheat.update.PredictionComplete; import com.github.retrooper.packetevents.protocol.player.ClientVersion; -@CheckData(name = "NoSlowA (Prediction)", configName = "NoSlowA", setback = 5) +@CheckData(name = "NoSlowA", setback = 5) public class NoSlowA extends Check implements PostPredictionCheck { double offsetToFlag; double bestOffset = 1; diff --git a/src/main/java/ac/grim/grimac/checks/impl/movement/TimerCheck.java b/src/main/java/ac/grim/grimac/checks/impl/movement/TimerCheck.java index f43cb54f30..7bd6f592ca 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/movement/TimerCheck.java +++ b/src/main/java/ac/grim/grimac/checks/impl/movement/TimerCheck.java @@ -9,7 +9,7 @@ import com.github.retrooper.packetevents.protocol.packettype.PacketType; import com.github.retrooper.packetevents.protocol.packettype.PacketTypeCommon; -@CheckData(name = "Timer", configName = "TimerA", setback = 10) +@CheckData(name = "Timer", setback = 10) public class TimerCheck extends Check implements PacketCheck { long timerBalanceRealTime = 0; @@ -111,7 +111,7 @@ public boolean shouldCountPacketForTimer(PacketTypeCommon packetType) { @Override public void onReload(ConfigManager config) { - clockDrift = (long) (config.getDoubleElse(getConfigName() + ".drift", 120.0) * 1e6); - limitAbuseOverPing = (long) (config.getDoubleElse(getConfigName() + ".ping-abuse-limit-threshold", 1000) * 1e6); + clockDrift = (long) (config.getDoubleElse(getCheckName() + ".drift", 120.0) * 1e6); + limitAbuseOverPing = (long) (config.getDoubleElse(getCheckName() + ".ping-abuse-limit-threshold", 1000) * 1e6); } } diff --git a/src/main/java/ac/grim/grimac/checks/impl/movement/VehicleTimer.java b/src/main/java/ac/grim/grimac/checks/impl/movement/VehicleTimer.java index 0421bbdb98..ac1719b693 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/movement/VehicleTimer.java +++ b/src/main/java/ac/grim/grimac/checks/impl/movement/VehicleTimer.java @@ -5,7 +5,7 @@ import com.github.retrooper.packetevents.protocol.packettype.PacketType; import com.github.retrooper.packetevents.protocol.packettype.PacketTypeCommon; -@CheckData(name = "Timer - Vehicle", configName = "TimerVehicle", setback = 10) +@CheckData(name = "VehicleTimer", setback = 10) public class VehicleTimer extends TimerCheck { boolean isDummy = false; diff --git a/src/main/java/ac/grim/grimac/checks/impl/prediction/NoFallB.java b/src/main/java/ac/grim/grimac/checks/impl/prediction/NoFallB.java index ead538eec9..2501f530f3 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/prediction/NoFallB.java +++ b/src/main/java/ac/grim/grimac/checks/impl/prediction/NoFallB.java @@ -9,7 +9,7 @@ import com.github.retrooper.packetevents.manager.server.ServerVersion; import com.github.retrooper.packetevents.protocol.player.GameMode; -@CheckData(name = "GroundSpoof", configName = "GroundSpoof", setback = 10, decay = 0.01) +@CheckData(name = "GroundSpoof", setback = 10, decay = 0.01) public class NoFallB extends Check implements PostPredictionCheck { public NoFallB(GrimPlayer player) { diff --git a/src/main/java/ac/grim/grimac/checks/impl/prediction/OffsetHandler.java b/src/main/java/ac/grim/grimac/checks/impl/prediction/OffsetHandler.java index c1012078bc..89fe213bd9 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/prediction/OffsetHandler.java +++ b/src/main/java/ac/grim/grimac/checks/impl/prediction/OffsetHandler.java @@ -11,7 +11,7 @@ import java.util.concurrent.atomic.AtomicInteger; -@CheckData(name = "Simulation", configName = "Simulation", decay = 0.02) +@CheckData(name = "Simulation", decay = 0.02) public class OffsetHandler extends Check implements PostPredictionCheck { // Config double setbackDecayMultiplier; diff --git a/src/main/java/ac/grim/grimac/checks/impl/prediction/Phase.java b/src/main/java/ac/grim/grimac/checks/impl/prediction/Phase.java index 8cc332aa73..80231c9196 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/prediction/Phase.java +++ b/src/main/java/ac/grim/grimac/checks/impl/prediction/Phase.java @@ -15,7 +15,7 @@ import java.util.ArrayList; import java.util.List; -@CheckData(name = "Phase", configName = "Phase", setback = 1, decay = 0.005) +@CheckData(name = "Phase", setback = 1, decay = 0.005) public class Phase extends Check implements PostPredictionCheck { SimpleCollisionBox oldBB; diff --git a/src/main/java/ac/grim/grimac/checks/impl/scaffolding/AirLiquidPlace.java b/src/main/java/ac/grim/grimac/checks/impl/scaffolding/AirLiquidPlace.java index ae6de61ae3..b16eaa5ed7 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/scaffolding/AirLiquidPlace.java +++ b/src/main/java/ac/grim/grimac/checks/impl/scaffolding/AirLiquidPlace.java @@ -31,6 +31,6 @@ public void onBlockPlace(final BlockPlace place) { @Override public void onReload(ConfigManager config) { - this.cancelVL = config.getIntElse(getConfigName() + ".cancelVL", 0); + this.cancelVL = config.getIntElse(getCheckName() + ".cancelVL", 0); } } diff --git a/src/main/java/ac/grim/grimac/checks/impl/velocity/ExplosionHandler.java b/src/main/java/ac/grim/grimac/checks/impl/velocity/ExplosionHandler.java index c336fe3882..4ba7bb0bb5 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/velocity/ExplosionHandler.java +++ b/src/main/java/ac/grim/grimac/checks/impl/velocity/ExplosionHandler.java @@ -27,7 +27,7 @@ import java.util.Deque; import java.util.LinkedList; -@CheckData(name = "AntiExplosion", configName = "Explosion", setback = 10) +@CheckData(name = "AntiExplosion", setback = 10) public class ExplosionHandler extends Check implements PostPredictionCheck { Deque firstBreadMap = new LinkedList<>(); diff --git a/src/main/java/ac/grim/grimac/checks/impl/velocity/KnockbackHandler.java b/src/main/java/ac/grim/grimac/checks/impl/velocity/KnockbackHandler.java index 3db83462b5..0398ee2b40 100644 --- a/src/main/java/ac/grim/grimac/checks/impl/velocity/KnockbackHandler.java +++ b/src/main/java/ac/grim/grimac/checks/impl/velocity/KnockbackHandler.java @@ -22,7 +22,7 @@ import java.util.LinkedList; // We are making a velocity sandwich between two pieces of transaction packets (bread) -@CheckData(name = "AntiKB", alternativeName = "AntiKnockback", configName = "Knockback", setback = 10, decay = 0.025) +@CheckData(name = "AntiKB", alternativeName = "AntiKnockback", setback = 10, decay = 0.025) public class KnockbackHandler extends Check implements PostPredictionCheck { Deque firstBreadMap = new LinkedList<>(); diff --git a/src/main/java/ac/grim/grimac/checks/type/BlockPlaceCheck.java b/src/main/java/ac/grim/grimac/checks/type/BlockPlaceCheck.java index 0247e5a14d..5d968803db 100644 --- a/src/main/java/ac/grim/grimac/checks/type/BlockPlaceCheck.java +++ b/src/main/java/ac/grim/grimac/checks/type/BlockPlaceCheck.java @@ -37,7 +37,7 @@ public void onPostFlyingBlockPlace(BlockPlace place) { @Override public void onReload(ConfigManager config) { - this.cancelVL = config.getIntElse(getConfigName() + ".cancelVL", 5); + this.cancelVL = config.getIntElse(getCheckName() + ".cancelVL", 5); } protected boolean shouldCancel() { diff --git a/src/main/java/ac/grim/grimac/manager/config/ConfigManagerFileImpl.java b/src/main/java/ac/grim/grimac/manager/config/ConfigManagerFileImpl.java index f3b2979135..088eaefc9e 100644 --- a/src/main/java/ac/grim/grimac/manager/config/ConfigManagerFileImpl.java +++ b/src/main/java/ac/grim/grimac/manager/config/ConfigManagerFileImpl.java @@ -7,11 +7,13 @@ import ac.grim.grimac.utils.anticheat.LogUtil; import github.scarsz.configuralize.DynamicConfig; import github.scarsz.configuralize.Language; +import org.jetbrains.annotations.Nullable; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.util.List; +import java.util.Map; public class ConfigManagerFileImpl implements ConfigManager, BasicReloadable { @@ -292,6 +294,11 @@ public String getStringElse(String key, String otherwise) { return config.getStringElse(key, otherwise); } + @Override + public @Nullable String getString(String key) { + return config.getString(key); + } + @Override public List getStringList(String key) { return config.getStringList(key); @@ -327,4 +334,18 @@ public T get(String key) { return config.get(key); } + @Override + public @Nullable T getElse(String key, T otherwise) { + return config.getElse(key, otherwise); + } + + @Override + public @Nullable Map getMap(String key) { + return config.getMap(key); + } + + @Override + public @Nullable Map getMapElse(String key, Map otherwise) { + return config.getMapElse(key, otherwise); + } } diff --git a/src/main/resources/config/de.yml b/src/main/resources/config/de.yml index 29d10af784..e3d7f70a94 100644 --- a/src/main/resources/config/de.yml +++ b/src/main/resources/config/de.yml @@ -97,7 +97,7 @@ NoSlowA: # Verfall ist, wenn der Spieler einen Gegenstand benutzt UND dadurch verlangsamt wird decay: 0.05 -Knockback: +AntiKB: # Mit wie viel soll der Gesamtvorteil multipliziert werden, wenn der Spieler legitim ist. setback-decay-multiplier: 0.999 # Wie groß sollte der Abstand zur Bewegung des Spielers sein, um eine Verletzung zu erzeugen? @@ -112,7 +112,7 @@ Knockback: # Dies soll verhindern, dass der Spieler zu viele Verstöße sammelt und nie in der Lage ist, sie alle zu beseitigen. max-ceiling: 4 -Explosion: +AntiExplosion: threshold: 0.001 setbackvl: 3 diff --git a/src/main/resources/config/en.yml b/src/main/resources/config/en.yml index aff61a8f20..e6221fd0cc 100644 --- a/src/main/resources/config/en.yml +++ b/src/main/resources/config/en.yml @@ -97,7 +97,7 @@ NoSlowA: # Decay's when the player uses an item AND is slowed by it decay: 0.05 -Knockback: +AntiKB: # How much should we multiply total advantage by when the player is legit setback-decay-multiplier: 0.999 # How large of an offset from the player's velocity should we create a violation for? @@ -112,11 +112,11 @@ Knockback: # This is to stop the player from gathering too many violations and never being able to clear them all max-ceiling: 4 -Explosion: +AntiExplosion: threshold: 0.001 setbackvl: 3 -TimerA: +Timer: setbackvl: 10 # Milliseconds that the player can accumulate for later use when they fall behind # Could potentially allow 1.8 fast use/fast heal/fast bow bypasses if set too high, 120 ms seems like a good balance @@ -130,7 +130,7 @@ NegativeTimer: # Number of milliseconds lost while moving before we should start flagging drift: 1200 -# Same check method as TimerA, but for vehicles +# Same check method as Timer, but for vehicles TimerVehicle: # Target 1.005 timer setbackvl: 10 diff --git a/src/main/resources/config/es.yml b/src/main/resources/config/es.yml index b83737e466..f71617728b 100644 --- a/src/main/resources/config/es.yml +++ b/src/main/resources/config/es.yml @@ -100,7 +100,7 @@ NoSlowA: # Decadencia cuando un jugador usa un item Y se ralentiza por el decay: 0.05 -Knockback: +AntiKB: # Por cuanto deberíamos multiplicar la ventaja total cuando el jugador es legítimo setback-decay-multiplier: 0.999 # ¿Cuánta debería ser la compensacion del movimiento del jugador como para que creemos una violación? @@ -115,12 +115,11 @@ Knockback: # Esto es para prevenir que el jugador obtenga muchas violaciones y no pueda ser capaz de borrarlas max-ceiling: 4 - -Explosion: +AntiExplosion: threshold: 0.001 setbackvl: 3 -TimerA: +Timer: setbackvl: 10 # Milisegundos que el jugador puede acumular para ser usados mas tarde cuando se quedan por detrás # Podría llegar a permitir pasos por alto de fast use/fast heal/fast bow en 1.8 si esta muy alto, 120 ms @@ -135,8 +134,8 @@ NegativeTimer: # Number of milliseconds lost while moving before we should start flagging drift: 1200 -# La misma comprobación que TimerA, pero para vehiculos -TimerVehicle: +# La misma comprobación que Timer, pero para vehiculos +VehicleTimer: # Target 1.005 timer setbackvl: 10 diff --git a/src/main/resources/config/fr.yml b/src/main/resources/config/fr.yml index 0e1c36c451..0434b31049 100644 --- a/src/main/resources/config/fr.yml +++ b/src/main/resources/config/fr.yml @@ -97,7 +97,7 @@ NoSlowA: # Décroissance lorsque le joueur utilise un objet ET est ralenti par celui-ci. decay: 0.05 -Knockback: +AntiKB: # De combien devons-nous multiplier l'avantage total lorsque le joueur est légitime ? setback-decay-multiplier: 0.999 # Quel est l'écart maximal par rapport au mouvement du joueur pour lequel nous devrions créer une violation ? @@ -112,12 +112,11 @@ Knockback: # Cela vise à empêcher le joueur d'accumuler trop de violations et de ne jamais pouvoir toutes les réinitialiser. max-ceiling: 4 - -Explosion: +AntiExplosion: threshold: 0.001 setbackvl: 3 -TimerA: +Timer: setbackvl: 10 # Le nombre de millisecondes que le joueur peut accumuler pour une utilisation ultérieure lorsqu'il prend du retard. # Si la valeur est trop élevée, cela pourrait potentiellement permettre de contourner les mécaniques 1.8, comme l'utilisation rapide, la guérison rapide et le tir à l'arc rapide. Une valeur de 120 ms semble être un bon équilibre. @@ -131,8 +130,8 @@ NegativeTimer: # Le nombre de millisecondes perdus pendant le déplacement avant de commencer à signaler des infractions. drift: 1200 -# Même méthode de vérification que TimerA, mais pour les véhicules. -TimerVehicle: +# Même méthode de vérification que Timer, mais pour les véhicules. +VehicleTimer: # Cibler un chronomètre de 1,005. setbackvl: 10 diff --git a/src/main/resources/config/it.yml b/src/main/resources/config/it.yml index 82926afb77..79855edd6d 100644 --- a/src/main/resources/config/it.yml +++ b/src/main/resources/config/it.yml @@ -90,7 +90,7 @@ NoSlowA: # Decadimento per l'uso scorretto dell'oggetto decay: 0.05 -Knockback: +AntiKB: # Riduce gradualmente l'avanzamento totale del giocatore quando è legittimo setback-decay-multiplier: 0.999 # Limite per creare una violazione rispetto alla velocità del giocatore @@ -102,13 +102,13 @@ Knockback: # Limite massimo di vantaggio accumulabile prima di arretrare il giocatore max-ceiling: 4 -Explosion: +AntiExplosion: # Limite per rilevare l'esplosione threshold: 0.001 # Livello di violazione per l'esplosione setbackvl: 3 -TimerA: +Timer: # Livello di violazione per il timer setbackvl: 10 # Millisecondi accumulabili per il timer @@ -120,7 +120,7 @@ NegativeTimer: # Millisecondi persi prima di rilevare il timer negativo drift: 1200 -TimerVehicle: +VehicleTimer: # Livello di violazione per il timer dei veicoli setbackvl: 10 diff --git a/src/main/resources/config/ja.yml b/src/main/resources/config/ja.yml index 7de66a2525..c62309acca 100644 --- a/src/main/resources/config/ja.yml +++ b/src/main/resources/config/ja.yml @@ -99,7 +99,7 @@ NoSlowA: # プレイヤーがアイテム使用時に速度低下が発生する場合、この値によりアドバンテージの累積が減少します decay: 0.05 -Knockback: +AntiKB: # プレイヤーが違反していない場合、総アドバンテージにどれだけの倍率を掛けるか setback-decay-multiplier: 0.999 # プレイヤーの速度からどれだけズレたら違反とみなすか @@ -114,11 +114,11 @@ Knockback: # 違反が過剰に蓄積し、リセットが難しくなるのを防ぐための上限です max-ceiling: 4 -Explosion: +AntiExplosion: threshold: 0.001 setbackvl: 3 -TimerA: +Timer: setbackvl: 10 # プレイヤーがネットワーク遅延やラグの影響で操作がサーバーの予測より遅れている場合、 # その遅れ分を後で使用できるように蓄積するためのミリ秒数を設定します。 @@ -135,8 +135,8 @@ NegativeTimer: # ここで指定した遅延量(ミリ秒)を超えると、違反として検知される可能性があります drift: 1200 -# TimerAと同じチェック方法ですが、乗り物操作に適用されます -TimerVehicle: +# Timerと同じチェック方法ですが、乗り物操作に適用されます +VehicleTimer: # 目標タイマー値は1.005です setbackvl: 10 diff --git a/src/main/resources/config/nl.yml b/src/main/resources/config/nl.yml index f198782f54..a13bc368d9 100644 --- a/src/main/resources/config/nl.yml +++ b/src/main/resources/config/nl.yml @@ -97,7 +97,7 @@ NoSlowA: # Verval treedt op wanneer de speler een voorwerp gebruikt EN erdoor wordt vertraagd decay: 0.05 -Knockback: +AntiKB: # Met hoeveel moeten we het totale voordeel vermenigvuldigen als de speler legitiem is? setback-decay-multiplier: 0.999 # Hoe groot moet de afwijking van de snelheid van de speler zijn? @@ -112,11 +112,11 @@ Knockback: # Dit is om te voorkomen dat de speler te veel overtredingen verzamelt en ze nooit allemaal kan verwijderen max-ceiling: 4 -Explosion: +AntiExplosion: threshold: 0.001 setbackvl: 3 -TimerA: +Timer: setbackvl: 10 # Milliseconden die de speler kan verzamelen om later te gebruiken als hij achterop raakt # Kan mogelijk 1.8 snel gebruik/snelle genezing/snelle bron omleidingen toestaan als het te hoog is ingesteld, 120 ms lijkt een goede balans @@ -130,8 +130,8 @@ NegativeTimer: # Aantal milliseconden dat verloren gaat tijdens het bewegen voordat we moeten beginnen met flaggen drift: 1200 -# Dezelfde controlemethode als TimerA, maar dan voor voertuigen -TimerVehicle: +# Dezelfde controlemethode als Timer, maar dan voor voertuigen +VehicleTimer: # Doel 1.005 timer setbackvl: 10 diff --git a/src/main/resources/config/pt.yml b/src/main/resources/config/pt.yml index 386bf6d103..d6d58f0a93 100644 --- a/src/main/resources/config/pt.yml +++ b/src/main/resources/config/pt.yml @@ -99,7 +99,7 @@ NoSlowA: # Decai quando o jogador usa um item e é efetivamente desacelerado. decay: 0.05 -Knockback: +AntiKB: # Por quanto deve-se multiplicar a vantagem desde a última vez que falhou na verificação? setback-decay-multiplier: 0.999 # O quão longe da área do recuo recebido o jogador deve estar para registrar violações? @@ -114,11 +114,11 @@ Knockback: # Isso serve para previnir o jogador de alcançar violações demais e nunca conseguir se livrar delas. max-ceiling: 4 -Explosion: +AntiExplosion: threshold: 0.001 setbackvl: 3 -TimerA: +Timer: setbackvl: 10 # Milissegundos que o jogador pode acumular para depois usar quando eles têm um atraso no ping. # Pode ignorar o uso de fast use / fast heal / fast bow na 1.8 caso o valor seja definido muito alto. @@ -133,8 +133,8 @@ NegativeTimer: # Número de milissegundos perdidos ao se mover antes de começarmos a registrar violações. drift: 1200 -# Mesmo método usado no TimerA, mas para veículos. -TimerVehicle: +# Mesmo método usado no Timer, mas para veículos. +VehicleTimer: # Detecta até 1.005 de timer. setbackvl: 10 diff --git a/src/main/resources/config/ru.yml b/src/main/resources/config/ru.yml index 0cd1bae724..d77583660e 100644 --- a/src/main/resources/config/ru.yml +++ b/src/main/resources/config/ru.yml @@ -97,7 +97,7 @@ NoSlowA: # Распад происходит, когда игрок использует предмет И замедляется им decay: 0.05 -Knockback: +AntiKB: # На сколько мы должны умножить общее преимущество, когда игрок легален. setback-decay-multiplier: 0.999 # Для какого смещения от движения игрока мы должны создать нарушение? @@ -112,12 +112,11 @@ Knockback: # Это сделано для того, чтобы игрок не собирал слишком много нарушений и никогда не смог очистить их все. max-ceiling: 4 - -Explosion: +AntiExplosion: threshold: 0.001 setbackvl: 3 -TimerA: +Timer: setbackvl: 10 # Миллисекунды, которые игрок может накапливать для последующего использования, когда он отстает. # Потенциально может позволить 1.8 обходов: быстрое использование/быстрое исцеление/быстрый лук, если установлено слишком высокое значение, 120 мс кажется хорошим балансом @@ -131,8 +130,8 @@ NegativeTimer: # Количество миллисекунд, потерянных во время движения, до того, как мы начнем ставить флаг drift: 1200 -# Тот же метод проверки, что и у TimerA, но для транспортных средств -TimerVehicle: +# Тот же метод проверки, что и у Timer, но для транспортных средств +VehicleTimer: # Цель 1.005 таймер setbackvl: 10 diff --git a/src/main/resources/config/tr.yml b/src/main/resources/config/tr.yml index 4e5e23c480..9ff8e04d8f 100644 --- a/src/main/resources/config/tr.yml +++ b/src/main/resources/config/tr.yml @@ -97,7 +97,7 @@ NoSlowA: # Oyuncu bir eşya kullandığında VE onun tarafından yavaşlatıldığında beklenilen zaman decay: 0.05 -Knockback: +AntiKB: # Oyuncu legit olduğunda toplam avantajı ne kadarla çarpmalıyız setback-decay-multiplier: 0.999 # Oyuncunun hızından ne kadar büyük bir sapma ihlal oluşturmalıyız? @@ -112,11 +112,11 @@ Knockback: # Bu, oyuncunun çok fazla ihlal toplamasını ve asla hepsini temizleyememesini engellemek içindir max-ceiling: 4 -Explosion: +AntiExplosion: threshold: 0.001 setbackvl: 3 -TimerA: +Timer: setbackvl: 10 # Oyuncunun geri kaldığında biriktirebileceği milisaniye miktarı # Çok yüksek ayarlandığında 1.8 hızlı kullanma/hızlı iyileşme/hızlı yay atlama durumlarına izin verebilir, 120 ms iyi bir denge gibi görünüyor @@ -130,8 +130,8 @@ NegativeTimer: # Uyarı vermeye başlamadan önce hareket halindeyken kaybedilen milisaniye sayısı drift: 1200 - # TimerA ile aynı kontrol yöntemi, ancak araçlar için -TimerVehicle: + # Timer ile aynı kontrol yöntemi, ancak araçlar için +VehicleTimer: # Hedef 1.005 timer setbackvl: 10 diff --git a/src/main/resources/config/zh.yml b/src/main/resources/config/zh.yml index 01cacd08eb..cec3187fc7 100644 --- a/src/main/resources/config/zh.yml +++ b/src/main/resources/config/zh.yml @@ -97,7 +97,7 @@ NoSlowA: # 当玩家使用一个物品并被它减慢时衰减多少VL decay: 0.05 -Knockback: +AntiKB: # 当玩家合法时,我们应该将总优势乘以多少 setback-decay-multiplier: 0.999 # 我们应该为玩家的移动创建多大的偏移量? @@ -112,12 +112,11 @@ Knockback: # 这是为了防止玩家收集过多的违规行为,并且永远无法清除所有的违规行为 max-ceiling: 4 - -Explosion: +AntiExplosion: threshold: 0.001 setbackvl: 3 -TimerA: +Timer: setbackvl: 10 # 玩家卡顿时可以累积以供以后使用的毫秒数 # 如果设置得太高,可能会允许 1.8 快速使用/快速治疗/快速弓箭绕过,120 毫秒似乎是一个很好的平衡 @@ -131,8 +130,8 @@ NegativeTimer: # 在开始检查玩家时,玩家的移动丢失了多少毫秒数 drift: 1200 -# 与 TimerA 相同的检查方法,但适用于坐骑 -TimerVehicle: +# 与 Timer 相同的检查方法,但适用于坐骑 +VehicleTimer: # 实体1.0005 检查 setbackvl: 10