mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-12-28 03:17:53 +01:00
Add configuration for ender-pearl checks to the combined section.
This commit is contained in:
parent
3e96d7d9a2
commit
384c3483ca
@ -14,6 +14,7 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
|
|
||||||
import fr.neatmonster.nocheatplus.checks.CheckListener;
|
import fr.neatmonster.nocheatplus.checks.CheckListener;
|
||||||
import fr.neatmonster.nocheatplus.checks.CheckType;
|
import fr.neatmonster.nocheatplus.checks.CheckType;
|
||||||
|
import fr.neatmonster.nocheatplus.checks.combined.CombinedConfig;
|
||||||
import fr.neatmonster.nocheatplus.utilities.BlockProperties;
|
import fr.neatmonster.nocheatplus.utilities.BlockProperties;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -90,9 +91,12 @@ public class BlockInteractListener extends CheckListener {
|
|||||||
final ItemStack stack = player.getItemInHand();
|
final ItemStack stack = player.getItemInHand();
|
||||||
if (stack != null && stack.getTypeId() == Material.ENDER_PEARL.getId()){
|
if (stack != null && stack.getTypeId() == Material.ENDER_PEARL.getId()){
|
||||||
if (!BlockProperties.isPassable(block.getTypeId())){
|
if (!BlockProperties.isPassable(block.getTypeId())){
|
||||||
|
final CombinedConfig ccc = CombinedConfig.getConfig(player);
|
||||||
|
if (ccc.enderPearlCheck && ccc.enderPearlPreventClickBlock){
|
||||||
event.setUseItemInHand(Result.DENY);
|
event.setUseItemInHand(Result.DENY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
|
@ -21,6 +21,7 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
import fr.neatmonster.nocheatplus.checks.CheckListener;
|
import fr.neatmonster.nocheatplus.checks.CheckListener;
|
||||||
import fr.neatmonster.nocheatplus.checks.CheckType;
|
import fr.neatmonster.nocheatplus.checks.CheckType;
|
||||||
import fr.neatmonster.nocheatplus.checks.combined.Combined;
|
import fr.neatmonster.nocheatplus.checks.combined.Combined;
|
||||||
|
import fr.neatmonster.nocheatplus.checks.combined.CombinedConfig;
|
||||||
import fr.neatmonster.nocheatplus.checks.combined.Improbable;
|
import fr.neatmonster.nocheatplus.checks.combined.Improbable;
|
||||||
import fr.neatmonster.nocheatplus.checks.moving.MovingConfig;
|
import fr.neatmonster.nocheatplus.checks.moving.MovingConfig;
|
||||||
import fr.neatmonster.nocheatplus.hooks.NCPExemptionManager;
|
import fr.neatmonster.nocheatplus.hooks.NCPExemptionManager;
|
||||||
@ -326,7 +327,11 @@ public class BlockPlaceListener extends CheckListener {
|
|||||||
|
|
||||||
// Ender pearl glitch (ab-) use.
|
// Ender pearl glitch (ab-) use.
|
||||||
if (!cancel && type == EntityType.ENDER_PEARL){
|
if (!cancel && type == EntityType.ENDER_PEARL){
|
||||||
if (!BlockProperties.isPassable(entity.getLocation())){
|
if (!CombinedConfig.getConfig(player).enderPearlCheck){
|
||||||
|
// Do nothing !
|
||||||
|
// TODO: Might have further flags?
|
||||||
|
}
|
||||||
|
else if (!BlockProperties.isPassable(entity.getLocation())){
|
||||||
// Launch into a block.
|
// Launch into a block.
|
||||||
// TODO: This might be a general check later.
|
// TODO: This might be a general check later.
|
||||||
cancel = true;
|
cancel = true;
|
||||||
|
@ -34,7 +34,7 @@ public class CombinedConfig extends ACheckConfig {
|
|||||||
|
|
||||||
private static final Map<String, CombinedConfig> worldsMap = new HashMap<String, CombinedConfig>();
|
private static final Map<String, CombinedConfig> worldsMap = new HashMap<String, CombinedConfig>();
|
||||||
|
|
||||||
protected static CombinedConfig getConfig(final Player player) {
|
public static CombinedConfig getConfig(final Player player) {
|
||||||
final String worldName = player.getWorld().getName();
|
final String worldName = player.getWorld().getName();
|
||||||
CombinedConfig cc = worldsMap.get(worldName);
|
CombinedConfig cc = worldsMap.get(worldName);
|
||||||
if (cc == null){
|
if (cc == null){
|
||||||
@ -49,6 +49,10 @@ public class CombinedConfig extends ACheckConfig {
|
|||||||
public final boolean bedLeaveCheck;
|
public final boolean bedLeaveCheck;
|
||||||
public final ActionList bedLeaveActions;
|
public final ActionList bedLeaveActions;
|
||||||
|
|
||||||
|
// Ender pearl
|
||||||
|
public final boolean enderPearlCheck;
|
||||||
|
public final boolean enderPearlPreventClickBlock;
|
||||||
|
|
||||||
// Improbable check
|
// Improbable check
|
||||||
/** Do mind that this flag is not used by all components. */
|
/** Do mind that this flag is not used by all components. */
|
||||||
public final boolean improbableCheck;
|
public final boolean improbableCheck;
|
||||||
@ -80,6 +84,9 @@ public class CombinedConfig extends ACheckConfig {
|
|||||||
bedLeaveCheck = config.getBoolean(ConfPaths.COMBINED_BEDLEAVE_CHECK);
|
bedLeaveCheck = config.getBoolean(ConfPaths.COMBINED_BEDLEAVE_CHECK);
|
||||||
bedLeaveActions = config.getOptimizedActionList(ConfPaths.COMBINED_BEDLEAVE_ACTIONS, Permissions.COMBINED_BEDLEAVE);
|
bedLeaveActions = config.getOptimizedActionList(ConfPaths.COMBINED_BEDLEAVE_ACTIONS, Permissions.COMBINED_BEDLEAVE);
|
||||||
|
|
||||||
|
enderPearlCheck = config.getBoolean(ConfPaths.COMBINED_ENDERPEARL_CHECK);
|
||||||
|
enderPearlPreventClickBlock = config.getBoolean(ConfPaths.COMBINED_ENDERPEARL_PREVENTCLICKBLOCK);
|
||||||
|
|
||||||
improbableCheck = config.getBoolean(ConfPaths.COMBINED_IMPROBABLE_CHECK);
|
improbableCheck = config.getBoolean(ConfPaths.COMBINED_IMPROBABLE_CHECK);
|
||||||
improbableLevel = (float) config.getDouble(ConfPaths.COMBINED_IMPROBABLE_LEVEL);
|
improbableLevel = (float) config.getDouble(ConfPaths.COMBINED_IMPROBABLE_LEVEL);
|
||||||
improbableActions = config.getOptimizedActionList(ConfPaths.COMBINED_IMPROBABLE_ACTIONS, Permissions.COMBINED_IMPROBABLE);
|
improbableActions = config.getOptimizedActionList(ConfPaths.COMBINED_IMPROBABLE_ACTIONS, Permissions.COMBINED_IMPROBABLE);
|
||||||
|
@ -43,6 +43,7 @@ import fr.neatmonster.nocheatplus.checks.CheckListener;
|
|||||||
import fr.neatmonster.nocheatplus.checks.CheckType;
|
import fr.neatmonster.nocheatplus.checks.CheckType;
|
||||||
import fr.neatmonster.nocheatplus.checks.combined.BedLeave;
|
import fr.neatmonster.nocheatplus.checks.combined.BedLeave;
|
||||||
import fr.neatmonster.nocheatplus.checks.combined.Combined;
|
import fr.neatmonster.nocheatplus.checks.combined.Combined;
|
||||||
|
import fr.neatmonster.nocheatplus.checks.combined.CombinedConfig;
|
||||||
import fr.neatmonster.nocheatplus.checks.combined.CombinedData;
|
import fr.neatmonster.nocheatplus.checks.combined.CombinedData;
|
||||||
import fr.neatmonster.nocheatplus.command.INotifyReload;
|
import fr.neatmonster.nocheatplus.command.INotifyReload;
|
||||||
import fr.neatmonster.nocheatplus.components.IData;
|
import fr.neatmonster.nocheatplus.components.IData;
|
||||||
@ -903,7 +904,7 @@ public class MovingListener extends CheckListener implements TickListener, IRemo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (cause == TeleportCause.ENDER_PEARL){
|
else if (cause == TeleportCause.ENDER_PEARL){
|
||||||
if (!BlockProperties.isPassable(to)){ // || !BlockProperties.isOnGroundOrResetCond(player, to, 1.0)){
|
if (CombinedConfig.getConfig(player). enderPearlCheck && !BlockProperties.isPassable(to)){ // || !BlockProperties.isOnGroundOrResetCond(player, to, 1.0)){
|
||||||
// Not check on-ground: Check the second throw.
|
// Not check on-ground: Check the second throw.
|
||||||
cancel = true;
|
cancel = true;
|
||||||
}
|
}
|
||||||
|
@ -338,6 +338,10 @@ public abstract class ConfPaths {
|
|||||||
public static final String COMBINED_BEDLEAVE_CHECK = COMBINED_BEDLEAVE + "active";
|
public static final String COMBINED_BEDLEAVE_CHECK = COMBINED_BEDLEAVE + "active";
|
||||||
public static final String COMBINED_BEDLEAVE_ACTIONS = COMBINED_BEDLEAVE + "actions";
|
public static final String COMBINED_BEDLEAVE_ACTIONS = COMBINED_BEDLEAVE + "actions";
|
||||||
|
|
||||||
|
private static final String COMBINED_ENDERPEARL = COMBINED + "enderpearl.";
|
||||||
|
public static final String COMBINED_ENDERPEARL_CHECK = COMBINED_ENDERPEARL + "active";
|
||||||
|
public static final String COMBINED_ENDERPEARL_PREVENTCLICKBLOCK = COMBINED_ENDERPEARL + "preventclickblock";
|
||||||
|
|
||||||
private static final String COMBINED_IMPROBABLE = COMBINED + "improbable.";
|
private static final String COMBINED_IMPROBABLE = COMBINED + "improbable.";
|
||||||
public static final String COMBINED_IMPROBABLE_CHECK = COMBINED_IMPROBABLE + "active";
|
public static final String COMBINED_IMPROBABLE_CHECK = COMBINED_IMPROBABLE + "active";
|
||||||
public static final String COMBINED_IMPROBABLE_LEVEL = COMBINED_IMPROBABLE + "level";
|
public static final String COMBINED_IMPROBABLE_LEVEL = COMBINED_IMPROBABLE + "level";
|
||||||
|
@ -266,6 +266,9 @@ public class DefaultConfig extends ConfigFile {
|
|||||||
set(ConfPaths.COMBINED_BEDLEAVE_CHECK, true);
|
set(ConfPaths.COMBINED_BEDLEAVE_CHECK, true);
|
||||||
set(ConfPaths.COMBINED_BEDLEAVE_ACTIONS, "cancel log:bedleave:0:5:if cmd:kickbedleave");
|
set(ConfPaths.COMBINED_BEDLEAVE_ACTIONS, "cancel log:bedleave:0:5:if cmd:kickbedleave");
|
||||||
|
|
||||||
|
set(ConfPaths.COMBINED_ENDERPEARL_CHECK, true);
|
||||||
|
set(ConfPaths.COMBINED_ENDERPEARL_PREVENTCLICKBLOCK, true);
|
||||||
|
|
||||||
set(ConfPaths.COMBINED_IMPROBABLE_CHECK , true);
|
set(ConfPaths.COMBINED_IMPROBABLE_CHECK , true);
|
||||||
set(ConfPaths.COMBINED_IMPROBABLE_LEVEL, 300);
|
set(ConfPaths.COMBINED_IMPROBABLE_LEVEL, 300);
|
||||||
// set(ConfPaths.COMBINED_IMPROBABLE_FASTBREAK_CHECK, false);
|
// set(ConfPaths.COMBINED_IMPROBABLE_FASTBREAK_CHECK, false);
|
||||||
|
Loading…
Reference in New Issue
Block a user