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 **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`, 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 `/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 each download to finish before starting another. The current built-in packs declare no external
26.1 and Dungeons & Taverns 5.3.0. With the default automatic ingest enabled, the first restart datapack imports. Restart after download so Minecraft loads their dimension types and biomes.
after download installs those external datapacks and leaves admission restart-required; complete Custom packs that declare `datapackImports` must complete their external-datapack installation and
the ensuing clean restart so Minecraft loads them together with the Iris dimension types and registry restart first. Plain Spigot supports ordinary managed `/iris create`, but not
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
the early-bootstrap `/iris replace` path for canonical Overworld, Nether, or End slots. 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 **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 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 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 without stopping the server. The current built-in packs declare no external datapack imports.
compatible Towns & Towers 26.1 and Dungeons & Taverns 5.3.0 archives in that save's `datapacks/` Custom packs that declare them require compatible archives in that save's `datapacks/` directory;
directory; modded `/iris datapack ingest` is an explanatory stub and does not install them. Restart modded `/iris datapack ingest` is an explanatory stub and does not install them. Restart only after
once only after the Iris pack and both external datapacks are present. Packs register their custom the Iris pack and all of its inputs are present. Packs register their custom dimension types,
dimension types, height ranges, biomes, and external structure keys during that boot; worlds created height ranges, biomes, and external structure keys during that boot; worlds created
before it run with fallback registry data. before it run with fallback registry data.
**Singleplayer (modded clients):** installed Iris packs appear as selectable World Types on the **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 ./gradlew buildAllToOut
``` ```
builds every platform artifact into `dist/`: builds every platform artifact into the workspace-level `../PluginOuts/` directory:
``` ```
Iris v<version> [CraftBukkit] <mc>.jar 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 fabricArtifactName = irisArtifactName('Fabric', "${minecraftVersion}+${loaderDisplayVersion(fabricLoaderVersion)}")
String forgeArtifactName = irisArtifactName('Forge', "${minecraftVersion}+${loaderDisplayVersion(forgeVersion)}") String forgeArtifactName = irisArtifactName('Forge', "${minecraftVersion}+${loaderDisplayVersion(forgeVersion)}")
String neoForgeArtifactName = irisArtifactName('NeoForge', "${minecraftVersion}+${loaderDisplayVersion(neoForgeVersion)}") String neoForgeArtifactName = irisArtifactName('NeoForge', "${minecraftVersion}+${loaderDisplayVersion(neoForgeVersion)}")
File pluginOutDirectory = layout.projectDirectory.dir('../PluginOuts').asFile
long maximumBukkitArtifactBytes = 7_000_000L long maximumBukkitArtifactBytes = 7_000_000L
apply plugin: ApiGenerator apply plugin: ApiGenerator
@@ -281,12 +282,12 @@ tasks.register('buildBukkit', Copy) {
group = 'iris' group = 'iris'
dependsOn('jar') dependsOn('jar')
from(layout.buildDirectory.file("libs/${bukkitArtifactName}")) from(layout.buildDirectory.file("libs/${bukkitArtifactName}"))
into(layout.projectDirectory.dir('dist')) into(pluginOutDirectory)
doFirst { doFirst {
delete(fileTree(layout.projectDirectory.dir('dist')) { delete(fileTree(pluginOutDirectory) {
include('Iris v* [CraftBukkit] *.jar') 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' group = 'iris'
dependsOn('fabricJar') dependsOn('fabricJar')
from(layout.projectDirectory.file("adapters/fabric/build/libs/${fabricArtifactName}")) from(layout.projectDirectory.file("adapters/fabric/build/libs/${fabricArtifactName}"))
into(layout.projectDirectory.dir('dist')) into(pluginOutDirectory)
doFirst { doFirst {
delete(fileTree(layout.projectDirectory.dir('dist')) { delete(fileTree(pluginOutDirectory) {
include('Iris v* [Fabric] *.jar') 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' group = 'iris'
dependsOn('forgeJar') dependsOn('forgeJar')
from(layout.projectDirectory.file("adapters/forge/build/libs/${forgeArtifactName}")) from(layout.projectDirectory.file("adapters/forge/build/libs/${forgeArtifactName}"))
into(layout.projectDirectory.dir('dist')) into(pluginOutDirectory)
doFirst { doFirst {
delete(fileTree(layout.projectDirectory.dir('dist')) { delete(fileTree(pluginOutDirectory) {
include('Iris v* [Forge] *.jar') 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' group = 'iris'
dependsOn('neoforgeJar') dependsOn('neoforgeJar')
from(layout.projectDirectory.file("adapters/neoforge/build/libs/${neoForgeArtifactName}")) from(layout.projectDirectory.file("adapters/neoforge/build/libs/${neoForgeArtifactName}"))
into(layout.projectDirectory.dir('dist')) into(pluginOutDirectory)
doFirst { doFirst {
delete(fileTree(layout.projectDirectory.dir('dist')) { delete(fileTree(pluginOutDirectory) {
include('Iris v* [NeoForge] *.jar') 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' group = 'iris'
dependsOn('buildBukkit', 'buildFabric', 'buildForge', 'buildNeoforge', ':spi:jar') dependsOn('buildBukkit', 'buildFabric', 'buildForge', 'buildNeoforge', ':spi:jar')
doLast { doLast {
File dist = layout.projectDirectory.dir('dist').asFile File[] jars = pluginOutDirectory.listFiles((java.io.FileFilter) { File f -> f.name.startsWith('Iris v') && f.name.endsWith('.jar') })
File[] jars = dist.listFiles((java.io.FileFilter) { File f -> f.name.endsWith('.jar') })
println('') println('')
println('=== Iris buildAllToOut -> dist/ ===') println('=== Iris buildAllToOut -> ' + pluginOutDirectory + ' ===')
if (jars != null) { if (jars != null) {
jars.sort { it.name }.each { File f -> jars.sort { it.name }.each { File f ->
println(String.format(' %-60s %8d KB', f.name, (long) (f.length() / 1024))) println(String.format(' %-60s %8d KB', f.name, (long) (f.length() / 1024)))