diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 3dc3f329..00000000
--- a/pom.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-
- 4.0.0
-
-
- NoCheatPlus
- 3.7
- Detect and fight the exploitation of various flaws/bugs in Minecraft.
- http://dev.bukkit.org/server-mods/nocheatplus
-
- fr.neatmonster.nocheatplus
- NoCheatPlus
- jar
-
-
-
-
- GNU General Public License v3
- http://www.gnu.org/licenses/gpl-3.0.html
- repo
-
-
-
-
-
- scm:git:git@github.com:NeatMonster/${project.name}.git
- scm:git:git://github.com/NeatMonster/${project.name}.git
- https://github.com/NeatMonster/${project.name}
-
-
-
-
-
- bukkit
- Bukkit
- http://repo.bukkit.org/content/groups/public/
-
-
-
-
-
-
- org.bukkit
- craftbukkit
- 1.3.1-R1.0
- jar
- compile
-
-
-
-
-
- clean package
- ${basedir}/src
-
-
- .
- true
- ${basedir}
-
- plugin.yml
- LICENSE.txt
- Instructions.txt
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 2.5.1
-
-
- 1.6
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 2.4
-
- NoCheatPlus
-
- false
- false
-
- false
- false
-
-
-
-
-
- org.apache.maven.plugins
- maven-antrun-plugin
- 1.7
-
-
- deploy-build
- install
-
-
-
-
-
-
-
-
- run
-
-
-
-
-
- org.apache.ant
- ant-jsch
- 1.8.4
-
-
-
-
-
-
-
-
- UTF-8
-
-
\ No newline at end of file
diff --git a/src/fr/neatmonster/nocheatplus/CommandHandler.java b/src/fr/neatmonster/nocheatplus/CommandHandler.java
index 729ae94b..c838dfa3 100644
--- a/src/fr/neatmonster/nocheatplus/CommandHandler.java
+++ b/src/fr/neatmonster/nocheatplus/CommandHandler.java
@@ -1,10 +1,13 @@
package fr.neatmonster.nocheatplus;
+import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
+import org.bukkit.event.Event;
+import org.bukkit.event.HandlerList;
import fr.neatmonster.nocheatplus.checks.blockbreak.BlockBreakConfig;
import fr.neatmonster.nocheatplus.checks.blockinteract.BlockInteractConfig;
@@ -38,6 +41,34 @@ import fr.neatmonster.nocheatplus.players.Permissions;
* This the class handling all the commands.
*/
public class CommandHandler implements CommandExecutor {
+
+ /**
+ * The event triggered when NoCheatPlus configuration is reloaded.
+ */
+ public static class NCPReloadEvent extends Event {
+
+ /** The handlers list. */
+ private static final HandlerList handlers = new HandlerList();
+
+ /**
+ * Gets the handler list.
+ *
+ * @return the handler list
+ */
+ public static HandlerList getHandlerList() {
+ return handlers;
+ }
+
+ /* (non-Javadoc)
+ * @see org.bukkit.event.Event#getHandlers()
+ */
+ @Override
+ public HandlerList getHandlers() {
+ return handlers;
+ }
+ }
+
+ /** The plugin. */
private final NoCheatPlus plugin;
/**
@@ -73,6 +104,9 @@ public class CommandHandler implements CommandExecutor {
InventoryConfig.clear();
MovingConfig.clear();
+ // Say to the other plugins that we've reloaded the configuration.
+ Bukkit.getPluginManager().callEvent(new NCPReloadEvent());
+
sender.sendMessage(ChatColor.RED + "NCP: " + ChatColor.WHITE + "Configuration reloaded!");
} else
sender.sendMessage(ChatColor.RED + "You lack the " + Permissions.ADMINISTRATION_RELOAD
diff --git a/src/fr/neatmonster/nocheatplus/checks/chat/Arrivals.java b/src/fr/neatmonster/nocheatplus/checks/chat/Arrivals.java
deleted file mode 100644
index 2c039249..00000000
--- a/src/fr/neatmonster/nocheatplus/checks/chat/Arrivals.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package fr.neatmonster.nocheatplus.checks.chat;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.bukkit.entity.Player;
-
-import fr.neatmonster.nocheatplus.NoCheatPlus;
-import fr.neatmonster.nocheatplus.checks.Check;
-import fr.neatmonster.nocheatplus.checks.CheckType;
-
-/*
- * MMP"""""""MM oo dP
- * M' .mmmm MM 88
- * M `M 88d888b. 88d888b. dP dP .dP .d8888b. 88 .d8888b.
- * M MMMMM MM 88' `88 88' `88 88 88 d8' 88' `88 88 Y8ooooo.
- * M MMMMM MM 88 88 88 88 .88' 88. .88 88 88
- * M MMMMM MM dP dP dP 8888P' `88888P8 dP `88888P'
- * MMMMMMMMMMMM
- */
-/**
- * The Arrivals check is used to limit the number of new players allowed to join in a specified time frame.
- */
-public class Arrivals extends Check {
-
- /** The map containing the time and the name of the player, every time that one of them joins. */
- private final Map joins = new HashMap();
-
- /**
- * Instantiates a new arrivals check.
- */
- public Arrivals() {
- super(CheckType.CHAT_ARRIVALS);
- }
-
- /**
- * Checks a player.
- *
- * @param player
- * the player
- * @return true, if successful
- */
- public boolean check(final Player player) {
- final ChatConfig cc = ChatConfig.getConfig(player);
-
- // If the server has just restarted or if the player is a regular one, do not check it.
- if (System.currentTimeMillis() - NoCheatPlus.time < 120000L
- || System.currentTimeMillis() - player.getFirstPlayed() > cc.arrivalsJoinsLimit)
- return false;
-
- boolean cancel = false;
-
- // Remove the old data from the map holding the joins.
- final List toRemove = new ArrayList();
- for (final long time : joins.keySet())
- // If the data is too old or belong to the checked player.
- if (System.currentTimeMillis() - time > cc.arrivalsTimeLimit && joins.get(time).equals(player.getName()))
- toRemove.add(time);
- for (final long time : toRemove)
- joins.remove(time);
-
- // Add the new data.
- joins.put(System.currentTimeMillis(), player.getName());
-
- if (joins.size() > cc.arrivalsJoinsLimit)
- // Find out if we should cancel the event or not.
- cancel = executeActions(player);
-
- return cancel;
- }
-}
diff --git a/src/fr/neatmonster/nocheatplus/checks/chat/ChatConfig.java b/src/fr/neatmonster/nocheatplus/checks/chat/ChatConfig.java
index dc5dbd99..86fec486 100644
--- a/src/fr/neatmonster/nocheatplus/checks/chat/ChatConfig.java
+++ b/src/fr/neatmonster/nocheatplus/checks/chat/ChatConfig.java
@@ -55,12 +55,6 @@ public class ChatConfig {
}
}
- public final boolean arrivalsCheck;
- public final int arrivalsJoinsLimit;
- public final String arrivalsMessage;
- public final long arrivalsTimeLimit;
- public final ActionList arrivalsActions;
-
public final boolean colorCheck;
public final ActionList colorActions;
@@ -116,6 +110,8 @@ public class ChatConfig {
public final ActionList noPwnageActions;
+ public final boolean opInConsoleOnly;
+
public final boolean protectPlugins;
/**
@@ -125,12 +121,6 @@ public class ChatConfig {
* the data
*/
public ChatConfig(final ConfigFile data) {
- arrivalsCheck = data.getBoolean(ConfPaths.CHAT_ARRIVALS_CHECK);
- arrivalsJoinsLimit = data.getInt(ConfPaths.CHAT_ARRIVALS_JOINSLIMIT);
- arrivalsMessage = data.getString(ConfPaths.CHAT_ARRIVALS_MESSAGE);
- arrivalsTimeLimit = data.getLong(ConfPaths.CHAT_ARRIVALS_TIMELIMIT);
- arrivalsActions = data.getActionList(ConfPaths.CHAT_ARRIVALS_ACTIONS, Permissions.CHAT_ARRIVALS);
-
colorCheck = data.getBoolean(ConfPaths.CHAT_COLOR_CHECK);
colorActions = data.getActionList(ConfPaths.CHAT_COLOR_ACTIONS, Permissions.CHAT_COLOR);
@@ -186,6 +176,8 @@ public class ChatConfig {
noPwnageActions = data.getActionList(ConfPaths.CHAT_NOPWNAGE_ACTIONS, Permissions.CHAT_NOPWNAGE);
+ opInConsoleOnly = data.getBoolean(ConfPaths.MISCELLANEOUS_OPINCONSOLEONLY);
+
protectPlugins = data.getBoolean(ConfPaths.MISCELLANEOUS_PROTECTPLUGINS);
}
}
diff --git a/src/fr/neatmonster/nocheatplus/checks/chat/ChatData.java b/src/fr/neatmonster/nocheatplus/checks/chat/ChatData.java
index a70983ce..37610e7c 100644
--- a/src/fr/neatmonster/nocheatplus/checks/chat/ChatData.java
+++ b/src/fr/neatmonster/nocheatplus/checks/chat/ChatData.java
@@ -37,7 +37,6 @@ public class ChatData {
}
// Violation levels.
- public double arrivalsVL;
public double colorVL;
public double noPwnageVL;