summaryrefslogtreecommitdiffstats
path: root/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/Check.java
diff options
context:
space:
mode:
Diffstat (limited to 'EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/Check.java')
-rw-r--r--EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/Check.java159
1 files changed, 0 insertions, 159 deletions
diff --git a/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/Check.java b/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/Check.java
deleted file mode 100644
index 5482efa5a..000000000
--- a/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/Check.java
+++ /dev/null
@@ -1,159 +0,0 @@
-package com.earth2me.essentials.anticheat.checks;
-
-import com.earth2me.essentials.anticheat.NoCheat;
-import com.earth2me.essentials.anticheat.NoCheatLogEvent;
-import com.earth2me.essentials.anticheat.NoCheatPlayer;
-import com.earth2me.essentials.anticheat.actions.Action;
-import com.earth2me.essentials.anticheat.actions.ParameterName;
-import com.earth2me.essentials.anticheat.actions.types.*;
-import com.earth2me.essentials.anticheat.config.ConfigurationCacheStore;
-import com.earth2me.essentials.anticheat.data.Statistics.Id;
-import java.util.Locale;
-import org.bukkit.Bukkit;
-import org.bukkit.Location;
-import org.bukkit.command.CommandException;
-
-
-/**
- * The abstract Check class, providing some basic functionality
- *
- */
-public abstract class Check
-{
- private final String name;
- // used to bundle information of multiple checks
- private final String groupId;
- protected final NoCheat plugin;
-
- public Check(NoCheat plugin, String groupId, String name)
- {
- this.plugin = plugin;
- this.groupId = groupId;
- this.name = name;
- }
-
- /**
- * Execute some actions for the specified player
- *
- * @param player
- * @param actions
- * @return
- */
- protected final boolean executeActions(NoCheatPlayer player, ActionList actionList, double violationLevel)
- {
-
- boolean special = false;
-
- // Get the to be executed actions
- Action[] actions = actionList.getActions(violationLevel);
-
- final long time = System.currentTimeMillis() / 1000L;
-
- // The configuration will be needed too
- final ConfigurationCacheStore cc = player.getConfigurationStore();
-
- for (Action ac : actions)
- {
- if (player.getExecutionHistory().executeAction(groupId, ac, time))
- {
- // The executionHistory said it really is time to execute the
- // action, find out what it is and do what is needed
- if (ac instanceof LogAction && !player.hasPermission(actionList.permissionSilent))
- {
- executeLogAction((LogAction)ac, this, player, cc);
- }
- else if (ac instanceof SpecialAction)
- {
- special = true;
- }
- else if (ac instanceof ConsolecommandAction)
- {
- executeConsoleCommand((ConsolecommandAction)ac, this, player, cc);
- }
- else if (ac instanceof DummyAction)
- {
- // nothing - it's a "DummyAction" after all
- }
- }
- }
-
- return special;
- }
-
- /**
- * Collect information about the players violations
- *
- * @param player
- * @param id
- * @param vl
- */
- protected void incrementStatistics(NoCheatPlayer player, Id id, double vl)
- {
- player.getDataStore().getStatistics().increment(id, vl);
- }
-
- private final void executeLogAction(LogAction l, Check check, NoCheatPlayer player, ConfigurationCacheStore cc)
- {
-
- if (!cc.logging.active)
- {
- return;
- }
-
- // Fire one of our custom "Log" Events
- Bukkit.getServer().getPluginManager().callEvent(new NoCheatLogEvent(cc.logging.prefix, l.getLogMessage(player, check), cc.logging.toConsole && l.toConsole(), cc.logging.toChat && l.toChat(), cc.logging.toFile && l.toFile()));
- }
-
- private final void executeConsoleCommand(ConsolecommandAction action, Check check, NoCheatPlayer player, ConfigurationCacheStore cc)
- {
- final String command = action.getCommand(player, check);
-
- try
- {
- plugin.getServer().dispatchCommand(Bukkit.getConsoleSender(), command);
- }
- catch (CommandException e)
- {
- plugin.getLogger().warning("failed to execute the command '" + command + "': " + e.getMessage() + ", please check if everything is setup correct.");
- }
- catch (Exception e)
- {
- // I don't care in this case, your problem if your command fails
- }
- }
-
- /**
- * Replace a parameter for commands or log actions with an actual value. Individual checks should override this to
- * get their own parameters handled too.
- *
- * @param wildcard
- * @param player
- * @return
- */
- public String getParameter(ParameterName wildcard, NoCheatPlayer player)
- {
-
- if (wildcard == ParameterName.PLAYER)
- {
- return player.getName();
- }
- else if (wildcard == ParameterName.CHECK)
- {
- return name;
- }
- else if (wildcard == ParameterName.LOCATION)
- {
- Location l = player.getPlayer().getLocation();
- return String.format(Locale.US, "%.2f,%.2f,%.2f", l.getX(), l.getY(), l.getZ());
- }
- else if (wildcard == ParameterName.WORLD)
- {
- return player.getPlayer().getWorld().getName();
- }
- else
- {
- return "the Author was lazy and forgot to define " + wildcard + ".";
- }
-
- }
-}