create TaskScheduler

This commit is contained in:
dfsek
2021-04-21 15:37:10 -07:00
parent 901677d2c3
commit 5821302eb8
9 changed files with 127 additions and 1 deletions

View File

@@ -18,6 +18,7 @@ import com.dfsek.terra.api.platform.world.Biome;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.registry.LockedRegistry;
import com.dfsek.terra.api.task.TaskScheduler;
import com.dfsek.terra.api.util.logging.DebugLogger;
import com.dfsek.terra.api.util.logging.JavaLogger;
import com.dfsek.terra.api.util.logging.Logger;
@@ -32,6 +33,7 @@ import com.dfsek.terra.bukkit.listeners.CommonListener;
import com.dfsek.terra.bukkit.listeners.PaperListener;
import com.dfsek.terra.bukkit.listeners.SpigotListener;
import com.dfsek.terra.bukkit.listeners.TerraListener;
import com.dfsek.terra.bukkit.task.BukkitTaskScheduler;
import com.dfsek.terra.bukkit.util.PaperUtil;
import com.dfsek.terra.bukkit.world.BukkitBiome;
import com.dfsek.terra.commands.CommandUtil;
@@ -64,6 +66,8 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
private final Map<World, TerraWorld> worldMap = new HashMap<>();
private final Map<String, ConfigPack> worlds = new HashMap<>();
private final TaskScheduler scheduler = new BukkitTaskScheduler(this);
private final ConfigRegistry registry = new ConfigRegistry();
private final CheckedRegistry<ConfigPack> checkedRegistry = new CheckedRegistry<>(registry);
@@ -141,6 +145,11 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
Bukkit.getScheduler().runTask(this, task);
}
@Override
public TaskScheduler getScheduler() {
return scheduler;
}
@Override
public void onDisable() {
BukkitChunkGeneratorWrapper.saveAll();

View File

@@ -0,0 +1,33 @@
package com.dfsek.terra.bukkit.task;
import com.dfsek.terra.api.task.TaskScheduler;
import com.dfsek.terra.bukkit.TerraBukkitPlugin;
import org.bukkit.Bukkit;
public class BukkitTaskScheduler implements TaskScheduler {
private final TerraBukkitPlugin plugin;
public BukkitTaskScheduler(TerraBukkitPlugin plugin) {
this.plugin = plugin;
}
@Override
public void runTaskAsynchronously(Runnable task, long ticks) {
Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, task, ticks);
}
@Override
public void runTask(Runnable task, long ticks) {
Bukkit.getScheduler().runTaskLater(plugin, task, ticks);
}
@Override
public void runTask(Runnable task) {
Bukkit.getScheduler().runTask(plugin, task);
}
@Override
public void runTaskAsynchronously(Runnable task) {
Bukkit.getScheduler().runTask(plugin, task);
}
}