Fixes and extension for Activation. (+)

(+) Always return Activation, not IActivation.
(+) Add unitTest() and notUnitTest().
This commit is contained in:
asofold 2018-01-15 21:59:39 +01:00
parent 30b293e735
commit 01aaccbf54
1 changed files with 28 additions and 1 deletions

View File

@ -20,8 +20,10 @@ import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;
import fr.neatmonster.nocheatplus.NCPAPIProvider;
import fr.neatmonster.nocheatplus.compat.versions.GenericVersion;
import fr.neatmonster.nocheatplus.compat.versions.ServerVersion;
import fr.neatmonster.nocheatplus.components.NoCheatPlusAPI;
import fr.neatmonster.nocheatplus.utilities.ReflectionUtil;
/**
@ -460,11 +462,36 @@ public class Activation implements IDescriptiveActivation {
* @param condition
* @return
*/
public IActivation condition(IActivation condition) {
public Activation condition(IActivation condition) {
conditions.add(condition);
return this;
}
private boolean checkUnitTest() {
NoCheatPlusAPI api = NCPAPIProvider.getNoCheatPlusAPI();
return api == null || api.getClass().getSimpleName().startsWith("UnitTest");
}
public Activation unitTest() {
conditions.add(new IActivation() {
@Override
public boolean isAvailable() {
return checkUnitTest();
}
});
return this;
}
public Activation notUnitTest() {
conditions.add(new IActivation() {
@Override
public boolean isAvailable() {
return !checkUnitTest();
}
});
return this;
}
// TODO: server version not contains (+ignore case).
// TODO: Might use testing methods for parts: meetsServerVersionRequirements(), more complicated...
/*