diff --git a/core/src/main/java/com/volmit/iris/engine/IrisEngine.java b/core/src/main/java/com/volmit/iris/engine/IrisEngine.java index 00232dcc1..9839a7ff6 100644 --- a/core/src/main/java/com/volmit/iris/engine/IrisEngine.java +++ b/core/src/main/java/com/volmit/iris/engine/IrisEngine.java @@ -173,6 +173,7 @@ public class IrisEngine implements Engine { effects = new IrisEngineEffects(this); hash32 = new CompletableFuture<>(); setupMode(); + getDimension().getSetupScripts().forEach(execution::execute); J.a(this::computeBiomeMaxes); J.a(() -> { File[] roots = getData().getLoaders() diff --git a/core/src/main/java/com/volmit/iris/engine/object/IrisDimension.java b/core/src/main/java/com/volmit/iris/engine/object/IrisDimension.java index a765e167a..e2ac178b9 100644 --- a/core/src/main/java/com/volmit/iris/engine/object/IrisDimension.java +++ b/core/src/main/java/com/volmit/iris/engine/object/IrisDimension.java @@ -250,6 +250,10 @@ public class IrisDimension extends IrisRegistrant { @Desc("A list of globally applied pre-processors") @ArrayType(type = IrisPreProcessors.class) private KList globalPreProcessors = new KList<>(); + @Desc("A list of scripts executed on engine setup") + @RegistryListResource(IrisScript.class) + @ArrayType(type = String.class, min = 1) + private KList setupScripts = new KList<>(); public int getMaxHeight() { return (int) getDimensionHeight().getMax();