From 263fd85df73e4582915157c00ae51f216ae36123 Mon Sep 17 00:00:00 2001 From: lars Date: Sun, 19 Oct 2025 18:56:12 +0200 Subject: [PATCH] fixed multiple horde tasks being started --- .../appliances/gameplay/bloodmoon/Bloodmoon.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/bloodmoon/Bloodmoon.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/bloodmoon/Bloodmoon.java index 7771266..41ee3da 100644 --- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/bloodmoon/Bloodmoon.java +++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/bloodmoon/Bloodmoon.java @@ -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;