Better generating

This commit is contained in:
Daniel Mills 2021-07-16 00:50:53 -04:00
parent 695c4159dc
commit 5de5b6047a

View File

@ -176,7 +176,6 @@ public class IrisProject {
return; return;
} else if (sender.isPlayer()) { } else if (sender.isPlayer()) {
sender.player().setGameMode(GameMode.SPECTATOR); sender.player().setGameMode(GameMode.SPECTATOR);
sender.player().spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(C.BLUE + "Creating studio world. Please wait..."));
} }
J.attemptAsync(() -> J.attemptAsync(() ->
@ -191,11 +190,9 @@ public class IrisProject {
for (File i : Objects.requireNonNull(f.listFiles())) { for (File i : Objects.requireNonNull(f.listFiles())) {
if (i.getName().endsWith(".code-workspace")) { if (i.getName().endsWith(".code-workspace")) {
foundWork = true; foundWork = true;
sender.sendMessage("Updating Workspace...");
J.a(() -> J.a(() ->
{ {
updateWorkspace(); updateWorkspace();
sender.sendMessage("Workspace Updated");
}); });
if (IrisSettings.get().getStudio().isOpenVSCode()) { if (IrisSettings.get().getStudio().isOpenVSCode()) {
@ -220,9 +217,7 @@ public class IrisProject {
Iris.reportError(e1); Iris.reportError(e1);
e1.printStackTrace(); e1.printStackTrace();
} }
sender.sendMessage("Updating Workspace...");
updateWorkspace(); updateWorkspace();
sender.sendMessage("Workspace Updated");
} }
} catch (Throwable e) { } catch (Throwable e) {
Iris.reportError(e); Iris.reportError(e);
@ -239,7 +234,6 @@ public class IrisProject {
.create(); .create();
IrisAccess gx = ((IrisAccess) c.generator()); IrisAccess gx = ((IrisAccess) c.generator());
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;
@ -247,41 +241,32 @@ public class IrisProject {
J.a(() -> J.a(() ->
{ {
double last = 0; double last = 0;
int req = 300; int req = 900;
double lpc = 0;
boolean fc;
while (!done.get()) {
boolean derp = false;
while (gx.getGenerated() < req) {
assert gx != null; assert gx != null;
double v = (double) gx.getGenerated() / (double) req; double v = (double) gx.getGenerated() / (double) req;
fc = lpc != v;
lpc = v;
if (last > v || v > 1) { if(sender.isPlayer())
derp = true; {
v = last; sender.player().spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(C.WHITE + "Generating " + Form.pc(v) + ((C.GRAY + " (" + (req - gx.getGenerated()) + " Left)"))));
} else { J.sleep(50);
last = v;
} }
if (fc) { else
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) + ((C.GRAY + " (" + (req - gx.getGenerated()) + " Left)")));
J.sleep(1000);
} }
if (sender.isPlayer()) {
sender.player().spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(C.BLUE + "Creating studio world. Please wait..."));
}
J.sleep(1500);
if (gx.isFailing()) { if (gx.isFailing()) {
sender.sendMessage("Generation Failed!"); sender.sendMessage("Generation Failed!");
return; break;
} }
} }
sender.player().spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(C.WHITE + "Generation Complete"));
}); });
//@builder //@builder
@ -303,8 +288,6 @@ public class IrisProject {
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!");
if (sender.isPlayer()) { if (sender.isPlayer()) {
sender.player().setGameMode(GameMode.SPECTATOR); sender.player().setGameMode(GameMode.SPECTATOR);
} }