update gradl

This commit is contained in:
Brian Neumann-Fopiano
2026-08-27 19:24:33 -04:00
parent 2b92fbf825
commit 1a561da2cd
2 changed files with 25 additions and 27 deletions
+10 -12
View File
@@ -64,22 +64,20 @@ content selecting on `#minecraft:is_overworld` and friends.
**Plugin (Paper/Purpur/Leaf/Canvas/Folia/Spigot):** drop the plugin jar into `plugins/` and start
the server. First boot performs no pack download. Run `/iris download pack=overworld`,
`/iris download pack=underworld`, or `/iris download link=https://host/path/pack.zip`, waiting for
each download to finish before starting another. The shipping Overworld declares Towns & Towers
26.1 and Dungeons & Taverns 5.3.0. With the default automatic ingest enabled, the first restart
after download installs those external datapacks and leaves admission restart-required; complete
the ensuing clean restart so Minecraft loads them together with the Iris dimension types and
biomes. If automatic ingest is disabled, run `/iris datapack ingest restart=true` instead and
complete the restart it requests. Plain Spigot supports ordinary managed `/iris create`, but not
each download to finish before starting another. The current built-in packs declare no external
datapack imports. Restart after download so Minecraft loads their dimension types and biomes.
Custom packs that declare `datapackImports` must complete their external-datapack installation and
registry restart first. Plain Spigot supports ordinary managed `/iris create`, but not
the early-bootstrap `/iris replace` path for canonical Overworld, Nether, or End slots.
**Mod (Fabric/Forge/NeoForge):** drop the mod jar into `mods/` and start the server. The jar is
self-contained (core, SPI, and required Fabric API modules are bundled). First boot compiles only
packs already on disk and never accesses the network. `/iris download` installs a pack atomically
without stopping the server. Before loading the shipping Overworld, manually place the exact
compatible Towns & Towers 26.1 and Dungeons & Taverns 5.3.0 archives in that save's `datapacks/`
directory; modded `/iris datapack ingest` is an explanatory stub and does not install them. Restart
once only after the Iris pack and both external datapacks are present. Packs register their custom
dimension types, height ranges, biomes, and external structure keys during that boot; worlds created
without stopping the server. The current built-in packs declare no external datapack imports.
Custom packs that declare them require compatible archives in that save's `datapacks/` directory;
modded `/iris datapack ingest` is an explanatory stub and does not install them. Restart only after
the Iris pack and all of its inputs are present. Packs register their custom dimension types,
height ranges, biomes, and external structure keys during that boot; worlds created
before it run with fallback registry data.
**Singleplayer (modded clients):** installed Iris packs appear as selectable World Types on the
@@ -237,7 +235,7 @@ Requirements: JDK 25 (set `JAVA_HOME` to it). The Gradle wrapper handles everyth
./gradlew buildAllToOut
```
builds every platform artifact into `dist/`:
builds every platform artifact into the workspace-level `../PluginOuts/` directory:
```
Iris v<version> [CraftBukkit] <mc>.jar
+15 -15
View File
@@ -75,6 +75,7 @@ String bukkitArtifactName = irisArtifactName('CraftBukkit', bukkitMinecraftRange
String fabricArtifactName = irisArtifactName('Fabric', "${minecraftVersion}+${loaderDisplayVersion(fabricLoaderVersion)}")
String forgeArtifactName = irisArtifactName('Forge', "${minecraftVersion}+${loaderDisplayVersion(forgeVersion)}")
String neoForgeArtifactName = irisArtifactName('NeoForge', "${minecraftVersion}+${loaderDisplayVersion(neoForgeVersion)}")
File pluginOutDirectory = layout.projectDirectory.dir('../PluginOuts').asFile
long maximumBukkitArtifactBytes = 7_000_000L
apply plugin: ApiGenerator
@@ -281,12 +282,12 @@ tasks.register('buildBukkit', Copy) {
group = 'iris'
dependsOn('jar')
from(layout.buildDirectory.file("libs/${bukkitArtifactName}"))
into(layout.projectDirectory.dir('dist'))
into(pluginOutDirectory)
doFirst {
delete(fileTree(layout.projectDirectory.dir('dist')) {
delete(fileTree(pluginOutDirectory) {
include('Iris v* [CraftBukkit] *.jar')
})
delete(layout.projectDirectory.file("dist/Iris-${project.version}+mc${minecraftVersion}.jar"))
delete(new File(pluginOutDirectory, "Iris-${project.version}+mc${minecraftVersion}.jar"))
}
}
@@ -384,12 +385,12 @@ tasks.register('buildFabric', Copy) {
group = 'iris'
dependsOn('fabricJar')
from(layout.projectDirectory.file("adapters/fabric/build/libs/${fabricArtifactName}"))
into(layout.projectDirectory.dir('dist'))
into(pluginOutDirectory)
doFirst {
delete(fileTree(layout.projectDirectory.dir('dist')) {
delete(fileTree(pluginOutDirectory) {
include('Iris v* [Fabric] *.jar')
})
delete(layout.projectDirectory.file("dist/Iris-${project.version}+mc${minecraftVersion}-fabric.jar"))
delete(new File(pluginOutDirectory, "Iris-${project.version}+mc${minecraftVersion}-fabric.jar"))
}
}
@@ -422,12 +423,12 @@ tasks.register('buildForge', Copy) {
group = 'iris'
dependsOn('forgeJar')
from(layout.projectDirectory.file("adapters/forge/build/libs/${forgeArtifactName}"))
into(layout.projectDirectory.dir('dist'))
into(pluginOutDirectory)
doFirst {
delete(fileTree(layout.projectDirectory.dir('dist')) {
delete(fileTree(pluginOutDirectory) {
include('Iris v* [Forge] *.jar')
})
delete(layout.projectDirectory.file("dist/Iris-${project.version}+mc${minecraftVersion}-forge.jar"))
delete(new File(pluginOutDirectory, "Iris-${project.version}+mc${minecraftVersion}-forge.jar"))
}
}
@@ -460,12 +461,12 @@ tasks.register('buildNeoforge', Copy) {
group = 'iris'
dependsOn('neoforgeJar')
from(layout.projectDirectory.file("adapters/neoforge/build/libs/${neoForgeArtifactName}"))
into(layout.projectDirectory.dir('dist'))
into(pluginOutDirectory)
doFirst {
delete(fileTree(layout.projectDirectory.dir('dist')) {
delete(fileTree(pluginOutDirectory) {
include('Iris v* [NeoForge] *.jar')
})
delete(layout.projectDirectory.file("dist/Iris-${project.version}+mc${minecraftVersion}-neoforge.jar"))
delete(new File(pluginOutDirectory, "Iris-${project.version}+mc${minecraftVersion}-neoforge.jar"))
}
}
@@ -650,10 +651,9 @@ tasks.register('buildAllToOut') {
group = 'iris'
dependsOn('buildBukkit', 'buildFabric', 'buildForge', 'buildNeoforge', ':spi:jar')
doLast {
File dist = layout.projectDirectory.dir('dist').asFile
File[] jars = dist.listFiles((java.io.FileFilter) { File f -> f.name.endsWith('.jar') })
File[] jars = pluginOutDirectory.listFiles((java.io.FileFilter) { File f -> f.name.startsWith('Iris v') && f.name.endsWith('.jar') })
println('')
println('=== Iris buildAllToOut -> dist/ ===')
println('=== Iris buildAllToOut -> ' + pluginOutDirectory + ' ===')
if (jars != null) {
jars.sort { it.name }.each { File f ->
println(String.format(' %-60s %8d KB', f.name, (long) (f.length() / 1024)))