Implement chunk serialization

This commit is contained in:
dfsek
2020-09-26 01:17:46 -07:00
parent f727e9d297
commit c8e564c2d3
19 changed files with 166 additions and 36 deletions

View File

@@ -2,10 +2,13 @@ package com.dfsek.terra;
import com.dfsek.terra.config.ConfigUtil;
import com.dfsek.terra.generation.TerraChunkGenerator;
import com.dfsek.terra.structure.StructureManager;
import com.mojang.brigadier.tree.LiteralCommandNode;
import me.lucko.commodore.Commodore;
import me.lucko.commodore.CommodoreProvider;
import me.lucko.commodore.file.CommodoreFileFormat;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.PluginCommand;
import org.bukkit.configuration.file.FileConfiguration;
@@ -15,10 +18,13 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.io.InputStream;
import java.util.Map;
import java.util.logging.Logger;
public class Terra extends JavaPlugin {
private static FileConfiguration config;
private static Terra instance;
private static StructureManager manager;
public static Terra getInstance() {
return instance;
@@ -26,13 +32,13 @@ public class Terra extends JavaPlugin {
@Override
public void onDisable() {
super.onDisable();
TerraChunkGenerator.saveAll();
}
@Override
public void onEnable() {
ConfigUtil.loadConfig(this);
//getCommand("terra").setExecutor(new TerraCommand());
manager = new StructureManager(this);
PluginCommand command = getCommand("terra");
command.setExecutor(new TerraCommand());
@@ -46,6 +52,7 @@ public class Terra extends JavaPlugin {
} else getLogger().severe("Brigadier is not properly supported! Commands will NOT work properly!");
saveDefaultConfig();
config = getConfig();
Bukkit.getScheduler().scheduleAsyncRepeatingTask(this, TerraChunkGenerator::saveAll, ConfigUtil.dataSave, ConfigUtil.dataSave);
instance = this;
}
@@ -60,6 +67,10 @@ public class Terra extends JavaPlugin {
}
}
public static StructureManager getStructureManager() {
return manager;
}
@Override
public @Nullable ChunkGenerator getDefaultWorldGenerator(@NotNull String worldName, @Nullable String id) {
return new TerraChunkGenerator();