mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-11-03 01:00:20 +01:00
Use soft dependencies to request loading of Permissions and CraftIRC
before NoCheat
This commit is contained in:
parent
30622e9235
commit
a039edcfaf
@ -5,6 +5,8 @@ author: Evenprime
|
|||||||
main: cc.co.evenprime.bukkit.nocheat.NoCheat
|
main: cc.co.evenprime.bukkit.nocheat.NoCheat
|
||||||
version: 1.02
|
version: 1.02
|
||||||
|
|
||||||
|
softdepend: [ Permissions, CraftIRC ]
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
nocheat:
|
nocheat:
|
||||||
description: Provides information about the current status of the NoCheat plugin
|
description: Provides information about the current status of the NoCheat plugin
|
||||||
|
@ -123,10 +123,10 @@ public class NoCheat extends JavaPlugin implements CommandSender {
|
|||||||
config.cleanup();
|
config.cleanup();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
teardownCleanupTask();
|
teardownCleanupTask();
|
||||||
teardownServerLagMeasureTask();
|
teardownServerLagMeasureTask();
|
||||||
|
|
||||||
NoCheatData.cancelPlayerDataTasks();
|
NoCheatData.cancelPlayerDataTasks();
|
||||||
}
|
}
|
||||||
catch(Exception e) { /* Can't do much in case of error here... */ }
|
catch(Exception e) { /* Can't do much in case of error here... */ }
|
||||||
Logger.getLogger("Minecraft").info( "[NoCheat] version [" + pdfFile.getVersion() + "] is disabled.");
|
Logger.getLogger("Minecraft").info( "[NoCheat] version [" + pdfFile.getVersion() + "] is disabled.");
|
||||||
@ -168,15 +168,20 @@ public class NoCheat extends JavaPlugin implements CommandSender {
|
|||||||
|
|
||||||
if(cleanUpTaskId != -1) return;
|
if(cleanUpTaskId != -1) return;
|
||||||
|
|
||||||
cleanUpTaskId = Bukkit.getServer().getScheduler().scheduleAsyncRepeatingTask(this, new Runnable() {
|
try {
|
||||||
|
cleanUpTaskId = Bukkit.getServer().getScheduler().scheduleAsyncRepeatingTask(this, new Runnable() {
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
NoCheatData.cleanPlayerDataCollection();
|
|
||||||
}
|
|
||||||
}, 5000, 5000);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
NoCheatData.cleanPlayerDataCollection();
|
||||||
|
}
|
||||||
|
}, 5000, 5000);
|
||||||
|
}
|
||||||
|
catch(Exception e) {
|
||||||
|
// It's not THAT important, so if it fails for whatever reason, just let it be.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void teardownCleanupTask() {
|
private void teardownCleanupTask() {
|
||||||
if(cleanUpTaskId != -1)
|
if(cleanUpTaskId != -1)
|
||||||
Bukkit.getServer().getScheduler().cancelTask(cleanUpTaskId);
|
Bukkit.getServer().getScheduler().cancelTask(cleanUpTaskId);
|
||||||
@ -197,7 +202,7 @@ public class NoCheat extends JavaPlugin implements CommandSender {
|
|||||||
}
|
}
|
||||||
}, 10, 10);
|
}, 10, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void teardownServerLagMeasureTask() {
|
private void teardownServerLagMeasureTask() {
|
||||||
if(serverLagMeasureTaskSetup == -1)
|
if(serverLagMeasureTaskSetup == -1)
|
||||||
Bukkit.getServer().getScheduler().cancelTask(serverLagMeasureTaskSetup);
|
Bukkit.getServer().getScheduler().cancelTask(serverLagMeasureTaskSetup);
|
||||||
@ -207,24 +212,17 @@ public class NoCheat extends JavaPlugin implements CommandSender {
|
|||||||
* Get, if available, a reference to the Permissions-plugin
|
* Get, if available, a reference to the Permissions-plugin
|
||||||
*/
|
*/
|
||||||
private void setupPermissions() {
|
private void setupPermissions() {
|
||||||
PermissionHandler p = null;
|
|
||||||
|
|
||||||
Plugin test = this.getServer().getPluginManager().getPlugin("Permissions");
|
Plugin permissionsPlugin = this.getServer().getPluginManager().getPlugin("Permissions");
|
||||||
|
|
||||||
if(test != null && test instanceof Permissions) {
|
if (this.permissions == null) {
|
||||||
p = ((Permissions)test).getHandler();
|
if (permissionsPlugin != null) {
|
||||||
if(p == null) {
|
this.permissions = ((Permissions) permissionsPlugin).getHandler();
|
||||||
this.getServer().getPluginManager().enablePlugin(test);
|
} else {
|
||||||
|
PluginDescriptionFile pdfFile = this.getDescription();
|
||||||
|
Logger.getLogger("Minecraft").warning("[NoCheat] version [" + pdfFile.getVersion() + "] couldn't find Permissions plugin. Fallback to 'isOp()' equals 'nocheat.*'");
|
||||||
}
|
}
|
||||||
p = ((Permissions)test).getHandler();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(p == null) {
|
|
||||||
PluginDescriptionFile pdfFile = this.getDescription();
|
|
||||||
Logger.getLogger("Minecraft").warning("[NoCheat] version [" + pdfFile.getVersion() + "] couldn't find Permissions plugin. Fallback to 'isOp()' equals 'nocheat.*'");
|
|
||||||
}
|
|
||||||
|
|
||||||
permissions = p;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -338,18 +336,18 @@ public class NoCheat extends JavaPlugin implements CommandSender {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
this.setEnabled(false);
|
this.setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
BufferedReader reader = new BufferedReader(new FileReader(new File("server.properties")));
|
BufferedReader reader = new BufferedReader(new FileReader(new File("server.properties")));
|
||||||
|
|
||||||
allowFlightSet = true;
|
allowFlightSet = true;
|
||||||
String s = null;
|
String s = null;
|
||||||
|
|
||||||
while((s = reader.readLine()) != null) {
|
while((s = reader.readLine()) != null) {
|
||||||
if(s.startsWith("allow-flight=false")) {
|
if(s.startsWith("allow-flight=false")) {
|
||||||
allowFlightSet = false;
|
allowFlightSet = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
Loading…
Reference in New Issue
Block a user