fixed multiple horde tasks being started
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user