Add Folia support minus world generation

This commit is contained in:
2023-07-21 20:01:59 -05:00
parent 91a1b1cfff
commit 77dc95ae29
12 changed files with 77 additions and 39 deletions
@@ -2,12 +2,13 @@ package dev.plex.services.impl;
import dev.plex.Plex;
import dev.plex.services.AbstractService;
import dev.plex.util.PlexLog;
import io.papermc.paper.threadedregions.scheduler.ScheduledTask;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.entity.Entity;
import java.util.List;
public class AutoWipeService extends AbstractService
{
public AutoWipeService()
@@ -16,7 +17,7 @@ public class AutoWipeService extends AbstractService
}
@Override
public void run()
public void run(ScheduledTask task)
{
if (Plex.get().config.getBoolean("autowipe.enabled"))
{
@@ -28,13 +29,32 @@ public class AutoWipeService extends AbstractService
{
if (entities.stream().anyMatch(entityName -> entityName.equalsIgnoreCase(entity.getType().name())))
{
entity.remove();
Bukkit.getRegionScheduler().run(Plex.get(), entity.getLocation(), this::entityRun);
PlexLog.debug("Started entity scheduler");
}
}
}
}
}
private void entityRun(ScheduledTask task)
{
List<String> entities = plugin.config.getStringList("autowipe.entities");
for (World world : Bukkit.getWorlds())
{
for (Entity entity : world.getEntities())
{
if (entities.stream().anyMatch(entityName -> entityName.equalsIgnoreCase(entity.getType().name())))
{
PlexLog.debug("Removed entity " + entity.getName());
entity.remove();
task.cancel();
}
}
}
}
@Override
public int repeatInSeconds()
{
@@ -3,6 +3,7 @@ package dev.plex.services.impl;
import dev.plex.Plex;
import dev.plex.services.AbstractService;
import dev.plex.util.TimeUtils;
import io.papermc.paper.threadedregions.scheduler.ScheduledTask;
import net.kyori.adventure.text.Component;
import org.bukkit.Bukkit;
@@ -17,7 +18,7 @@ public class BanService extends AbstractService
}
@Override
public void run()
public void run(ScheduledTask task)
{
Plex.get().getPunishmentManager().getActiveBans().whenComplete((punishments, throwable) ->
{
@@ -5,6 +5,7 @@ import dev.plex.command.blocking.BlockedCommand;
import dev.plex.services.AbstractService;
import dev.plex.util.PlexLog;
import dev.plex.util.PlexUtils;
import io.papermc.paper.threadedregions.scheduler.ScheduledTask;
import lombok.Getter;
import org.bukkit.command.Command;
@@ -22,7 +23,7 @@ public class CommandBlockerService extends AbstractService
}
@Override
public void run()
public void run(ScheduledTask task)
{
BLOCKED_COMMANDS.clear();
plugin.commands.getStringList("commands").forEach(s ->
@@ -3,6 +3,7 @@ package dev.plex.services.impl;
import dev.plex.services.AbstractService;
import dev.plex.util.GameRuleUtil;
import dev.plex.util.PlexLog;
import io.papermc.paper.threadedregions.scheduler.ScheduledTask;
import org.bukkit.Bukkit;
import org.bukkit.World;
@@ -16,7 +17,7 @@ public class GameRuleService extends AbstractService
}
@Override
public void run()
public void run(ScheduledTask task)
{
for (World world : Bukkit.getWorlds())
{
@@ -7,6 +7,7 @@ import dev.plex.punishment.PunishmentType;
import dev.plex.services.AbstractService;
import dev.plex.util.PlexLog;
import dev.plex.util.TimeUtils;
import io.papermc.paper.threadedregions.scheduler.ScheduledTask;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@@ -26,7 +27,7 @@ public class TimingService extends AbstractService
}
@Override
public void run()
public void run(ScheduledTask task)
{
spamCooldown.clear();
nukerCooldown.clear();
@@ -1,6 +1,7 @@
package dev.plex.services.impl;
import dev.plex.services.AbstractService;
import io.papermc.paper.threadedregions.scheduler.ScheduledTask;
import org.bukkit.Bukkit;
public class UpdateCheckerService extends AbstractService
@@ -13,7 +14,7 @@ public class UpdateCheckerService extends AbstractService
}
@Override
public void run()
public void run(ScheduledTask task)
{
if (!newVersion)
{