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