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