Add more world generators
This commit is contained in:
parent
6fb2e2769e
commit
087f25b23a
|
|
@ -1,15 +1,28 @@
|
||||||
package com.alttd.cometskyblock;
|
package com.alttd.cometskyblock;
|
||||||
|
|
||||||
|
import com.alttd.cometskyblock.configuration.*;
|
||||||
import com.alttd.cometskyblock.listeners.PlayerJoinListener;
|
import com.alttd.cometskyblock.listeners.PlayerJoinListener;
|
||||||
import com.alttd.cometskyblock.worldgenerator.IslandGenerator;
|
import com.alttd.cometskyblock.managers.IslandManager;
|
||||||
|
import com.alttd.cometskyblock.worldgenerator.MasterWorldGenerator;
|
||||||
|
import lombok.Getter;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.plugin.PluginManager;
|
import org.bukkit.plugin.PluginManager;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
|
||||||
|
import java.nio.file.Path;
|
||||||
|
|
||||||
public class CometSkyBlockPlugin extends JavaPlugin implements CometSkyBlockAPI {
|
public class CometSkyBlockPlugin extends JavaPlugin implements CometSkyBlockAPI {
|
||||||
|
|
||||||
private static CometSkyBlockPlugin instance;
|
@Getter private static CometSkyBlockPlugin instance;
|
||||||
|
|
||||||
|
@Getter private ConfigurationContainer<PluginConfiguration> pluginConfiguration;
|
||||||
|
@Getter private ConfigurationContainer<DatabaseConfiguration> databaseConfiguration;
|
||||||
|
@Getter private ConfigurationContainer<MessageConfiguration> messagesConfiguration;
|
||||||
|
@Getter private ConfigurationContainer<ChallengesConfiguration> challengesConfiguration;
|
||||||
|
|
||||||
|
@Getter private IslandManager islandManager;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoad() {
|
public void onLoad() {
|
||||||
|
|
@ -19,19 +32,56 @@ public class CometSkyBlockPlugin extends JavaPlugin implements CometSkyBlockAPI
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
String island = "Island";
|
// Load configurations
|
||||||
World world = Bukkit.getWorld(island);
|
loadConfiguration();
|
||||||
if (world == null) {
|
|
||||||
new IslandGenerator(instance).create(island);
|
|
||||||
}
|
|
||||||
|
|
||||||
final PluginManager pm = getServer().getPluginManager();
|
// Load commands
|
||||||
pm.registerEvents(new PlayerJoinListener(this), this);
|
loadCommands();
|
||||||
|
|
||||||
|
// Load event listeners
|
||||||
|
loadEventListeners();
|
||||||
|
|
||||||
|
// load data from storage
|
||||||
|
|
||||||
|
// run cleanup tasks
|
||||||
|
// CleanupAndDeleteOldIslands and playerdata
|
||||||
|
|
||||||
|
// load worlds & manager
|
||||||
|
islandManager = new IslandManager(this);
|
||||||
|
|
||||||
|
//
|
||||||
|
World world = Bukkit.getWorld(MasterWorldGenerator.WORLD_NAME);
|
||||||
|
if (world == null) {
|
||||||
|
MasterWorldGenerator masterWorldGenerator = new MasterWorldGenerator(this);
|
||||||
|
masterWorldGenerator.checkMasterIslandWorld();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
|
// Cancel all running tasks
|
||||||
|
getServer().getScheduler().cancelTasks(this);
|
||||||
|
|
||||||
|
// close data connection
|
||||||
|
}
|
||||||
|
|
||||||
|
public void loadConfiguration() {
|
||||||
|
Path path = this.getDataFolder().toPath();
|
||||||
|
Logger logger = this.getSLF4JLogger();
|
||||||
|
pluginConfiguration = ConfigurationContainer.load(logger, path, PluginConfiguration.class, "config");
|
||||||
|
databaseConfiguration = ConfigurationContainer.load(logger, path, DatabaseConfiguration.class, "database");
|
||||||
|
messagesConfiguration = ConfigurationContainer.load(logger, path, MessageConfiguration.class, "messages");
|
||||||
|
challengesConfiguration = ConfigurationContainer.load(logger, path, ChallengesConfiguration.class, "challenges");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void loadCommands() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void loadEventListeners() {
|
||||||
|
// TODO - Use reflection to load all of these
|
||||||
|
final PluginManager pm = getServer().getPluginManager();
|
||||||
|
pm.registerEvents(new PlayerJoinListener(this), this);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.alttd.cometskyblock.worldgenerator;
|
||||||
|
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.generator.BlockPopulator;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class CometNetherGenerator extends CometVoidGenerator {
|
||||||
|
@Override
|
||||||
|
public @NotNull List<BlockPopulator> getDefaultPopulators(World world) {
|
||||||
|
List<BlockPopulator> populators = new ArrayList<>(1);
|
||||||
|
populators.add(new NetherIslandGenerator());
|
||||||
|
return populators;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -9,7 +9,6 @@ import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
public class CometVoidGenerator extends ChunkGenerator {
|
public class CometVoidGenerator extends ChunkGenerator {
|
||||||
|
|
||||||
|
|
@ -18,10 +17,6 @@ public class CometVoidGenerator extends ChunkGenerator {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void generateSurface(@NotNull WorldInfo info, @NotNull Random random, int x, int z, @NotNull ChunkData data) {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BiomeProvider getDefaultBiomeProvider(WorldInfo worldInfo) {
|
public BiomeProvider getDefaultBiomeProvider(WorldInfo worldInfo) {
|
||||||
return worldInfo.vanillaBiomeProvider();
|
return worldInfo.vanillaBiomeProvider();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.alttd.cometskyblock.worldgenerator;
|
||||||
|
|
||||||
|
import org.bukkit.generator.BlockPopulator;
|
||||||
|
import org.bukkit.generator.LimitedRegion;
|
||||||
|
import org.bukkit.generator.WorldInfo;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class NetherIslandGenerator extends BlockPopulator {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void populate(@NotNull WorldInfo worldInfo, @NotNull Random random, int x, int z, @NotNull LimitedRegion limitedRegion) {
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user