Iris create now uses mv create

This commit is contained in:
Daniel Mills 2021-01-03 10:25:31 -05:00
parent 2915ef885e
commit fb07b280be

View File

@ -1,6 +1,7 @@
package com.volmit.iris.manager.command;
import com.volmit.iris.Iris;
import com.volmit.iris.manager.IrisDataManager;
import com.volmit.iris.nms.INMS;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.pregen.Pregenerator;
@ -33,7 +34,7 @@ public class CommandIrisCreate extends MortarCommand
{
if(args.length < 1)
{
sender.sendMessage("/iris create <NAME> [type=overworld] [seed=1337] [pregen=5000] [-zip]");
sender.sendMessage("/iris create <NAME> [type=overworld] [seed=1337] [pregen=5000]");
return true;
}
@ -41,8 +42,32 @@ public class CommandIrisCreate extends MortarCommand
String type = "overworld";
long seed = 1337;
int pregen = 0;
File folder = new File(worldName);
boolean multiverse = Iris.linkMultiverseCore.supported();
for(String i : args)
{
type = i.startsWith("type=") ? i.split("\\Q=\\E")[1] : type;
seed = i.startsWith("seed=") ? Long.valueOf(i.split("\\Q=\\E")[1]) : seed;
pregen = i.startsWith("pregen=") ? Integer.parseInt(i.split("\\Q=\\E")[1]) : pregen;
}
Iris.linkMultiverseCore.assignWorldType(worldName, type);
World world = null;
IrisDimension dim;
File folder = new File(worldName);
if(multiverse)
{
dim = IrisDataManager.loadAnyDimension(type);
String command = "mv create " + worldName + " " + Iris.linkMultiverseCore.envName(dim.getEnvironment());
command += " -s " + seed;
command += " -g Iris";
sender.sendMessage("Delegating " + command);
Bukkit.dispatchCommand(sender, command);
world= Bukkit.getWorld(worldName);
}
else
{
if(folder.exists())
{
sender.sendMessage("That world folder already exists!");
@ -52,14 +77,7 @@ public class CommandIrisCreate extends MortarCommand
File iris = new File(folder, "iris");
iris.mkdirs();
for(String i : args)
{
type = i.startsWith("type=") ? i.split("\\Q=\\E")[1] : type;
seed = i.startsWith("seed=") ? Long.valueOf(i.split("\\Q=\\E")[1]) : seed;
pregen = i.startsWith("pregen=") ? Integer.parseInt(i.split("\\Q=\\E")[1]) : pregen;
}
IrisDimension dim = Iris.proj.installIntoWorld(sender, type, folder);
dim = Iris.proj.installIntoWorld(sender, type, folder);
WorldCreator wc = new IrisWorldCreator().dimension(dim).name(worldName)
.productionMode().seed(seed).create();
@ -92,9 +110,12 @@ public class CommandIrisCreate extends MortarCommand
}
});
World world = INMS.get().createWorld(wc, false);
world = INMS.get().createWorld(wc, false);
done.set(true);
}
sender.sendMessage(worldName + " Spawn Area generated.");
O<Boolean> b = new O<Boolean>();
@ -104,7 +125,7 @@ public class CommandIrisCreate extends MortarCommand
{
b.set(false);
sender.sendMessage("Pregenerating " + worldName + " " + pregen + " x " + pregen);
sender.sendMessage("Expect Extreme server lag during this time. Use '/iris world pregen stop' to cancel");
sender.sendMessage("Expect server lag during this time. Use '/iris pregen stop' to cancel");
new Pregenerator(world, pregen, () ->
{
@ -114,13 +135,7 @@ public class CommandIrisCreate extends MortarCommand
IrisDimension dimm = dim;
long seedd = seed;
if(Iris.linkMultiverseCore.supported())
{
Iris.linkMultiverseCore.addWorld(worldName, dimm, seedd + "");
sender.sendMessage("Added " + worldName + " to MultiverseCore.");
}
World ww = world;
J.a(() ->
{
while(!b.get())
@ -128,9 +143,10 @@ public class CommandIrisCreate extends MortarCommand
J.sleep(1000);
}
Bukkit.getScheduler().scheduleSyncDelayedTask(Iris.instance, () ->
{
world.save();
ww.save();
sender.sendMessage("All Done!");
});
});
@ -141,6 +157,6 @@ public class CommandIrisCreate extends MortarCommand
@Override
protected String getArgsUsage()
{
return "<name> [type=overworld] [seed=1337] [pregen=5000] [-zip]";
return "<name> [type=overworld] [seed=1337] [pregen=5000]";
}
}