mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 10:12:53 +00:00
Prep for async prepare
This commit is contained in:
parent
1421869094
commit
4445121023
@ -134,84 +134,86 @@ public class IrisProject
|
|||||||
.seed(1337)
|
.seed(1337)
|
||||||
.name(wfp)
|
.name(wfp)
|
||||||
.studioMode()
|
.studioMode()
|
||||||
|
.asyncPrepare()
|
||||||
.create();
|
.create();
|
||||||
IrisAccess gx = ((IrisAccess)c.generator());
|
IrisAccess gx = ((IrisAccess)c.generator());
|
||||||
sender.sendMessage("Generating with " + Iris.getThreadCount() + " threads per chunk");
|
sender.sendMessage("Generating with " + Iris.getThreadCount() + " threads per chunk");
|
||||||
O<Boolean> done = new O<>();
|
O<Boolean> done = new O<>();
|
||||||
done.set(false);
|
done.set(false);
|
||||||
activeProvider = gx;
|
activeProvider = gx;
|
||||||
|
|
||||||
J.a(() ->
|
J.a(() ->
|
||||||
{
|
{
|
||||||
double last = 0;
|
double last = 0;
|
||||||
int req = 300;
|
int req = 300;
|
||||||
double lpc = 0;
|
double lpc = 0;
|
||||||
boolean fc;
|
boolean fc;
|
||||||
|
|
||||||
while(!done.get())
|
while(!done.get())
|
||||||
{
|
{
|
||||||
boolean derp = false;
|
boolean derp = false;
|
||||||
|
|
||||||
assert gx != null;
|
assert gx != null;
|
||||||
double v = (double) gx.getGenerated() / (double) req;
|
double v = (double) gx.getGenerated() / (double) req;
|
||||||
fc = lpc != v;
|
fc = lpc != v;
|
||||||
lpc = v;
|
lpc = v;
|
||||||
|
|
||||||
if(last > v || v > 1)
|
if(last > v || v > 1)
|
||||||
{
|
{
|
||||||
derp = true;
|
derp = true;
|
||||||
v = last;
|
v = last;
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
last = v;
|
last = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(fc)
|
if(fc)
|
||||||
{
|
{
|
||||||
sender.sendMessage(C.WHITE + "Generating " + Form.pc(v) + (derp ? (C.GRAY + " (Waiting on Server...)") : (C.GRAY + " (" + (req - gx.getGenerated()) + " Left)")));
|
sender.sendMessage(C.WHITE + "Generating " + Form.pc(v) + (derp ? (C.GRAY + " (Waiting on Server...)") : (C.GRAY + " (" + (req - gx.getGenerated()) + " Left)")));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sender.isPlayer()){
|
if (sender.isPlayer()){
|
||||||
sender.player().spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(C.BLUE + "Creating studio world. Please wait..."));
|
sender.player().spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(C.BLUE + "Creating studio world. Please wait..."));
|
||||||
}
|
}
|
||||||
|
|
||||||
J.sleep(1500);
|
J.sleep(1500);
|
||||||
|
|
||||||
if(gx.isFailing())
|
if(gx.isFailing())
|
||||||
{
|
{
|
||||||
|
|
||||||
sender.sendMessage("Generation Failed!");
|
sender.sendMessage("Generation Failed!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//@builder
|
//@builder
|
||||||
World world = c.createWorld();
|
World world = c.createWorld();
|
||||||
Iris.linkMultiverseCore.removeFromConfig(world);
|
Iris.linkMultiverseCore.removeFromConfig(world);
|
||||||
|
|
||||||
done.set(true);
|
done.set(true);
|
||||||
sender.sendMessage(C.WHITE + "Generating Complete!");
|
sender.sendMessage(C.WHITE + "Generating Complete!");
|
||||||
|
|
||||||
if(sender.isPlayer())
|
if(sender.isPlayer())
|
||||||
{
|
{
|
||||||
assert world != null;
|
assert world != null;
|
||||||
sender.player().teleport(world.getSpawnLocation());
|
sender.player().teleport(world.getSpawnLocation());
|
||||||
}
|
}
|
||||||
|
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(Iris.instance, () ->
|
Bukkit.getScheduler().scheduleSyncDelayedTask(Iris.instance, () ->
|
||||||
{
|
{
|
||||||
sender.sendMessage("Hotloading Active! Change any files and watch your changes appear as you load new chunks!");
|
sender.sendMessage("Hotloading Active! Change any files and watch your changes appear as you load new chunks!");
|
||||||
|
|
||||||
if(sender.isPlayer())
|
if(sender.isPlayer())
|
||||||
{
|
{
|
||||||
sender.player().setGameMode(GameMode.SPECTATOR);
|
sender.player().setGameMode(GameMode.SPECTATOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onDone.run();
|
||||||
|
}, 0);
|
||||||
|
|
||||||
onDone.run();
|
|
||||||
}, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void close()
|
public void close()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user