mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2024-11-02 16:59:56 +01:00
Made CustomGenerators up to spec
This commit is contained in:
parent
ca8a017d32
commit
358dab345a
@ -79,7 +79,7 @@ public class MVWorld {
|
||||
this.setRealMobBehaviors();
|
||||
|
||||
config.setProperty("worlds." + this.name + ".environment", this.environment.toString());
|
||||
config.setProperty("worlds." + this.name + ".generatorString",generatorString);
|
||||
config.setProperty("worlds." + this.name + ".generator",generatorString);
|
||||
if (seed != null) {
|
||||
config.setProperty("worlds." + this.name + ".seed", this.seed);
|
||||
}
|
||||
|
@ -86,7 +86,7 @@ public class MultiverseCore extends JavaPlugin {
|
||||
|
||||
// Setup the block/player/entity listener.
|
||||
private MVPlayerListener playerListener = new MVPlayerListener(this);;
|
||||
@SuppressWarnings("unused")
|
||||
|
||||
private MVBlockListener blockListener = new MVBlockListener(this);
|
||||
private MVEntityListener entityListener = new MVEntityListener(this);
|
||||
private MVPluginListener pluginListener = new MVPluginListener(this);
|
||||
@ -329,10 +329,9 @@ public class MultiverseCore extends JavaPlugin {
|
||||
|
||||
log(Level.INFO, "Loading World & Settings - '" + worldKey + "' - " + environment);
|
||||
|
||||
String generator = this.configWorlds.getString("worlds." + worldKey + ".generator.name");
|
||||
String generatorID = this.configWorlds.getString("worlds." + worldKey + ".generator.id");
|
||||
String generatorstring = this.configWorlds.getString("worlds." + worldKey + ".generator");
|
||||
|
||||
addWorld(worldKey, getEnvFromString(environment), seedString, generator + ":" + generatorID);
|
||||
addWorld(worldKey, getEnvFromString(environment), seedString, generatorstring);
|
||||
|
||||
// Increment the world count
|
||||
count++;
|
||||
@ -390,7 +389,7 @@ public class MultiverseCore extends JavaPlugin {
|
||||
* @param environment Environment Type
|
||||
*/
|
||||
public boolean addWorld(String name, Environment env, String seedString, String generator) {
|
||||
|
||||
this.debugLog(Level.CONFIG, "Adding world with: " + name + ", " + env.toString() + ", " + seedString + ", " + generator);
|
||||
Long seed = null;
|
||||
if (seedString != null && seedString.length() > 0) {
|
||||
try {
|
||||
@ -410,6 +409,18 @@ public class MultiverseCore extends JavaPlugin {
|
||||
}
|
||||
|
||||
ChunkGenerator customGenerator = getChunkGenerator(generatorName, generatorID, name);
|
||||
|
||||
if (customGenerator == null && generator != null && !generator.isEmpty()) {
|
||||
if(!pluginExists(generatorName)) {
|
||||
log(Level.WARNING, "Could not find plugin: " + generatorName);
|
||||
} else {
|
||||
log(Level.WARNING, "Found plugin: " + generatorName + ", but did not find generatorID: " + generatorID);
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
World world = null;
|
||||
if (seed != null) {
|
||||
if (customGenerator != null) {
|
||||
@ -432,6 +443,10 @@ public class MultiverseCore extends JavaPlugin {
|
||||
return true;
|
||||
|
||||
}
|
||||
private boolean pluginExists(String generator) {
|
||||
Plugin plugin = getServer().getPluginManager().getPlugin(generator);
|
||||
return plugin != null;
|
||||
}
|
||||
|
||||
private ChunkGenerator getChunkGenerator(String generator, String generatorID, String worldName) {
|
||||
if (generator == null) {
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.onarandombox.MultiverseCore.command.commands;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.World.Environment;
|
||||
@ -17,7 +18,7 @@ public class CreateCommand extends BaseCommand {
|
||||
this.description = "Creates a new world of the specified type";
|
||||
this.usage = "/mvcreate" + ChatColor.GREEN + " {NAME} {TYPE}" + ChatColor.GOLD + " -s [SEED] -g [GENERATOR[:GENID]]";
|
||||
this.minArgs = 2;
|
||||
this.maxArgs = 4;
|
||||
this.maxArgs = 6;
|
||||
this.identifiers.add("mvcreate");
|
||||
this.permission = "multiverse.world.create";
|
||||
this.requiresOp = true;
|
||||
@ -26,11 +27,16 @@ public class CreateCommand extends BaseCommand {
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String[] args) {
|
||||
if(args.length %2 != 0) {
|
||||
sender.sendMessage("You must preface your SEED with -s OR your GENERATOR with -g. Type /mv for help");
|
||||
return;
|
||||
}
|
||||
String worldName = args[0];
|
||||
String env = args[1];
|
||||
String seed = this.getFlag("-s", args);
|
||||
String generator = this.getFlag("-g", args);
|
||||
|
||||
|
||||
if (new File(worldName).exists() || this.plugin.isMVWorld(worldName)) {
|
||||
sender.sendMessage(ChatColor.RED + "A Folder/World already exists with this name!");
|
||||
sender.sendMessage(ChatColor.RED + "If you are confident it is a world you can import with /mvimport");
|
||||
@ -38,7 +44,7 @@ public class CreateCommand extends BaseCommand {
|
||||
}
|
||||
|
||||
Environment environment = this.plugin.getEnvFromString(env);
|
||||
|
||||
sender.sendMessage(ChatColor.AQUA + "Starting world creation...");
|
||||
if (this.plugin.addWorld(worldName, environment, seed, generator)) {
|
||||
sender.sendMessage(ChatColor.GREEN + "Complete!");
|
||||
} else {
|
||||
@ -60,7 +66,8 @@ public class CreateCommand extends BaseCommand {
|
||||
try {
|
||||
for (String s : args) {
|
||||
if (s.equalsIgnoreCase(flag)) {
|
||||
return args[i++];
|
||||
this.plugin.debugLog(Level.CONFIG, args[i+1]);
|
||||
return args[i+1];
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user