mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-11-02 08:40:01 +01:00
Tweaks, unlikely.
This commit is contained in:
parent
a6e01c8b48
commit
fd42826477
@ -35,17 +35,20 @@ public class InstantHeal extends Check {
|
|||||||
* @return true, if successful
|
* @return true, if successful
|
||||||
*/
|
*/
|
||||||
public boolean check(final Player player) {
|
public boolean check(final Player player) {
|
||||||
|
// Take time once.
|
||||||
|
final long time = System.currentTimeMillis();
|
||||||
|
|
||||||
final FightData data = FightData.getData(player);
|
final FightData data = FightData.getData(player);
|
||||||
|
|
||||||
boolean cancel = false;
|
boolean cancel = false;
|
||||||
|
|
||||||
// Security check if system time ran backwards.
|
// Security check if system time ran backwards.
|
||||||
if (data.instantHealLastTime > System.currentTimeMillis()) {
|
if (data.instantHealLastTime > time) {
|
||||||
data.instantHealLastTime = 0L;
|
data.instantHealLastTime = 0L;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
final long delta = System.currentTimeMillis() - (data.instantHealLastTime + 3000L);
|
final long delta = time - (data.instantHealLastTime + 3000L);
|
||||||
data.instantHealBuffer += delta;
|
data.instantHealBuffer += delta;
|
||||||
|
|
||||||
if (data.instantHealBuffer < 0) {
|
if (data.instantHealBuffer < 0) {
|
||||||
@ -69,7 +72,7 @@ public class InstantHeal extends Check {
|
|||||||
|
|
||||||
if (!cancel)
|
if (!cancel)
|
||||||
// New reference time.
|
// New reference time.
|
||||||
data.instantHealLastTime = System.currentTimeMillis();
|
data.instantHealLastTime = time;
|
||||||
|
|
||||||
return cancel;
|
return cancel;
|
||||||
}
|
}
|
||||||
|
@ -35,20 +35,23 @@ public class Drop extends Check {
|
|||||||
* @return true, if successful
|
* @return true, if successful
|
||||||
*/
|
*/
|
||||||
public boolean check(final Player player) {
|
public boolean check(final Player player) {
|
||||||
|
// Take time once.
|
||||||
|
final long time = System.currentTimeMillis();
|
||||||
|
|
||||||
final InventoryConfig cc = InventoryConfig.getConfig(player);
|
final InventoryConfig cc = InventoryConfig.getConfig(player);
|
||||||
final InventoryData data = InventoryData.getData(player);
|
final InventoryData data = InventoryData.getData(player);
|
||||||
|
|
||||||
boolean cancel = false;
|
boolean cancel = false;
|
||||||
|
|
||||||
// Has the configured time passed? If so, reset the counter.
|
// Has the configured time passed? If so, reset the counter.
|
||||||
if (data.dropLastTime + cc.dropTimeFrame <= System.currentTimeMillis()) {
|
if (data.dropLastTime + cc.dropTimeFrame <= time) {
|
||||||
data.dropLastTime = System.currentTimeMillis();
|
data.dropLastTime = time;
|
||||||
data.dropCount = 0;
|
data.dropCount = 0;
|
||||||
data.dropVL = 0D;
|
data.dropVL = 0D;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Security check, if the system time changes.
|
// Security check, if the system time changes.
|
||||||
else if (data.dropLastTime > System.currentTimeMillis())
|
else if (data.dropLastTime > time)
|
||||||
data.dropLastTime = Integer.MIN_VALUE;
|
data.dropLastTime = Integer.MIN_VALUE;
|
||||||
|
|
||||||
data.dropCount++;
|
data.dropCount++;
|
||||||
|
@ -34,16 +34,19 @@ public class FastClick extends Check {
|
|||||||
* @return true, if successful
|
* @return true, if successful
|
||||||
*/
|
*/
|
||||||
public boolean check(final Player player) {
|
public boolean check(final Player player) {
|
||||||
|
// Take time once.
|
||||||
|
final long time = System.currentTimeMillis();
|
||||||
|
|
||||||
final InventoryData data = InventoryData.getData(player);
|
final InventoryData data = InventoryData.getData(player);
|
||||||
|
|
||||||
boolean cancel = false;
|
boolean cancel = false;
|
||||||
|
|
||||||
// If the last inventory click has been made within 45 milliseconds.
|
// If the last inventory click has been made within 45 milliseconds.
|
||||||
if (System.currentTimeMillis() - data.fastClickLastTime < 45L) {
|
if (time - data.fastClickLastTime < 45L) {
|
||||||
if (data.fastClickLastCancelled) {
|
if (data.fastClickLastCancelled) {
|
||||||
|
|
||||||
// Calculate the difference between the limit and the time elapsed.
|
// Calculate the difference between the limit and the time elapsed.
|
||||||
final double difference = 45L - System.currentTimeMillis() + data.fastClickLastTime;
|
final double difference = 45L - time + data.fastClickLastTime;
|
||||||
|
|
||||||
// Increment the violation level.
|
// Increment the violation level.
|
||||||
data.fastClickVL += difference;
|
data.fastClickVL += difference;
|
||||||
@ -61,7 +64,7 @@ public class FastClick extends Check {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Remember the current time.s
|
// Remember the current time.s
|
||||||
data.fastClickLastTime = System.currentTimeMillis();
|
data.fastClickLastTime = time;
|
||||||
|
|
||||||
return cancel;
|
return cancel;
|
||||||
}
|
}
|
||||||
|
@ -36,6 +36,9 @@ public class InstantBow extends Check {
|
|||||||
* @return true, if successful
|
* @return true, if successful
|
||||||
*/
|
*/
|
||||||
public boolean check(final Player player, final float force) {
|
public boolean check(final Player player, final float force) {
|
||||||
|
// Take time once.
|
||||||
|
final long time = System.currentTimeMillis();
|
||||||
|
|
||||||
final InventoryData data = InventoryData.getData(player);
|
final InventoryData data = InventoryData.getData(player);
|
||||||
|
|
||||||
boolean cancel = false;
|
boolean cancel = false;
|
||||||
@ -43,14 +46,14 @@ public class InstantBow extends Check {
|
|||||||
// Rough estimation of how long pulling the string should've taken.
|
// Rough estimation of how long pulling the string should've taken.
|
||||||
final long expectedTimeWhenStringDrawn = data.instantBowLastTime + (int) (force * force * 700F);
|
final long expectedTimeWhenStringDrawn = data.instantBowLastTime + (int) (force * force * 700F);
|
||||||
|
|
||||||
if (expectedTimeWhenStringDrawn < System.currentTimeMillis())
|
if (expectedTimeWhenStringDrawn < time)
|
||||||
// The player was slow enough, reward him by lowering his violation level.
|
// The player was slow enough, reward him by lowering his violation level.
|
||||||
data.instantBowVL *= 0.9D;
|
data.instantBowVL *= 0.9D;
|
||||||
else if (data.instantBowLastTime > System.currentTimeMillis())
|
else if (data.instantBowLastTime > time)
|
||||||
// Security check if time ran backwards, reset
|
// Security check if time ran backwards, reset
|
||||||
data.instantBowLastTime = 0L;
|
data.instantBowLastTime = 0L;
|
||||||
else {
|
else {
|
||||||
final double difference = (expectedTimeWhenStringDrawn - System.currentTimeMillis()) / 100D;
|
final double difference = (expectedTimeWhenStringDrawn - time) / 100D;
|
||||||
|
|
||||||
// Player was too fast, increase his violation level.
|
// Player was too fast, increase his violation level.
|
||||||
data.instantBowVL += difference;
|
data.instantBowVL += difference;
|
||||||
|
@ -38,6 +38,9 @@ public class InstantEat extends Check {
|
|||||||
* @return true, if successful
|
* @return true, if successful
|
||||||
*/
|
*/
|
||||||
public boolean check(final Player player, final int level) {
|
public boolean check(final Player player, final int level) {
|
||||||
|
// Take time once.
|
||||||
|
final long time = System.currentTimeMillis();
|
||||||
|
|
||||||
final InventoryData data = InventoryData.getData(player);
|
final InventoryData data = InventoryData.getData(player);
|
||||||
|
|
||||||
boolean cancel = false;
|
boolean cancel = false;
|
||||||
@ -49,14 +52,14 @@ public class InstantEat extends Check {
|
|||||||
// Rough estimation about how long it should take to eat
|
// Rough estimation about how long it should take to eat
|
||||||
final long expectedTimeWhenEatingFinished = data.instantEatLastTime + 700L;
|
final long expectedTimeWhenEatingFinished = data.instantEatLastTime + 700L;
|
||||||
|
|
||||||
if (expectedTimeWhenEatingFinished < System.currentTimeMillis())
|
if (expectedTimeWhenEatingFinished < time)
|
||||||
// Acceptable, reduce VL to reward the player.
|
// Acceptable, reduce VL to reward the player.
|
||||||
data.instantEatVL *= 0.6D;
|
data.instantEatVL *= 0.6D;
|
||||||
else if (data.instantEatLastTime > System.currentTimeMillis())
|
else if (data.instantEatLastTime > time)
|
||||||
// Security test, if time ran backwards, reset.
|
// Security test, if time ran backwards, reset.
|
||||||
data.instantEatLastTime = 0;
|
data.instantEatLastTime = 0;
|
||||||
else {
|
else {
|
||||||
final double difference = (expectedTimeWhenEatingFinished - System.currentTimeMillis()) / 100D;
|
final double difference = (expectedTimeWhenEatingFinished - time) / 100D;
|
||||||
|
|
||||||
// Player was too fast, increase his violation level.
|
// Player was too fast, increase his violation level.
|
||||||
data.instantEatVL += difference;
|
data.instantEatVL += difference;
|
||||||
|
@ -59,6 +59,9 @@ public class MorePackets extends Check {
|
|||||||
* @return the location
|
* @return the location
|
||||||
*/
|
*/
|
||||||
public Location check(final Player player, final PlayerLocation from, final PlayerLocation to) {
|
public Location check(final Player player, final PlayerLocation from, final PlayerLocation to) {
|
||||||
|
// Take time once, first:
|
||||||
|
final long time = System.currentTimeMillis();
|
||||||
|
|
||||||
final MovingData data = MovingData.getData(player);
|
final MovingData data = MovingData.getData(player);
|
||||||
|
|
||||||
Location newTo = null;
|
Location newTo = null;
|
||||||
@ -66,8 +69,6 @@ public class MorePackets extends Check {
|
|||||||
if (data.morePacketsSetback == null)
|
if (data.morePacketsSetback == null)
|
||||||
data.morePacketsSetback = from.getLocation();
|
data.morePacketsSetback = from.getLocation();
|
||||||
|
|
||||||
final long time = System.currentTimeMillis();
|
|
||||||
|
|
||||||
// Take a packet from the buffer.
|
// Take a packet from the buffer.
|
||||||
data.morePacketsBuffer--;
|
data.morePacketsBuffer--;
|
||||||
|
|
||||||
|
@ -58,6 +58,9 @@ public class MorePacketsVehicle extends Check {
|
|||||||
* @return the location
|
* @return the location
|
||||||
*/
|
*/
|
||||||
public Location check(final Player player, final Location from, final Location to) {
|
public Location check(final Player player, final Location from, final Location to) {
|
||||||
|
// Take time once, first:
|
||||||
|
final long time = System.currentTimeMillis();
|
||||||
|
|
||||||
final MovingData data = MovingData.getData(player);
|
final MovingData data = MovingData.getData(player);
|
||||||
|
|
||||||
Location newTo = null;
|
Location newTo = null;
|
||||||
@ -65,8 +68,6 @@ public class MorePacketsVehicle extends Check {
|
|||||||
if (data.morePacketsVehicleSetback == null)
|
if (data.morePacketsVehicleSetback == null)
|
||||||
data.morePacketsVehicleSetback = from;
|
data.morePacketsVehicleSetback = from;
|
||||||
|
|
||||||
final long time = System.currentTimeMillis();
|
|
||||||
|
|
||||||
// Take a packet from the buffer.
|
// Take a packet from the buffer.
|
||||||
data.morePacketsVehicleBuffer--;
|
data.morePacketsVehicleBuffer--;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user