mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-09-05 03:31:09 +02:00
Account for TickTask resetting.
This commit is contained in:
parent
60114eb6eb
commit
cce67ac67c
|
@ -244,7 +244,8 @@ public class BlockBreakListener extends CheckListener {
|
|||
|
||||
final int tick = TickTask.getTick();
|
||||
// Skip if already set to the same block without breaking within one tick difference.
|
||||
if (data.fastBreakBreakTime < data.fastBreakfirstDamage && data.clickedX == block.getX() && data.clickedZ == block.getZ() && data.clickedY == block.getY()){
|
||||
if (tick < data.clickedTick);
|
||||
else if (data.fastBreakBreakTime < data.fastBreakfirstDamage && data.clickedX == block.getX() && data.clickedZ == block.getZ() && data.clickedY == block.getY()){
|
||||
if (tick - data.clickedTick <= 1 ) return;
|
||||
}
|
||||
|
||||
|
|
|
@ -76,8 +76,10 @@ public class FastBreak extends Check {
|
|||
// // Ignore those for now.
|
||||
// }
|
||||
// else
|
||||
|
||||
if (elapsedTime + cc.fastBreakDelay < breakingTime){
|
||||
if (elapsedTime < 0){
|
||||
// Ignore it. TODO: ?
|
||||
}
|
||||
else if (elapsedTime + cc.fastBreakDelay < breakingTime){
|
||||
// lag or cheat or Minecraft.
|
||||
|
||||
// Count in server side lag, if desired.
|
||||
|
|
|
@ -29,7 +29,12 @@ public class Frequency extends Check {
|
|||
|
||||
// Short term arrivals.
|
||||
final int tick = TickTask.getTick();
|
||||
if (tick - data.frequencyShortTermTick < cc.frequencyShortTermTicks){
|
||||
if (tick < data.frequencyShortTermTick){
|
||||
// Tick task got reset.
|
||||
data.frequencyShortTermTick = tick;
|
||||
data.frequencyShortTermCount = 1;
|
||||
}
|
||||
else if (tick - data.frequencyShortTermTick < cc.frequencyShortTermTicks){
|
||||
// Account for server side lag.
|
||||
final float stLag = cc.lag ? TickTask.getLag(50L * (tick - data.frequencyShortTermTick), true) : 1f;
|
||||
if (stLag < 1.5){
|
||||
|
|
|
@ -48,7 +48,12 @@ public class FastPlace extends Check {
|
|||
|
||||
// Short term arrivals.
|
||||
final int tick = TickTask.getTick();
|
||||
if (tick - data.fastPlaceShortTermTick < cc.fastPlaceShortTermTicks){
|
||||
if (tick < data.fastPlaceShortTermTick ){
|
||||
// TickTask got reset.
|
||||
data.fastPlaceShortTermTick = tick;
|
||||
data.fastPlaceShortTermCount = 1;
|
||||
}
|
||||
else if (tick - data.fastPlaceShortTermTick < cc.fastPlaceShortTermTicks){
|
||||
// Account for server side lag.
|
||||
if (!cc.lag || TickTask.getLag(50L * (tick - data.fastPlaceShortTermTick), true) < 1.2){
|
||||
// Within range, add.
|
||||
|
|
|
@ -41,7 +41,13 @@ public class Commands extends Check {
|
|||
final float weight = 1f;
|
||||
|
||||
data.commandsWeights.add(now, weight);
|
||||
if (tick - data.commandsShortTermTick < cc.commandsShortTermTicks){
|
||||
if (tick < data.commandsShortTermTick){
|
||||
// TickTask got reset.
|
||||
data.commandsShortTermTick = tick;
|
||||
data.commandsShortTermWeight = 1.0;
|
||||
}
|
||||
else if (tick - data.commandsShortTermTick < cc.commandsShortTermTicks){
|
||||
// TODO: account for lag.
|
||||
// Add up.
|
||||
data.commandsShortTermWeight += weight;
|
||||
}
|
||||
|
|
|
@ -56,7 +56,12 @@ public class Speed extends Check {
|
|||
|
||||
// Short term.
|
||||
final int tick = TickTask.getTick();
|
||||
if (tick - data.speedShortTermTick < cc.speedShortTermTicks){
|
||||
if (tick < data.speedShortTermTick){
|
||||
// Tick task got reset.
|
||||
data.speedShortTermTick = tick;
|
||||
data.speedShortTermCount = 1;
|
||||
}
|
||||
else if (tick - data.speedShortTermTick < cc.speedShortTermTicks){
|
||||
// Account for server side lag.
|
||||
if (!cc.lag || TickTask.getLag(50L * (tick - data.speedShortTermTick), true) < 1.5f){
|
||||
// Within range, add.
|
||||
|
|
Loading…
Reference in New Issue
Block a user