fixed multiple horde tasks being started

This commit is contained in:
2025-10-19 18:56:12 +02:00
parent d70b025502
commit 263fd85df7

View File

@@ -20,7 +20,9 @@ import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.inventory.ItemStack;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.scheduler.BukkitTask;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.*;
import java.util.concurrent.ThreadLocalRandom;
@@ -82,6 +84,7 @@ public class Bloodmoon extends Appliance {
EntityType.SKELETON,
EntityType.SPIDER
);
private @Nullable BukkitTask hordeSpawnTask = null;
private final int bloodmoonLegth = 12000;
private final int bloodmoonStartTime = 12000;
private final int daysBetweenBloodmoons = 1;
@@ -115,7 +118,8 @@ public class Bloodmoon extends Appliance {
}
private void startHordeSpawning(int delay) {
Bukkit.getScheduler().runTaskLater(
if(this.hordeSpawnTask != null) this.hordeSpawnTask.cancel();
this.hordeSpawnTask = Bukkit.getScheduler().runTaskLater(
Main.instance(),
() -> {
if(!this.bloodmoonIsActive()) return;