9
0
mirror of https://github.com/Auxilor/EcoMobs.git synced 2025-12-19 23:19:17 +00:00

Merge remote-tracking branch 'origin/master'

This commit is contained in:
Auxilor
2021-09-16 18:13:24 +01:00
2 changed files with 17 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import com.google.common.collect.ImmutableMap;
import com.willfp.eco.core.EcoPlugin;
import com.willfp.eco.core.PluginDependent;
import com.willfp.eco.core.config.interfaces.Config;
import com.willfp.eco.core.integrations.placeholder.PlaceholderEntry;
import com.willfp.eco.core.items.Items;
import com.willfp.eco.core.items.builder.ItemBuilder;
import com.willfp.eco.core.items.builder.ItemStackBuilder;
@@ -26,6 +27,7 @@ import com.willfp.ecobosses.bosses.util.requirement.SpawnRequirement;
import com.willfp.ecobosses.bosses.util.requirement.SpawnRequirements;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
@@ -45,6 +47,8 @@ import org.bukkit.persistence.PersistentDataType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Base64;
@@ -263,6 +267,10 @@ public class EcoBoss extends PluginDependent<EcoPlugin> {
@Getter
private final int autoSpawnInterval;
@Getter
@Setter
private int timeUntilSpawn;
/**
* The time to live.
*/
@@ -483,6 +491,7 @@ public class EcoBoss extends PluginDependent<EcoPlugin> {
// Auto Spawn
this.autoSpawnInterval = this.getConfig().getInt("auto-spawn-interval");
this.timeUntilSpawn = this.autoSpawnInterval;
this.autoSpawnLocations = new ArrayList<>();
for (String string : this.getConfig().getStrings("auto-spawn-locations")) {
String[] split = string.split(":");
@@ -493,6 +502,11 @@ public class EcoBoss extends PluginDependent<EcoPlugin> {
autoSpawnLocations.add(new Location(world, x, y, z));
}
new PlaceholderEntry(
"timeuntilspawn_"+this.name,
(player) -> new BigDecimal(this.timeUntilSpawn/20).setScale(1, RoundingMode.HALF_UP).toString(),
false
).register();
for (String req : config.getStrings("spawn-requirements", false)) {
List<String> split = Arrays.asList(req.split(":"));

View File

@@ -45,9 +45,12 @@ public class AutoSpawnTimer implements Runnable {
continue;
}
boss.setTimeUntilSpawn(boss.getTimeUntilSpawn()-1);
if (tick % boss.getAutoSpawnInterval() == 0) {
Location location = locations.get(NumberUtils.randInt(0, locations.size() - 1));
boss.spawn(location);
boss.setTimeUntilSpawn(boss.getAutoSpawnInterval());
}
}
}