Fix sync tasks not being sync

This commit is contained in:
dordsor21 2021-01-08 12:59:33 +00:00 committed by Alexander Söderberg
parent 0a5c73478d
commit 7ac3f7ca03
6 changed files with 26 additions and 23 deletions

View File

@ -333,7 +333,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
// Economy // Economy
if (Settings.Enabled_Components.ECONOMY) { if (Settings.Enabled_Components.ECONOMY) {
TaskManager.runTask(() -> { TaskManager.runTaskAsync(() -> {
this.permissionHandler().initialize(); this.permissionHandler().initialize();
final EconHandler econHandler = injector().getInstance(EconHandler.class); final EconHandler econHandler = injector().getInstance(EconHandler.class);
econHandler.init(); econHandler.init();

View File

@ -40,9 +40,10 @@ import com.plotsquared.core.plot.PlotAreaType;
import com.plotsquared.core.plot.world.PlotAreaManager; import com.plotsquared.core.plot.world.PlotAreaManager;
import com.plotsquared.core.setup.PlotAreaBuilder; import com.plotsquared.core.setup.PlotAreaBuilder;
import com.plotsquared.core.util.SetupUtils; import com.plotsquared.core.util.SetupUtils;
import io.papermc.lib.PaperLib; import com.plotsquared.core.util.task.TaskManager;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Chunk; import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.ChunkGenerator;
@ -97,24 +98,26 @@ import java.util.Objects;
} }
@Override public void unload(String worldName, boolean save) { @Override public void unload(String worldName, boolean save) {
World world = Bukkit.getWorld(worldName); TaskManager.runTask(() -> {
if (world == null) { World world = Bukkit.getWorld(worldName);
return; if (world == null) {
} return;
World dw = Bukkit.getWorlds().get(0);
for (Player player : world.getPlayers()) {
PaperLib.teleportAsync(player, dw.getSpawnLocation());
}
if (save) {
for (Chunk chunk : world.getLoadedChunks()) {
chunk.unload(true);
} }
} else { Location location = Bukkit.getWorlds().get(0).getSpawnLocation();
for (Chunk chunk : world.getLoadedChunks()) { for (Player player : world.getPlayers()) {
chunk.unload(false); player.teleport(location);
} }
} if (save) {
Bukkit.unloadWorld(world, false); for (Chunk chunk : world.getLoadedChunks()) {
chunk.unload(true);
}
} else {
for (Chunk chunk : world.getLoadedChunks()) {
chunk.unload(false);
}
}
Bukkit.unloadWorld(world, false);
});
} }
@Override public String setupWorld(PlotAreaBuilder builder) { @Override public String setupWorld(PlotAreaBuilder builder) {

View File

@ -92,7 +92,7 @@ import java.util.concurrent.TimeUnit;
} }
@Override public void task(@Nonnull final Runnable runnable) { @Override public void task(@Nonnull final Runnable runnable) {
new BukkitPlotSquaredTask(runnable).runTaskAsynchronously(this.bukkitMain); new BukkitPlotSquaredTask(runnable).runTask(this.bukkitMain);
} }
@Override public void taskLater(@Nonnull final Runnable runnable, @Override public void taskLater(@Nonnull final Runnable runnable,

View File

@ -387,7 +387,7 @@ public class PlotSquared {
if (!file.exists()) { if (!file.exists()) {
return; return;
} }
TaskManager.runTask(() -> { TaskManager.runTaskAsync(() -> {
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file))) { try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file))) {
List<Object> list = (List<Object>) ois.readObject(); List<Object> list = (List<Object>) ois.readObject();
ArrayList<int[]> regionInts = (ArrayList<int[]>) list.get(0); ArrayList<int[]> regionInts = (ArrayList<int[]>) list.get(0);

View File

@ -47,7 +47,7 @@ public class Confirm extends SubCommand {
player.sendMessage(TranslatableCaption.of("confirm.expired_confirm")); player.sendMessage(TranslatableCaption.of("confirm.expired_confirm"));
return false; return false;
} }
TaskManager.runTask(command.command); TaskManager.runTaskAsync(command.command);
return true; return true;
} }
} }

View File

@ -210,7 +210,7 @@ public abstract class SchematicHandler {
} }
this.exportAll = true; this.exportAll = true;
final ArrayList<Plot> plots = new ArrayList<>(collection); final ArrayList<Plot> plots = new ArrayList<>(collection);
TaskManager.runTask(new Runnable() { TaskManager.runTaskAsync(new Runnable() {
@Override public void run() { @Override public void run() {
if (plots.isEmpty()) { if (plots.isEmpty()) {
SchematicHandler.this.exportAll = false; SchematicHandler.this.exportAll = false;
@ -637,7 +637,7 @@ public abstract class SchematicHandler {
ByteArrayOutputStream buffer = new ByteArrayOutputStream(width * height * length); ByteArrayOutputStream buffer = new ByteArrayOutputStream(width * height * length);
ByteArrayOutputStream biomeBuffer = new ByteArrayOutputStream(width * length); ByteArrayOutputStream biomeBuffer = new ByteArrayOutputStream(width * length);
// Queue // Queue
TaskManager.runTask(() -> { TaskManager.runTaskAsync(() -> {
final BlockVector3 minimum = aabb.getMinimumPoint(); final BlockVector3 minimum = aabb.getMinimumPoint();
final BlockVector3 maximum = aabb.getMaximumPoint(); final BlockVector3 maximum = aabb.getMaximumPoint();