Hydrology Fix, and V+

This commit is contained in:
Brian Neumann-Fopiano committed 2026-09-15 23:01:56 -04:00
1 parent dfb3748059
commit 1e1eaa96aa
137 files changed
+8842 -711

No files matched your search

@@ -640,6 +640,7 @@ public class Iris extends VolmitPlugin implements Listener, ReloadAware {
generatorDrainCompleted = false;
deferredShutdownGenerators.clear();
MultiBurst.burst.reopen();
MultiBurst.hydrology.reopen();
MultiBurst.ioBurst.reopen();
IrisLanguage.initialize();
debugDump = BukkitDebugDump.create(this, new BukkitDebugDump.Options(
@@ -1106,6 +1107,12 @@ public class Iris extends VolmitPlugin implements Listener, ReloadAware {
runtimeTeardownFailed.set(true);
Iris.reportError("Failed to close Iris generation workers.", failure);
}
try {
MultiBurst.hydrology.close();
} catch (Throwable failure) {
runtimeTeardownFailed.set(true);
Iris.reportError("Failed to close Iris hydrology workers.", failure);
}
try {
MultiBurst.ioBurst.close();
} catch (Throwable failure) {
@@ -1273,7 +1280,8 @@ public class Iris extends VolmitPlugin implements Listener, ReloadAware {
}
private boolean hasActiveShutdownResources() {
if (!MultiBurst.burst.isTerminated() || !MultiBurst.ioBurst.isTerminated()) {
if (!MultiBurst.burst.isTerminated() || !MultiBurst.hydrology.isTerminated()
|| !MultiBurst.ioBurst.isTerminated()) {
return true;
}
return services != null
@@ -176,15 +176,16 @@ public final class PendingWorldReplacementManager implements Listener {
seedSelection
);
progress.stage(RuntimeProgressMessages.WORLD_REPLACE_STAGE_PACK);
IrisDimension installed = Iris.service(StudioSVC.class).installIntoWorld(
StudioSVC.GenerationPublication publication = Iris.service(StudioSVC.class).installIntoWorld(
requiredSender,
requiredDimension,
paths.stage().toFile(),
effectiveSeed
);
if (installed == null) {
if (publication == null) {
throw new IOException("Iris could not stage the dimension pack.");
}
IrisDimension installed = publication.dimension();
requireCompatibleEnvironment(target.slotKind(), installed.getEnvironment());
if (target.slotKind() == SlotKind.VANILLA_OVERWORLD) {
progress.stage(RuntimeProgressMessages.WORLD_REPLACE_STAGE_PLAYERS);