diff --git a/pom.xml b/pom.xml
index e7944312..fb7e2b8c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,7 +64,7 @@
3.3.9
- 1.15.2-R0.1-SNAPSHOT
+ 1.16.1-R0.1-SNAPSHOT
AuthMe
diff --git a/src/main/java/fr/xephi/authme/initialization/OnStartupTasks.java b/src/main/java/fr/xephi/authme/initialization/OnStartupTasks.java
index 93cdd41b..9e57cbb5 100644
--- a/src/main/java/fr/xephi/authme/initialization/OnStartupTasks.java
+++ b/src/main/java/fr/xephi/authme/initialization/OnStartupTasks.java
@@ -17,6 +17,7 @@ import org.apache.logging.log4j.LogManager;
import org.bstats.bukkit.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
+import org.bukkit.scheduler.BukkitRunnable;
import javax.inject.Inject;
import java.util.List;
@@ -94,16 +95,19 @@ public class OnStartupTasks {
if (!settings.getProperty(RECALL_PLAYERS)) {
return;
}
- bukkitService.runTaskTimerAsynchronously(() -> {
- List loggedPlayersWithEmptyMail = dataSource.getLoggedPlayersWithEmptyMail();
- bukkitService.runTask(() -> {
- for (String playerWithoutMail : loggedPlayersWithEmptyMail) {
- Player player = bukkitService.getPlayerExact(playerWithoutMail);
- if (player != null) {
- messages.send(player, MessageKey.ADD_EMAIL_MESSAGE);
+ bukkitService.runTaskTimerAsynchronously(new BukkitRunnable() {
+ @Override
+ public void run() {
+ List loggedPlayersWithEmptyMail = dataSource.getLoggedPlayersWithEmptyMail();
+ bukkitService.runTask(() -> {
+ for (String playerWithoutMail : loggedPlayersWithEmptyMail) {
+ Player player = bukkitService.getPlayerExact(playerWithoutMail);
+ if (player != null) {
+ messages.send(player, MessageKey.ADD_EMAIL_MESSAGE);
+ }
}
- }
- });
+ });
+ }
}, 1, TICKS_PER_MINUTE * settings.getProperty(EmailSettings.DELAY_RECALL));
}
}
diff --git a/src/main/java/fr/xephi/authme/service/BukkitService.java b/src/main/java/fr/xephi/authme/service/BukkitService.java
index a6af581a..c5425b37 100644
--- a/src/main/java/fr/xephi/authme/service/BukkitService.java
+++ b/src/main/java/fr/xephi/authme/service/BukkitService.java
@@ -14,6 +14,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
+import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scheduler.BukkitScheduler;
import org.bukkit.scheduler.BukkitTask;
@@ -152,9 +153,10 @@ public class BukkitService implements SettingsDependent {
* @param period the ticks to wait between runs
* @return a BukkitTask that contains the id number
* @throws IllegalArgumentException if task is null
+ * @throws IllegalStateException if this was already scheduled
*/
- public BukkitTask runTaskTimerAsynchronously(Runnable task, long delay, long period) {
- return Bukkit.getScheduler().runTaskTimerAsynchronously(authMe, task, delay, period);
+ public BukkitTask runTaskTimerAsynchronously(BukkitRunnable task, long delay, long period) {
+ return task.runTaskTimerAsynchronously(authMe, delay, period);
}
/**
@@ -167,7 +169,6 @@ public class BukkitService implements SettingsDependent {
* @return a BukkitTask that contains the id number
* @throws IllegalArgumentException if plugin is null
* @throws IllegalStateException if this was already scheduled
- * @see BukkitScheduler#runTaskTimer(org.bukkit.plugin.Plugin, Runnable, long, long)
*/
public BukkitTask runTaskTimer(BukkitRunnable task, long delay, long period) {
return task.runTaskTimer(authMe, delay, period);
diff --git a/src/test/java/fr/xephi/authme/service/BukkitServiceTest.java b/src/test/java/fr/xephi/authme/service/BukkitServiceTest.java
index 031f3ed8..2e6ee72c 100644
--- a/src/test/java/fr/xephi/authme/service/BukkitServiceTest.java
+++ b/src/test/java/fr/xephi/authme/service/BukkitServiceTest.java
@@ -226,18 +226,21 @@ public class BukkitServiceTest {
@Test
public void shouldRunTaskTimerAsynchronously() {
// given
- Runnable task = () -> {/* */};
+ BukkitRunnable task = new BukkitRunnable() {
+ @Override
+ public void run() {
+ }
+ };
long delay = 20L;
long period = 4000L;
BukkitTask bukkitTask = mock(BukkitTask.class);
- given(scheduler.runTaskTimerAsynchronously(authMe, task, delay, period)).willReturn(bukkitTask);
+ given(task.runTaskTimerAsynchronously(authMe, delay, period)).willReturn(bukkitTask);
// when
BukkitTask resultingTask = bukkitService.runTaskTimerAsynchronously(task, delay, period);
// then
assertThat(resultingTask, equalTo(bukkitTask));
- verify(scheduler).runTaskTimerAsynchronously(authMe, task, delay, period);
}
@Test