diff --git a/src/main/java/de/fanta/challenges/Challenges.java b/src/main/java/de/fanta/challenges/Challenges.java index 761a9ac..a412d11 100644 --- a/src/main/java/de/fanta/challenges/Challenges.java +++ b/src/main/java/de/fanta/challenges/Challenges.java @@ -104,10 +104,16 @@ LOGGER = getLogger(); plugin = this; nmsUtils = getServer().getServicesManager().load(NMSUtils.class); - cubesideStatistics = getServer().getServicesManager().load(CubesideStatisticsAPI.class); + try { + cubesideStatistics = getServer().getServicesManager().load(CubesideStatisticsAPI.class); + } catch (NoClassDefFoundError ex) { + cubesideStatistics = null; + } - statistics = new Statistics(this); + if (isCubesideStatisticsInstalled()) { + statistics = new Statistics(this); + } protocolVersion = Bukkit.getUnsafe().getProtocolVersion(); @@ -584,6 +590,10 @@ return cubesideStatistics; } + public boolean isCubesideStatisticsInstalled() { + return cubesideStatistics != null; + } + public Statistics getStatistics() { return statistics; } diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java b/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java index 823c271..a8edd23 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java @@ -33,6 +33,9 @@ if (e.getEntity().getType() == EntityType.ENDER_DRAGON) { if (!Config.getBoolean("editsettings")) { if (!Config.getBoolean("editsettings")) { + if (!plugin.isCubesideStatisticsInstalled()) { + return; + } plugin.getStatistics().saveSpeedRun(); ChatUtil.sendBrodcastMessage(ChatUtil.ORANGE + " >> " + ChatUtil.GREEN + "SpeedRun wurde gespeichert. Deine Zeit: " + plugin.getTimer().formatTime(ChatUtil.BLUE)); } diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java index 8820b02..7ce7957 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java @@ -35,6 +35,9 @@ } plugin.getTimer().startTimer(); if (!Config.getBoolean("editsettings")) { + if (!plugin.isCubesideStatisticsInstalled()) { + return true; + } plugin.getStatistics().addSpeedRunPlayed(); } ChatUtil.sendBrodcastMessage(ChatUtil.GREEN + "Der Timer wird fortgesetzt!"); diff --git a/src/main/java/de/fanta/challenges/guis/TimerGui.java b/src/main/java/de/fanta/challenges/guis/TimerGui.java index 76d1e1d..d43b4f9 100644 --- a/src/main/java/de/fanta/challenges/guis/TimerGui.java +++ b/src/main/java/de/fanta/challenges/guis/TimerGui.java @@ -82,6 +82,9 @@ } else { plugin.getTimer().startTimer(); if (!Config.getBoolean("editsettings")) { + if (!plugin.isCubesideStatisticsInstalled()) { + return; + } plugin.getStatistics().addSpeedRunPlayed(); } if (plugin.getServerType() != ServerType.ADVENTURE) { diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4f3ca42..8d1feba 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -3,8 +3,8 @@ version: ${project.version} author: ${project.author} api-version: 1.13 -depend: [CubesideUtils, VanishNoPacket, GlobalPort, CubesideNMSUtils, ViaVersion, CubesideStatistics] -softdepend: [NBTAPI] +depend: [CubesideUtils, VanishNoPacket, GlobalPort, CubesideNMSUtils, ViaVersion] +softdepend: [NBTAPI, CubesideStatistics] commands: hp: description: Verwalte die HP eines Spielers