mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-12-26 10:28:05 +01:00
Merge pull request #21 from prophile/master
Switch to gender-neutral pronouns
This commit is contained in:
commit
0bab69e1ac
@ -168,7 +168,7 @@ public class BlockBreakListener extends CheckListener {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* We listen to PlayerAnimation events because it is (currently) equivalent to "player swings arm" and we want to
|
* We listen to PlayerAnimation events because it is (currently) equivalent to "player swings arm" and we want to
|
||||||
* check if he did that between block breaks.
|
* check if they did that between block breaks.
|
||||||
*
|
*
|
||||||
* @param event
|
* @param event
|
||||||
* the event
|
* the event
|
||||||
|
@ -19,7 +19,7 @@ import fr.neatmonster.nocheatplus.utilities.TrigUtil;
|
|||||||
* MMMMMMMMMMM
|
* MMMMMMMMMMM
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* The Direction check will find out if a player tried to interact with something that's not in his field of view.
|
* The Direction check will find out if a player tried to interact with something that's not in their field of view.
|
||||||
*/
|
*/
|
||||||
public class Direction extends Check {
|
public class Direction extends Check {
|
||||||
|
|
||||||
@ -43,14 +43,14 @@ public class Direction extends Check {
|
|||||||
|
|
||||||
boolean cancel = false;
|
boolean cancel = false;
|
||||||
|
|
||||||
// How far "off" is the player with his aim. We calculate from the players eye location and view direction to
|
// How far "off" is the player with their aim. We calculate from the players eye location and view direction to
|
||||||
// the center of the target block. If the line of sight is more too far off, "off" will be bigger than 0.
|
// the center of the target block. If the line of sight is more too far off, "off" will be bigger than 0.
|
||||||
final Location loc = player.getLocation();
|
final Location loc = player.getLocation();
|
||||||
final Vector direction = loc.getDirection();
|
final Vector direction = loc.getDirection();
|
||||||
final double off = TrigUtil.directionCheck(loc, player.getEyeHeight(), direction, block, TrigUtil.DIRECTION_PRECISION);
|
final double off = TrigUtil.directionCheck(loc, player.getEyeHeight(), direction, block, TrigUtil.DIRECTION_PRECISION);
|
||||||
|
|
||||||
if (off > 0.1D) {
|
if (off > 0.1D) {
|
||||||
// Player failed the check. Let's try to guess how far he was from looking directly to the block...
|
// Player failed the check. Let's try to guess how far they were from looking directly to the block...
|
||||||
final Vector blockEyes = new Vector(0.5 + block.getX() - loc.getX(), 0.5 + block.getY() - loc.getY() - player.getEyeHeight(), 0.5 + block.getZ() - loc.getZ());
|
final Vector blockEyes = new Vector(0.5 + block.getX() - loc.getX(), 0.5 + block.getY() - loc.getY() - player.getEyeHeight(), 0.5 + block.getZ() - loc.getZ());
|
||||||
final double distance = blockEyes.crossProduct(direction).length() / direction.length();
|
final double distance = blockEyes.crossProduct(direction).length() / direction.length();
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ public class Direction extends Check {
|
|||||||
cancel = executeActions(player, data.directionVL, distance,
|
cancel = executeActions(player, data.directionVL, distance,
|
||||||
BlockBreakConfig.getConfig(player).directionActions);
|
BlockBreakConfig.getConfig(player).directionActions);
|
||||||
} else
|
} else
|
||||||
// Player did likely nothing wrong, reduce violation counter to reward him.
|
// Player did likely nothing wrong, reduce violation counter to reward them.
|
||||||
data.directionVL *= 0.9D;
|
data.directionVL *= 0.9D;
|
||||||
|
|
||||||
return cancel;
|
return cancel;
|
||||||
|
@ -16,7 +16,7 @@ import fr.neatmonster.nocheatplus.checks.CheckType;
|
|||||||
* d8888P
|
* d8888P
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* We require that the player moves his arm between block breaks, this is what gets checked here.
|
* We require that the player moves their arm between block breaks, this is what gets checked here.
|
||||||
*/
|
*/
|
||||||
public class NoSwing extends Check {
|
public class NoSwing extends Check {
|
||||||
|
|
||||||
@ -38,14 +38,14 @@ public class NoSwing extends Check {
|
|||||||
|
|
||||||
boolean cancel = false;
|
boolean cancel = false;
|
||||||
|
|
||||||
// Did he swing his arm before?
|
// Did they swing their arm before?
|
||||||
if (data.noSwingArmSwung) {
|
if (data.noSwingArmSwung) {
|
||||||
// "Consume" the flag.
|
// "Consume" the flag.
|
||||||
data.noSwingArmSwung = false;
|
data.noSwingArmSwung = false;
|
||||||
// Reward with lowering of the violation level.
|
// Reward with lowering of the violation level.
|
||||||
data.noSwingVL *= 0.9D;
|
data.noSwingVL *= 0.9D;
|
||||||
} else {
|
} else {
|
||||||
// He failed, increase violation level.
|
// They failed, increase violation level.
|
||||||
data.noSwingVL += 1D;
|
data.noSwingVL += 1D;
|
||||||
|
|
||||||
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
||||||
|
@ -54,12 +54,12 @@ public class Reach extends Check {
|
|||||||
|
|
||||||
final double distanceLimit = player.getGameMode() == GameMode.CREATIVE ? CREATIVE_DISTANCE : SURVIVAL_DISTANCE;
|
final double distanceLimit = player.getGameMode() == GameMode.CREATIVE ? CREATIVE_DISTANCE : SURVIVAL_DISTANCE;
|
||||||
|
|
||||||
// Distance is calculated from eye location to center of targeted block. If the player is further away from his
|
// Distance is calculated from eye location to center of targeted block. If the player is further away from their
|
||||||
// target than allowed, the difference will be assigned to "distance".
|
// target than allowed, the difference will be assigned to "distance".
|
||||||
final double distance = TrigUtil.distance(player.getEyeLocation(), block) - distanceLimit;
|
final double distance = TrigUtil.distance(player.getEyeLocation(), block) - distanceLimit;
|
||||||
|
|
||||||
if (distance > 0) {
|
if (distance > 0) {
|
||||||
// He failed, increment violation level.
|
// They failed, increment violation level.
|
||||||
data.reachVL += distance;
|
data.reachVL += distance;
|
||||||
|
|
||||||
// Remember how much further than allowed he tried to reach for logging, if necessary.
|
// Remember how much further than allowed he tried to reach for logging, if necessary.
|
||||||
@ -69,7 +69,7 @@ public class Reach extends Check {
|
|||||||
// cancel the event.
|
// cancel the event.
|
||||||
cancel = executeActions(player, data.reachVL, distance, BlockBreakConfig.getConfig(player).reachActions);
|
cancel = executeActions(player, data.reachVL, distance, BlockBreakConfig.getConfig(player).reachActions);
|
||||||
} else{
|
} else{
|
||||||
// Player passed the check, reward him.
|
// Player passed the check, reward them.
|
||||||
data.reachVL *= 0.9D;
|
data.reachVL *= 0.9D;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ import fr.neatmonster.nocheatplus.utilities.TrigUtil;
|
|||||||
* MMMMMMMMMMM
|
* MMMMMMMMMMM
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* The Direction check will find out if a player tried to interact with something that's not in his field of view.
|
* The Direction check will find out if a player tried to interact with something that's not in their field of view.
|
||||||
*/
|
*/
|
||||||
public class Direction extends Check {
|
public class Direction extends Check {
|
||||||
|
|
||||||
@ -43,13 +43,13 @@ public class Direction extends Check {
|
|||||||
|
|
||||||
boolean cancel = false;
|
boolean cancel = false;
|
||||||
|
|
||||||
// How far "off" is the player with his aim. We calculate from the players eye location and view direction to
|
// How far "off" is the player with their aim. We calculate from the players eye location and view direction to
|
||||||
// the center of the target block. If the line of sight is more too far off, "off" will be bigger than 0.
|
// the center of the target block. If the line of sight is more too far off, "off" will be bigger than 0.
|
||||||
final Vector direction = loc.getDirection();
|
final Vector direction = loc.getDirection();
|
||||||
final double off = TrigUtil.directionCheck(loc, player.getEyeHeight(), direction, block, TrigUtil.DIRECTION_PRECISION);
|
final double off = TrigUtil.directionCheck(loc, player.getEyeHeight(), direction, block, TrigUtil.DIRECTION_PRECISION);
|
||||||
|
|
||||||
if (off > 0.1D) {
|
if (off > 0.1D) {
|
||||||
// Player failed the check. Let's try to guess how far he was from looking directly to the block...
|
// Player failed the check. Let's try to guess how far they were from looking directly to the block...
|
||||||
final Vector blockEyes = new Vector(0.5 + block.getX() - loc.getX(), 0.5 + block.getY() - loc.getY() - player.getEyeHeight(), 0.5 + block.getZ() - loc.getZ());
|
final Vector blockEyes = new Vector(0.5 + block.getX() - loc.getX(), 0.5 + block.getY() - loc.getY() - player.getEyeHeight(), 0.5 + block.getZ() - loc.getZ());
|
||||||
final double distance = blockEyes.crossProduct(direction).length() / direction.length();
|
final double distance = blockEyes.crossProduct(direction).length() / direction.length();
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ public class Direction extends Check {
|
|||||||
// cancel the event.
|
// cancel the event.
|
||||||
cancel = executeActions(player, data.directionVL, distance, cc.directionActions);
|
cancel = executeActions(player, data.directionVL, distance, cc.directionActions);
|
||||||
} else
|
} else
|
||||||
// Player did likely nothing wrong, reduce violation counter to reward him.
|
// Player did likely nothing wrong, reduce violation counter to reward them.
|
||||||
data.directionVL *= 0.9D;
|
data.directionVL *= 0.9D;
|
||||||
|
|
||||||
return cancel;
|
return cancel;
|
||||||
|
@ -53,12 +53,12 @@ public class Reach extends Check {
|
|||||||
|
|
||||||
final double distanceLimit = player.getGameMode() == GameMode.CREATIVE ? CREATIVE_DISTANCE : SURVIVAL_DISTANCE;
|
final double distanceLimit = player.getGameMode() == GameMode.CREATIVE ? CREATIVE_DISTANCE : SURVIVAL_DISTANCE;
|
||||||
|
|
||||||
// Distance is calculated from eye location to center of targeted block. If the player is further away from his
|
// Distance is calculated from eye location to center of targeted block. If the player is further away from their
|
||||||
// target than allowed, the difference will be assigned to "distance".
|
// target than allowed, the difference will be assigned to "distance".
|
||||||
final double distance = TrigUtil.distance(loc.getX(), loc.getY() + player.getEyeHeight(), loc.getZ(), 0.5 + block.getX(), 0.5 + block.getY(), 0.5 + block.getZ()) - distanceLimit;
|
final double distance = TrigUtil.distance(loc.getX(), loc.getY() + player.getEyeHeight(), loc.getZ(), 0.5 + block.getX(), 0.5 + block.getY(), 0.5 + block.getZ()) - distanceLimit;
|
||||||
|
|
||||||
if (distance > 0) {
|
if (distance > 0) {
|
||||||
// He failed, increment violation level.
|
// They failed, increment violation level.
|
||||||
data.reachVL += distance;
|
data.reachVL += distance;
|
||||||
|
|
||||||
// Remember how much further than allowed he tried to reach for logging, if necessary.
|
// Remember how much further than allowed he tried to reach for logging, if necessary.
|
||||||
@ -70,7 +70,7 @@ public class Reach extends Check {
|
|||||||
vd.setParameter(ParameterName.REACH_DISTANCE, String.valueOf(Math.round(data.reachDistance)));
|
vd.setParameter(ParameterName.REACH_DISTANCE, String.valueOf(Math.round(data.reachDistance)));
|
||||||
cancel = executeActions(vd);
|
cancel = executeActions(vd);
|
||||||
} else
|
} else
|
||||||
// Player passed the check, reward him.
|
// Player passed the check, reward them.
|
||||||
data.reachVL *= 0.9D;
|
data.reachVL *= 0.9D;
|
||||||
|
|
||||||
return cancel;
|
return cancel;
|
||||||
|
@ -75,7 +75,7 @@ public class Visible extends Check {
|
|||||||
// TODO: Reachable face check ?
|
// TODO: Reachable face check ?
|
||||||
|
|
||||||
if (blockX == Location.locToBlock(eyeX) && blockZ == Location.locToBlock(eyeZ) && block.getY() == Location.locToBlock(eyeY)){
|
if (blockX == Location.locToBlock(eyeX) && blockZ == Location.locToBlock(eyeZ) && block.getY() == Location.locToBlock(eyeY)){
|
||||||
// Player is interacting with the block his head is in.
|
// Player is interacting with the block their head is in.
|
||||||
// TODO: Should the reachable-face-check be done here too (if it is added at all)?
|
// TODO: Should the reachable-face-check be done here too (if it is added at all)?
|
||||||
collides = false;
|
collides = false;
|
||||||
}
|
}
|
||||||
|
@ -152,7 +152,7 @@ public class BlockPlaceListener extends CheckListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Second, the no swing check (player doesn't swing his arm when placing a lily pad).
|
// Second, the no swing check (player doesn't swing their arm when placing a lily pad).
|
||||||
if (!cancelled && mat != Material.WATER_LILY && noSwing.isEnabled(player)
|
if (!cancelled && mat != Material.WATER_LILY && noSwing.isEnabled(player)
|
||||||
&& noSwing.check(player, data))
|
&& noSwing.check(player, data))
|
||||||
cancelled = true;
|
cancelled = true;
|
||||||
@ -191,7 +191,7 @@ public class BlockPlaceListener extends CheckListener {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* We listen to PlayerAnimation events because it is (currently) equivalent to "player swings arm" and we want to
|
* We listen to PlayerAnimation events because it is (currently) equivalent to "player swings arm" and we want to
|
||||||
* check if he did that between block breaks.
|
* check if they did that between block breaks.
|
||||||
*
|
*
|
||||||
* @param event
|
* @param event
|
||||||
* the event
|
* the event
|
||||||
|
@ -19,7 +19,7 @@ import fr.neatmonster.nocheatplus.utilities.TrigUtil;
|
|||||||
* MMMMMMMMMMM
|
* MMMMMMMMMMM
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* The Direction check will find out if a player tried to interact with something that's not in his field of view.
|
* The Direction check will find out if a player tried to interact with something that's not in their field of view.
|
||||||
*/
|
*/
|
||||||
public class Direction extends Check {
|
public class Direction extends Check {
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ public class Direction extends Check {
|
|||||||
|
|
||||||
boolean cancel = false;
|
boolean cancel = false;
|
||||||
|
|
||||||
// How far "off" is the player with his aim. We calculate from the players eye location and view direction to
|
// How far "off" is the player with their aim. We calculate from the players eye location and view direction to
|
||||||
// the center of the target block. If the line of sight is more too far off, "off" will be bigger than 0.
|
// the center of the target block. If the line of sight is more too far off, "off" will be bigger than 0.
|
||||||
final Location loc = player.getLocation();
|
final Location loc = player.getLocation();
|
||||||
final Vector direction = loc.getDirection();
|
final Vector direction = loc.getDirection();
|
||||||
@ -53,7 +53,7 @@ public class Direction extends Check {
|
|||||||
// Now check if the player is looking at the block from the correct side.
|
// Now check if the player is looking at the block from the correct side.
|
||||||
double off2 = 0.0D;
|
double off2 = 0.0D;
|
||||||
|
|
||||||
// Find out against which face the player tried to build, and if he
|
// Find out against which face the player tried to build, and if they
|
||||||
// stood on the correct side of it
|
// stood on the correct side of it
|
||||||
if (placed.getX() > against.getX())
|
if (placed.getX() > against.getX())
|
||||||
off2 = against.getX() + 0.5D - loc.getX();
|
off2 = against.getX() + 0.5D - loc.getX();
|
||||||
@ -68,12 +68,12 @@ public class Direction extends Check {
|
|||||||
else if (placed.getZ() < against.getZ())
|
else if (placed.getZ() < against.getZ())
|
||||||
off2 = -(against.getZ() + 0.5D - loc.getZ());
|
off2 = -(against.getZ() + 0.5D - loc.getZ());
|
||||||
|
|
||||||
// If he wasn't on the correct side, add that to the "off" value
|
// If they weren't on the correct side, add that to the "off" value
|
||||||
if (off2 > 0.0D)
|
if (off2 > 0.0D)
|
||||||
off += off2;
|
off += off2;
|
||||||
|
|
||||||
if (off > 0.1D) {
|
if (off > 0.1D) {
|
||||||
// Player failed the check. Let's try to guess how far he was from looking directly to the block...
|
// Player failed the check. Let's try to guess how far they were from looking directly to the block...
|
||||||
final Vector blockEyes = new Vector(0.5 + placed.getX() - loc.getX(), 0.5 + placed.getY() - loc.getY() - player.getEyeHeight(), 0.5 + placed.getZ() - loc.getZ());
|
final Vector blockEyes = new Vector(0.5 + placed.getX() - loc.getX(), 0.5 + placed.getY() - loc.getY() - player.getEyeHeight(), 0.5 + placed.getZ() - loc.getZ());
|
||||||
final double distance = blockEyes.crossProduct(direction).length() / direction.length();
|
final double distance = blockEyes.crossProduct(direction).length() / direction.length();
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ public class Direction extends Check {
|
|||||||
cancel = executeActions(player, data.directionVL, distance,
|
cancel = executeActions(player, data.directionVL, distance,
|
||||||
BlockPlaceConfig.getConfig(player).directionActions);
|
BlockPlaceConfig.getConfig(player).directionActions);
|
||||||
} else
|
} else
|
||||||
// Player did likely nothing wrong, reduce violation counter to reward him.
|
// Player did likely nothing wrong, reduce violation counter to reward them.
|
||||||
data.directionVL *= 0.9D;
|
data.directionVL *= 0.9D;
|
||||||
|
|
||||||
return cancel;
|
return cancel;
|
||||||
|
@ -16,7 +16,7 @@ import fr.neatmonster.nocheatplus.checks.CheckType;
|
|||||||
* d8888P
|
* d8888P
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* We require that the player moves his arm between block places, this is what gets checked here.
|
* We require that the player moves their arm between block places, this is what gets checked here.
|
||||||
*/
|
*/
|
||||||
public class NoSwing extends Check {
|
public class NoSwing extends Check {
|
||||||
|
|
||||||
@ -39,14 +39,14 @@ public class NoSwing extends Check {
|
|||||||
|
|
||||||
boolean cancel = false;
|
boolean cancel = false;
|
||||||
|
|
||||||
// Did he swing his arm before?
|
// Did they swing their arm before?
|
||||||
if (data.noSwingArmSwung) {
|
if (data.noSwingArmSwung) {
|
||||||
// "Consume" the flag.
|
// "Consume" the flag.
|
||||||
data.noSwingArmSwung = false;
|
data.noSwingArmSwung = false;
|
||||||
// Reward with lowering of the violation level.
|
// Reward with lowering of the violation level.
|
||||||
data.noSwingVL *= 0.9D;
|
data.noSwingVL *= 0.9D;
|
||||||
} else {
|
} else {
|
||||||
// He failed, increase violation level.
|
// They failed, increase violation level.
|
||||||
data.noSwingVL += 1D;
|
data.noSwingVL += 1D;
|
||||||
|
|
||||||
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
||||||
|
@ -55,22 +55,22 @@ public class Reach extends Check {
|
|||||||
|
|
||||||
final double distanceLimit = player.getGameMode() == GameMode.CREATIVE ? CREATIVE_DISTANCE : SURVIVAL_DISTANCE;
|
final double distanceLimit = player.getGameMode() == GameMode.CREATIVE ? CREATIVE_DISTANCE : SURVIVAL_DISTANCE;
|
||||||
|
|
||||||
// Distance is calculated from eye location to center of targeted block. If the player is further away from his
|
// Distance is calculated from eye location to center of targeted block. If the player is further away from their
|
||||||
// target than allowed, the difference will be assigned to "distance".
|
// target than allowed, the difference will be assigned to "distance".
|
||||||
final double distance = TrigUtil.distance(player.getEyeLocation(), block) - distanceLimit;
|
final double distance = TrigUtil.distance(player.getEyeLocation(), block) - distanceLimit;
|
||||||
|
|
||||||
if (distance > 0) {
|
if (distance > 0) {
|
||||||
// He failed, increment violation level.
|
// They failed, increment violation level.
|
||||||
data.reachVL += distance;
|
data.reachVL += distance;
|
||||||
|
|
||||||
// Remember how much further than allowed he tried to reach for logging, if necessary.
|
// Remember how much further than allowed they tried to reach for logging, if necessary.
|
||||||
data.reachDistance = distance;
|
data.reachDistance = distance;
|
||||||
|
|
||||||
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
||||||
// cancel the event.
|
// cancel the event.
|
||||||
cancel = executeActions(player, data.reachVL, distance, BlockPlaceConfig.getConfig(player).reachActions);
|
cancel = executeActions(player, data.reachVL, distance, BlockPlaceConfig.getConfig(player).reachActions);
|
||||||
} else{
|
} else{
|
||||||
// Player passed the check, reward him.
|
// Player passed the check, reward them.
|
||||||
data.reachVL *= 0.9D;
|
data.reachVL *= 0.9D;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ public class Speed extends Check {
|
|||||||
if (data.speedLastRefused) {
|
if (data.speedLastRefused) {
|
||||||
final double difference = cc.speedInterval - System.currentTimeMillis() + data.speedLastTime;
|
final double difference = cc.speedInterval - System.currentTimeMillis() + data.speedLastTime;
|
||||||
|
|
||||||
// He failed, increase this violation level.
|
// They failed, increase this violation level.
|
||||||
data.speedVL += difference;
|
data.speedVL += difference;
|
||||||
|
|
||||||
// Execute whatever actions are associated with this check and the violation level and find out if we
|
// Execute whatever actions are associated with this check and the violation level and find out if we
|
||||||
@ -55,7 +55,7 @@ public class Speed extends Check {
|
|||||||
|
|
||||||
data.speedLastRefused = true;
|
data.speedLastRefused = true;
|
||||||
} else {
|
} else {
|
||||||
// Reward him by lowering his violation level.
|
// Reward them by lowering their violation level.
|
||||||
data.speedVL *= 0.9D;
|
data.speedVL *= 0.9D;
|
||||||
|
|
||||||
data.speedLastRefused = false;
|
data.speedLastRefused = false;
|
||||||
|
@ -28,15 +28,15 @@ public class Captcha extends AsyncCheck implements ICaptcha{
|
|||||||
public void checkCaptcha(Player player, String message, ChatConfig cc, ChatData data, boolean isMainThread) {
|
public void checkCaptcha(Player player, String message, ChatConfig cc, ChatData data, boolean isMainThread) {
|
||||||
// Correct answer to the captcha?
|
// Correct answer to the captcha?
|
||||||
if (message.equals(data.captchaGenerated)) {
|
if (message.equals(data.captchaGenerated)) {
|
||||||
// Yes, clear his data and do not worry anymore about him.
|
// Yes, clear their data and do not worry anymore about them.
|
||||||
data.reset();
|
data.reset();
|
||||||
data.captchaStarted = false;
|
data.captchaStarted = false;
|
||||||
player.sendMessage(ColorUtil.replaceColors(cc.captchaSuccess));
|
player.sendMessage(ColorUtil.replaceColors(cc.captchaSuccess));
|
||||||
} else {
|
} else {
|
||||||
// Increment his tries number counter.
|
// Increment their tries number counter.
|
||||||
data.captchTries++;
|
data.captchTries++;
|
||||||
data.captchaVL ++;
|
data.captchaVL ++;
|
||||||
// Does he failed too much times?
|
// Have they failed too man times?
|
||||||
if (data.captchTries > cc.captchaTries) {
|
if (data.captchTries > cc.captchaTries) {
|
||||||
// Find out if we need to kick the player or not.
|
// Find out if we need to kick the player or not.
|
||||||
executeActions(player, data.captchaVL, 1, cc.captchaActions,
|
executeActions(player, data.captchaVL, 1, cc.captchaActions,
|
||||||
|
@ -132,7 +132,7 @@ public class Angle extends Check {
|
|||||||
// cancel the event.
|
// cancel the event.
|
||||||
cancel = executeActions(player, data.angleVL, violation, cc.angleActions);
|
cancel = executeActions(player, data.angleVL, violation, cc.angleActions);
|
||||||
} else
|
} else
|
||||||
// Reward the player by lowering his violation level.
|
// Reward the player by lowering their violation level.
|
||||||
data.angleVL *= 0.98D;
|
data.angleVL *= 0.98D;
|
||||||
|
|
||||||
return cancel;
|
return cancel;
|
||||||
|
@ -19,7 +19,7 @@ import fr.neatmonster.nocheatplus.utilities.TrigUtil;
|
|||||||
* MMMMMMMMMMM
|
* MMMMMMMMMMM
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* The Direction check will find out if a player tried to interact with something that's not in his field of view.
|
* The Direction check will find out if a player tried to interact with something that's not in their field of view.
|
||||||
*/
|
*/
|
||||||
public class Direction extends Check {
|
public class Direction extends Check {
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ public class Direction extends Check {
|
|||||||
|
|
||||||
// TODO: allow any hit on the y axis (might just adapt interface to use foot position + height)!
|
// TODO: allow any hit on the y axis (might just adapt interface to use foot position + height)!
|
||||||
|
|
||||||
// How far "off" is the player with his aim. We calculate from the players eye location and view direction to
|
// How far "off" is the player with their aim. We calculate from the players eye location and view direction to
|
||||||
// the center of the target entity. If the line of sight is more too far off, "off" will be bigger than 0.
|
// the center of the target entity. If the line of sight is more too far off, "off" will be bigger than 0.
|
||||||
final Location loc = player.getLocation();
|
final Location loc = player.getLocation();
|
||||||
final Vector direction = player.getEyeLocation().getDirection();
|
final Vector direction = player.getEyeLocation().getDirection();
|
||||||
@ -75,7 +75,7 @@ public class Direction extends Check {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (off > 0.1) {
|
if (off > 0.1) {
|
||||||
// Player failed the check. Let's try to guess how far he was from looking directly to the entity...
|
// Player failed the check. Let's try to guess how far they were from looking directly to the entity...
|
||||||
final Vector blockEyes = new Vector(dLoc.getX() - loc.getX(), dLoc.getY() + height / 2D - loc.getY() - player.getEyeHeight(), dLoc.getZ() - loc.getZ());
|
final Vector blockEyes = new Vector(dLoc.getX() - loc.getX(), dLoc.getY() + height / 2D - loc.getY() - player.getEyeHeight(), dLoc.getZ() - loc.getZ());
|
||||||
final double distance = blockEyes.crossProduct(direction).length() / direction.length();
|
final double distance = blockEyes.crossProduct(direction).length() / direction.length();
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ public class Direction extends Check {
|
|||||||
// If we should cancel, remember the current time too.
|
// If we should cancel, remember the current time too.
|
||||||
data.directionLastViolationTime = System.currentTimeMillis();
|
data.directionLastViolationTime = System.currentTimeMillis();
|
||||||
} else
|
} else
|
||||||
// Reward the player by lowering his violation level.
|
// Reward the player by lowering their violation level.
|
||||||
data.directionVL *= 0.8D;
|
data.directionVL *= 0.8D;
|
||||||
|
|
||||||
// If the player is still in penalty time, cancel the event anyway.
|
// If the player is still in penalty time, cancel the event anyway.
|
||||||
@ -101,7 +101,7 @@ public class Direction extends Check {
|
|||||||
if (data.directionLastViolationTime > System.currentTimeMillis())
|
if (data.directionLastViolationTime > System.currentTimeMillis())
|
||||||
data.directionLastViolationTime = 0;
|
data.directionLastViolationTime = 0;
|
||||||
|
|
||||||
// He is in penalty time, therefore request cancelling of the event.
|
// They are in penalty time, therefore request cancelling of the event.
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -291,7 +291,7 @@ public class FightListener extends CheckListener implements JoinLeaveListener{
|
|||||||
final boolean damagedIsDead = damaged.isDead();
|
final boolean damagedIsDead = damaged.isDead();
|
||||||
if (damagedPlayer != null && !damagedIsDead) {
|
if (damagedPlayer != null && !damagedIsDead) {
|
||||||
if (!damagedPlayer.isDead() && godMode.isEnabled(damagedPlayer) && godMode.check(damagedPlayer, BridgeHealth.getDamage(event), damagedData)){
|
if (!damagedPlayer.isDead() && godMode.isEnabled(damagedPlayer) && godMode.check(damagedPlayer, BridgeHealth.getDamage(event), damagedData)){
|
||||||
// It requested to "cancel" the players invulnerability, so set his noDamageTicks to 0.
|
// It requested to "cancel" the players invulnerability, so set their noDamageTicks to 0.
|
||||||
damagedPlayer.setNoDamageTicks(0);
|
damagedPlayer.setNoDamageTicks(0);
|
||||||
}
|
}
|
||||||
if (BridgeHealth.getHealth(damagedPlayer) >= BridgeHealth.getMaxHealth(damagedPlayer)){
|
if (BridgeHealth.getHealth(damagedPlayer) >= BridgeHealth.getMaxHealth(damagedPlayer)){
|
||||||
|
@ -173,7 +173,7 @@ public class GodMode extends Check {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If a player apparently died, make sure he really dies after some time if he didn't already, by setting up a
|
* If a player apparently died, make sure they really die after some time if they didn't already, by setting up a
|
||||||
* Bukkit task.
|
* Bukkit task.
|
||||||
*
|
*
|
||||||
* @param player
|
* @param player
|
||||||
@ -190,9 +190,9 @@ public class GodMode extends Check {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
// Check again if the player should be dead, and if the game didn't mark him as dead.
|
// Check again if the player should be dead, and if the game didn't mark them as dead.
|
||||||
if (mcAccess.shouldBeZombie(player)){
|
if (mcAccess.shouldBeZombie(player)){
|
||||||
// Artificially "kill" him.
|
// Artificially "kill" them.
|
||||||
mcAccess.setDead(player, 19);
|
mcAccess.setDead(player, 19);
|
||||||
}
|
}
|
||||||
} catch (final Exception e) {}
|
} catch (final Exception e) {}
|
||||||
|
@ -16,7 +16,7 @@ import fr.neatmonster.nocheatplus.checks.CheckType;
|
|||||||
* d8888P
|
* d8888P
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* We require that the player moves his arm between attacks, this is basically what gets checked here.
|
* We require that the player moves their arm between attacks, this is basically what gets checked here.
|
||||||
*/
|
*/
|
||||||
public class NoSwing extends Check {
|
public class NoSwing extends Check {
|
||||||
|
|
||||||
@ -39,13 +39,13 @@ public class NoSwing extends Check {
|
|||||||
|
|
||||||
boolean cancel = false;
|
boolean cancel = false;
|
||||||
|
|
||||||
// Did he swing his arm before?
|
// Did they swing his arm before?
|
||||||
if (data.noSwingArmSwung) {
|
if (data.noSwingArmSwung) {
|
||||||
// Yes, reward him with reduction of his violation level.
|
// Yes, reward them with reduction of their violation level.
|
||||||
data.noSwingArmSwung = false;
|
data.noSwingArmSwung = false;
|
||||||
data.noSwingVL *= 0.9D;
|
data.noSwingVL *= 0.9D;
|
||||||
} else {
|
} else {
|
||||||
// No, increase his violation level.
|
// No, increase their violation level.
|
||||||
data.noSwingVL += 1D;
|
data.noSwingVL += 1D;
|
||||||
|
|
||||||
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
||||||
|
@ -91,7 +91,7 @@ public class Reach extends Check {
|
|||||||
|
|
||||||
final Vector pRel = dRef.toVector().subtract(pRef.toVector());
|
final Vector pRel = dRef.toVector().subtract(pRef.toVector());
|
||||||
|
|
||||||
// Distance is calculated from eye location to center of targeted. If the player is further away from his target
|
// Distance is calculated from eye location to center of targeted. If the player is further away from their target
|
||||||
// than allowed, the difference will be assigned to "distance".
|
// than allowed, the difference will be assigned to "distance".
|
||||||
final double lenpRel = pRel.length();
|
final double lenpRel = pRel.length();
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ public class Reach extends Check {
|
|||||||
final double reachMod = data.reachMod;
|
final double reachMod = data.reachMod;
|
||||||
|
|
||||||
if (violation > 0) {
|
if (violation > 0) {
|
||||||
// He failed, increment violation level. This is influenced by lag, so don't do it if there was lag.
|
// They failed, increment violation level. This is influenced by lag, so don't do it if there was lag.
|
||||||
if (TickTask.getLag(1000) < 1.5f){
|
if (TickTask.getLag(1000) < 1.5f){
|
||||||
// TODO: 1.5 is a fantasy value.
|
// TODO: 1.5 is a fantasy value.
|
||||||
data.reachVL += violation;
|
data.reachVL += violation;
|
||||||
@ -124,7 +124,7 @@ public class Reach extends Check {
|
|||||||
Improbable.feed(player, (float) (lenpRel - distanceLimit * reachMod) / 4f, System.currentTimeMillis());
|
Improbable.feed(player, (float) (lenpRel - distanceLimit * reachMod) / 4f, System.currentTimeMillis());
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
// Player passed the check, reward him.
|
// Player passed the check, reward them.
|
||||||
data.reachVL *= 0.8D;
|
data.reachVL *= 0.8D;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -147,7 +147,7 @@ public class Reach extends Check {
|
|||||||
data.reachLastViolationTime = 0;
|
data.reachLastViolationTime = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// He is in penalty time, therefore request cancelling of the event.
|
// They are in penalty time, therefore request cancelling of the event.
|
||||||
cancelByPenalty = !cancel;
|
cancelByPenalty = !cancel;
|
||||||
cancel = true;
|
cancel = true;
|
||||||
}
|
}
|
||||||
|
@ -56,9 +56,9 @@ public class Drop extends Check {
|
|||||||
|
|
||||||
data.dropCount++;
|
data.dropCount++;
|
||||||
|
|
||||||
// The player dropped more than he should.
|
// The player dropped more than they should.
|
||||||
if (data.dropCount > cc.dropLimit) {
|
if (data.dropCount > cc.dropLimit) {
|
||||||
// Set his violation level.
|
// Set their violation level.
|
||||||
data.dropVL = data.dropCount - cc.dropLimit;
|
data.dropVL = data.dropCount - cc.dropLimit;
|
||||||
|
|
||||||
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
||||||
|
@ -18,7 +18,7 @@ import fr.neatmonster.nocheatplus.utilities.TickTask;
|
|||||||
* MMMM M#########M
|
* MMMM M#########M
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* The InstantBow check will find out if a player pulled the string of his bow too fast.
|
* The InstantBow check will find out if a player pulled the string of their bow too fast.
|
||||||
*/
|
*/
|
||||||
public class InstantBow extends Check {
|
public class InstantBow extends Check {
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ public class InstantBow extends Check {
|
|||||||
final long pullDuration = now - (cc.instantBowStrict ? data.instantBowInteract : data.instantBowShoot);
|
final long pullDuration = now - (cc.instantBowStrict ? data.instantBowInteract : data.instantBowShoot);
|
||||||
|
|
||||||
if ((!cc.instantBowStrict || data.instantBowInteract > 0) && pullDuration >= expectedPullDuration){
|
if ((!cc.instantBowStrict || data.instantBowInteract > 0) && pullDuration >= expectedPullDuration){
|
||||||
// The player was slow enough, reward him by lowering his violation level.
|
// The player was slow enough, reward them by lowering their violation level.
|
||||||
data.instantBowVL *= 0.9D;
|
data.instantBowVL *= 0.9D;
|
||||||
}
|
}
|
||||||
else if (data.instantBowInteract > now){
|
else if (data.instantBowInteract > now){
|
||||||
@ -68,7 +68,7 @@ public class InstantBow extends Check {
|
|||||||
// TODO: Consider: Allow one time but set yawrate penalty time ?
|
// TODO: Consider: Allow one time but set yawrate penalty time ?
|
||||||
final double difference = (expectedPullDuration - pullDuration) / 100D;
|
final double difference = (expectedPullDuration - pullDuration) / 100D;
|
||||||
|
|
||||||
// Player was too fast, increase his violation level.
|
// Player was too fast, increase their violation level.
|
||||||
data.instantBowVL += difference;
|
data.instantBowVL += difference;
|
||||||
|
|
||||||
// Execute whatever actions are associated with this check and the
|
// Execute whatever actions are associated with this check and the
|
||||||
|
@ -19,7 +19,7 @@ import fr.neatmonster.nocheatplus.checks.ViolationData;
|
|||||||
* MMMM MMMMMMMMMMMM
|
* MMMM MMMMMMMMMMMM
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* The InstantEat check will find out if a player eats his food too fast.
|
* The InstantEat check will find out if a player eats their food too fast.
|
||||||
*/
|
*/
|
||||||
public class InstantEat extends Check {
|
public class InstantEat extends Check {
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ public class InstantEat extends Check {
|
|||||||
else {
|
else {
|
||||||
final double difference = (expectedTimeWhenEatingFinished - time) / 100D;
|
final double difference = (expectedTimeWhenEatingFinished - time) / 100D;
|
||||||
|
|
||||||
// Player was too fast, increase his violation level.
|
// Player was too fast, increase their violation level.
|
||||||
data.instantEatVL += difference;
|
data.instantEatVL += difference;
|
||||||
|
|
||||||
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
// Execute whatever actions are associated with this check and the violation level and find out if we should
|
||||||
|
@ -232,7 +232,7 @@ public class InventoryListener extends CheckListener implements JoinLeaveListen
|
|||||||
Items.checkIllegalEnchantments(player, item.getItemStack());
|
Items.checkIllegalEnchantments(player, item.getItemStack());
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the player died, all his items are dropped so ignore him.
|
// If the player died, all their items are dropped so ignore them.
|
||||||
if (event.getPlayer().isDead())
|
if (event.getPlayer().isDead())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ public class MorePackets extends Check {
|
|||||||
*
|
*
|
||||||
* Players get assigned a certain amount of "free" packets as a limit initially. Every move packet reduces that
|
* Players get assigned a certain amount of "free" packets as a limit initially. Every move packet reduces that
|
||||||
* limit by 1. If more than 1 second of time passed, the limit gets increased by 22 * time in seconds, up to 50 and
|
* limit by 1. If more than 1 second of time passed, the limit gets increased by 22 * time in seconds, up to 50 and
|
||||||
* he gets a new "setback" location. If the player reaches limit = 0 -> teleport him back to "setback". If there was
|
* they get a new "setback" location. If the player reaches limit = 0 -> teleport them back to "setback". If there was
|
||||||
* a long pause (maybe lag), limit may be up to 100.
|
* a long pause (maybe lag), limit may be up to 100.
|
||||||
*
|
*
|
||||||
* @param player
|
* @param player
|
||||||
@ -76,7 +76,7 @@ public class MorePackets extends Check {
|
|||||||
// Take a packet from the buffer.
|
// Take a packet from the buffer.
|
||||||
data.morePacketsBuffer--;
|
data.morePacketsBuffer--;
|
||||||
|
|
||||||
// Player used up buffer, he fails the check.
|
// Player used up buffer, they fail the check.
|
||||||
if (data.morePacketsBuffer < 0) {
|
if (data.morePacketsBuffer < 0) {
|
||||||
data.morePacketsPackets = -data.morePacketsBuffer;
|
data.morePacketsPackets = -data.morePacketsBuffer;
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ public class MorePacketsVehicle extends Check {
|
|||||||
return data.getMorePacketsVehicleSetBack();
|
return data.getMorePacketsVehicleSetBack();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Player used up buffer, he fails the check.
|
// Player used up buffer, they fail the check.
|
||||||
if (data.morePacketsVehicleBuffer < 0) {
|
if (data.morePacketsVehicleBuffer < 0) {
|
||||||
data.morePacketsVehiclePackets = -data.morePacketsVehicleBuffer;
|
data.morePacketsVehiclePackets = -data.morePacketsVehicleBuffer;
|
||||||
|
|
||||||
|
@ -359,7 +359,7 @@ public class MovingListener extends CheckListener implements TickListener, IRemo
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a player changes his gamemode, all information related to the moving checks becomes invalid.
|
* When a player changes their gamemode, all information related to the moving checks becomes invalid.
|
||||||
*
|
*
|
||||||
* @param event
|
* @param event
|
||||||
* the event
|
* the event
|
||||||
@ -390,7 +390,7 @@ public class MovingListener extends CheckListener implements TickListener, IRemo
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a player moves, he will be checked for various suspicious behaviors.<br>
|
* When a player moves, they will be checked for various suspicious behaviors.<br>
|
||||||
* (lowest priority)
|
* (lowest priority)
|
||||||
*
|
*
|
||||||
* @param event
|
* @param event
|
||||||
@ -622,11 +622,11 @@ public class MovingListener extends CheckListener implements TickListener, IRemo
|
|||||||
|
|
||||||
// Morepackets.
|
// Morepackets.
|
||||||
if (newTo == null && cc.morePacketsCheck && !NCPExemptionManager.isExempted(player, CheckType.MOVING_MOREPACKETS) && !player.hasPermission(Permissions.MOVING_MOREPACKETS)) {
|
if (newTo == null && cc.morePacketsCheck && !NCPExemptionManager.isExempted(player, CheckType.MOVING_MOREPACKETS) && !player.hasPermission(Permissions.MOVING_MOREPACKETS)) {
|
||||||
// If he hasn't been stopped by any other check and is handled by the more packets check, execute it.
|
// If it hasn't been stopped by any other check and is handled by the more packets check, execute it.
|
||||||
// TODO: Still feed morepackets even if cancelled.
|
// TODO: Still feed morepackets even if cancelled.
|
||||||
newTo = morePackets.check(player, pFrom, pTo, data, cc);
|
newTo = morePackets.check(player, pFrom, pTo, data, cc);
|
||||||
} else {
|
} else {
|
||||||
// Otherwise we need to clear his data.
|
// Otherwise we need to clear their data.
|
||||||
data.clearMorePacketsData();
|
data.clearMorePacketsData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1098,7 +1098,7 @@ public class MovingListener extends CheckListener implements TickListener, IRemo
|
|||||||
System.out.println("[NoCheatPlus] VehicleMoveEvent fired for: " + entityType);
|
System.out.println("[NoCheatPlus] VehicleMoveEvent fired for: " + entityType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// TODO: Might account for the case of a player letting the vehicle move but not himself (do mind latency).
|
// TODO: Might account for the case of a player letting the vehicle move but not themself (do mind latency).
|
||||||
// Mind that players could be riding horses inside of minecarts etc.
|
// Mind that players could be riding horses inside of minecarts etc.
|
||||||
if (vehicle.getVehicle() != null) {
|
if (vehicle.getVehicle() != null) {
|
||||||
// Do ignore events for vehicles inside of other vehicles.
|
// Do ignore events for vehicles inside of other vehicles.
|
||||||
@ -1154,7 +1154,7 @@ public class MovingListener extends CheckListener implements TickListener, IRemo
|
|||||||
newTo = morePacketsVehicle.check(player, from, to, data, cc);
|
newTo = morePacketsVehicle.check(player, from, to, data, cc);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
// Otherwise we need to clear his data.
|
// Otherwise we need to clear their data.
|
||||||
data.clearMorePacketsData();
|
data.clearMorePacketsData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -573,7 +573,7 @@ public class SurvivalFly extends Check {
|
|||||||
return hAllowedDistance;
|
return hAllowedDistance;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the player is on ice, give him an higher maximum speed.
|
// If the player is on ice, give them a higher maximum speed.
|
||||||
if (data.sfOnIce > 0) {
|
if (data.sfOnIce > 0) {
|
||||||
hAllowedDistance *= modIce;
|
hAllowedDistance *= modIce;
|
||||||
}
|
}
|
||||||
|
@ -503,7 +503,7 @@ public class DefaultConfig extends ConfigFile {
|
|||||||
set(ConfPaths.STRINGS + ".ban-ip", "ban-ip [ip]");
|
set(ConfPaths.STRINGS + ".ban-ip", "ban-ip [ip]");
|
||||||
set(ConfPaths.STRINGS + ".bautosign", start + "failed autosign with [tags]" + end);
|
set(ConfPaths.STRINGS + ".bautosign", start + "failed autosign with [tags]" + end);
|
||||||
set(ConfPaths.STRINGS + ".bbfrequency", start + "tried to break too many blocks within time frame" + end);
|
set(ConfPaths.STRINGS + ".bbfrequency", start + "tried to break too many blocks within time frame" + end);
|
||||||
set(ConfPaths.STRINGS + ".bdirection", start + "tried to interact with a block out of his line of sight" + end);
|
set(ConfPaths.STRINGS + ".bdirection", start + "tried to interact with a block out of their line of sight" + end);
|
||||||
set(ConfPaths.STRINGS + ".bedleave", start + "sends bed leave packets (was not in bed)" + end);
|
set(ConfPaths.STRINGS + ".bedleave", start + "sends bed leave packets (was not in bed)" + end);
|
||||||
set(ConfPaths.STRINGS + ".bpspeed", start + "tried to throw projectiles too quickly" + end);
|
set(ConfPaths.STRINGS + ".bpspeed", start + "tried to throw projectiles too quickly" + end);
|
||||||
set(ConfPaths.STRINGS + ".breach", start + "exceeds block-interact distance ([reachdistance])" + end);
|
set(ConfPaths.STRINGS + ".breach", start + "exceeds block-interact distance ([reachdistance])" + end);
|
||||||
@ -518,7 +518,7 @@ public class DefaultConfig extends ConfigFile {
|
|||||||
set(ConfPaths.STRINGS + ".drop", start + "tried to drop more items than allowed" + end);
|
set(ConfPaths.STRINGS + ".drop", start + "tried to drop more items than allowed" + end);
|
||||||
set(ConfPaths.STRINGS + ".dropkick", "ncp delay ncp kick [player] Dropping items too fast.");
|
set(ConfPaths.STRINGS + ".dropkick", "ncp delay ncp kick [player] Dropping items too fast.");
|
||||||
set(ConfPaths.STRINGS + ".fastbreak", start + "tried to break blocks ([blockid]) faster than possible" + end);
|
set(ConfPaths.STRINGS + ".fastbreak", start + "tried to break blocks ([blockid]) faster than possible" + end);
|
||||||
set(ConfPaths.STRINGS + ".fastclick", start + "tried to move items in his inventory too quickly" + end);
|
set(ConfPaths.STRINGS + ".fastclick", start + "tried to move items in their inventory too quickly" + end);
|
||||||
set(ConfPaths.STRINGS + ".fastconsume", start + "consumes [food] [tags] too fast" + end);
|
set(ConfPaths.STRINGS + ".fastconsume", start + "consumes [food] [tags] too fast" + end);
|
||||||
set(ConfPaths.STRINGS + ".fastheal", start + "regenerates health faster than usual" + end);
|
set(ConfPaths.STRINGS + ".fastheal", start + "regenerates health faster than usual" + end);
|
||||||
set(ConfPaths.STRINGS + ".fastplace", start + "tried to place too many blocks" + end);
|
set(ConfPaths.STRINGS + ".fastplace", start + "tried to place too many blocks" + end);
|
||||||
|
@ -225,7 +225,7 @@ public class NCPExemptionManager {
|
|||||||
for (final CheckType checkType : CheckType.values())
|
for (final CheckType checkType : CheckType.values())
|
||||||
// Check if player is exempted from something.
|
// Check if player is exempted from something.
|
||||||
if (isExempted(entityId, checkType))
|
if (isExempted(entityId, checkType))
|
||||||
// If he is, we can't remove him so we return.
|
// If they are, we can't remove them so we return.
|
||||||
return;
|
return;
|
||||||
registeredPlayers.remove(player.getName());
|
registeredPlayers.remove(player.getName());
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user