mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-25 21:40:05 +00:00
Reworked terrain transitions
- New terrain heights meet saved boundaries while retaining local relief - Surface water levels approach saved fluid heights across the band - Cave and physical biome matching use a four-block seam patch - Terrain generates once without speculative neighbor containment - Bounded caches serve transition membership and boundary lookups - Saved biome writes honor the selected durability policy - Release labels and presentation code leave generation identity unchanged - Unfinished objects retain blocks and metadata across pack changes - Whole structure assemblies preserve pending excavation and foundations - New placements keep pending historical pieces clear - Transition probes cover cutovers and retained object fragments
This commit is contained in:
1 parent
9eb05fd987
commit
8c3e5d547b
159 files changed
+6092
-1905
No files matched your search
+26
-1
@@ -37,6 +37,7 @@ dependencies {
|
||||
runtimeOnly(libs.fastutil)
|
||||
runtimeOnly(libs.caffeine)
|
||||
runtimeOnly(libs.lz4)
|
||||
runtimeOnly('com.fulcrumgenomics:jlibdeflate:0.2.0')
|
||||
runtimeOnly(libs.zip)
|
||||
runtimeOnly(libs.guava)
|
||||
runtimeOnly(libs.oshi)
|
||||
@@ -291,7 +292,31 @@ tasks.register('riverTransectProbe', JavaExec) {
|
||||
}
|
||||
}
|
||||
|
||||
['hydrologyProbe', 'genProbe', 'hydrologyPackProbe', 'generationOrderProbe', 'riverTransectProbe', 'terrain3DProbe', 'hydrologyBlockProbe'].each { String taskName ->
|
||||
tasks.register('transitionProbe', JavaExec) {
|
||||
group = 'verification'
|
||||
description = 'Exercises a bounded two-pack Studio cutover, transition routing, receipts and semantics with a vanilla-biome pack.'
|
||||
mainClass = 'art.arcane.iris.probe.TransitionProbe'
|
||||
workingDir = rootProject.projectDir
|
||||
classpath = sourceSets.main.runtimeClasspath
|
||||
jvmArgs('--add-modules', 'jdk.incubator.vector')
|
||||
timeout = java.time.Duration.ofMinutes(12)
|
||||
doFirst {
|
||||
Provider<String> replacement = providers.gradleProperty('probeReplacementPack')
|
||||
if (!probePack.isPresent() || !replacement.isPresent() || !probeDimension.isPresent() || !probeOutput.isPresent()) {
|
||||
throw new GradleException('transitionProbe requires probePack, probeReplacementPack, probeDimension and probeOutput')
|
||||
}
|
||||
java.nio.file.Path output = new File(probeOutput.get()).canonicalFile.toPath()
|
||||
if (output.startsWith(rootProject.projectDir.canonicalFile.toPath())) {
|
||||
throw new GradleException('probeOutput must point outside the repository')
|
||||
}
|
||||
args(probePack.get(), replacement.get(), probeDimension.get(), probeSeed.getOrElse('1337'),
|
||||
providers.gradleProperty('probeTransitionWidth').getOrElse('32'),
|
||||
providers.gradleProperty('probeTransitionChunks').getOrElse('2'), output.toString(),
|
||||
providers.gradleProperty('probeTransitionReverse').getOrElse('false'))
|
||||
}
|
||||
}
|
||||
|
||||
['transitionProbe', 'hydrologyProbe', 'genProbe', 'hydrologyPackProbe', 'generationOrderProbe', 'riverTransectProbe', 'terrain3DProbe', 'hydrologyBlockProbe'].each { String taskName ->
|
||||
tasks.named(taskName, JavaExec).configure { JavaExec task ->
|
||||
classpath += configurations.studioProbeApi
|
||||
doFirst {
|
||||
|
||||
Reference in new issue
Block a user