mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-07-25 00:00:33 +00:00
Fixes
This commit is contained in:
+6
-6
@@ -242,10 +242,10 @@ final class IrisModdedBiomeSource extends BiomeSource {
|
||||
throw new IllegalStateException("Iris returned no surface structure biome at quart "
|
||||
+ quartX + "," + quartZ);
|
||||
}
|
||||
Holder<Biome> resolved = resolveHolder(registry, irisBiome.getVanillaDerivativeKey());
|
||||
Holder<Biome> resolved = resolveHolder(registry, irisBiome.getStructureDerivativeKey());
|
||||
if (resolved == null) {
|
||||
throw new IllegalStateException("Iris structure biome derivative '"
|
||||
+ irisBiome.getVanillaDerivativeKey() + "' is not registered at quart "
|
||||
+ irisBiome.getStructureDerivativeKey() + "' is not registered at quart "
|
||||
+ quartX + "," + quartZ);
|
||||
}
|
||||
return resolved;
|
||||
@@ -262,10 +262,10 @@ final class IrisModdedBiomeSource extends BiomeSource {
|
||||
if (registry == null) {
|
||||
throw new IllegalStateException("Iris structure biome lookup has no biome registry");
|
||||
}
|
||||
Holder<Biome> resolved = resolveHolder(registry, resolution.irisBiome().getVanillaDerivativeKey());
|
||||
Holder<Biome> resolved = resolveHolder(registry, resolution.irisBiome().getStructureDerivativeKey());
|
||||
if (resolved == null) {
|
||||
throw new IllegalStateException("Iris structure biome derivative '"
|
||||
+ resolution.irisBiome().getVanillaDerivativeKey() + "' is not registered at block "
|
||||
+ resolution.irisBiome().getStructureDerivativeKey() + "' is not registered at block "
|
||||
+ resolution.blockX() + "," + resolution.blockY() + "," + resolution.blockZ());
|
||||
}
|
||||
return resolved;
|
||||
@@ -353,7 +353,7 @@ final class IrisModdedBiomeSource extends BiomeSource {
|
||||
throw new IllegalStateException("Iris returned no structure biome at quart "
|
||||
+ quartX + "," + quartY + "," + quartZ);
|
||||
}
|
||||
String derivativeKey = irisBiome.getVanillaDerivativeKey();
|
||||
String derivativeKey = irisBiome.getStructureDerivativeKey();
|
||||
Holder<Biome> resolved = resolveHolder(registry, derivativeKey);
|
||||
if (resolved == null) {
|
||||
throw new IllegalStateException("Iris structure biome derivative '" + derivativeKey
|
||||
@@ -435,7 +435,7 @@ final class IrisModdedBiomeSource extends BiomeSource {
|
||||
LinkedHashSet<String> possible = new LinkedHashSet<>();
|
||||
String namespace = engine.getDimension().getLoadKey().toLowerCase(Locale.ROOT);
|
||||
for (IrisBiome irisBiome : engine.getAllBiomes()) {
|
||||
String derivative = normalizeKey(irisBiome.getVanillaDerivativeKey());
|
||||
String derivative = normalizeKey(irisBiome.getStructureDerivativeKey());
|
||||
if (derivative != null) {
|
||||
possible.add(derivative);
|
||||
}
|
||||
|
||||
+16
-2
@@ -28,6 +28,7 @@ import art.arcane.iris.engine.object.IrisBiome;
|
||||
import art.arcane.iris.engine.object.IrisBiomeCustom;
|
||||
import art.arcane.iris.engine.object.IrisDimension;
|
||||
import art.arcane.iris.engine.object.IrisNativeStructureDecision;
|
||||
import art.arcane.iris.engine.object.IrisRegion;
|
||||
import art.arcane.iris.engine.object.IrisStructureStiltSettings;
|
||||
import art.arcane.iris.engine.object.NativeStructureGenerationStatus;
|
||||
import art.arcane.iris.nativegen.NativeStructureGenerationException;
|
||||
@@ -611,7 +612,20 @@ public final class IrisModdedChunkGenerator extends ChunkGenerator {
|
||||
}
|
||||
|
||||
static Set<String> collectConfiguredBiomeKeys(IrisDimension dimension, IrisData data) {
|
||||
return collectConfiguredBiomeKeys(dimension.getReachableBiomes(() -> data), dimension.getLoadKey());
|
||||
LinkedHashSet<String> keys = new LinkedHashSet<>(
|
||||
collectConfiguredBiomeKeys(dimension.getReachableBiomes(() -> data), dimension.getLoadKey()));
|
||||
for (IrisRegion region : dimension.getAllRegions(() -> data)) {
|
||||
if (region == null) {
|
||||
continue;
|
||||
}
|
||||
if (!region.getSeaBiomes().isEmpty()) {
|
||||
keys.add("minecraft:the_void");
|
||||
}
|
||||
if (!region.getShoreBiomes().isEmpty()) {
|
||||
keys.add("minecraft:beach");
|
||||
}
|
||||
}
|
||||
return Set.copyOf(keys);
|
||||
}
|
||||
|
||||
static Set<String> collectConfiguredBiomeKeys(Iterable<IrisBiome> biomes, String dimensionLoadKey) {
|
||||
@@ -621,7 +635,7 @@ public final class IrisModdedChunkGenerator extends ChunkGenerator {
|
||||
if (irisBiome == null) {
|
||||
continue;
|
||||
}
|
||||
Identifier derivative = Identifier.tryParse(irisBiome.getVanillaDerivativeKey());
|
||||
Identifier derivative = Identifier.tryParse(irisBiome.getStructureDerivativeKey());
|
||||
if (derivative != null) {
|
||||
keys.add(derivative.toString().toLowerCase(Locale.ROOT));
|
||||
}
|
||||
|
||||
+10
-2
@@ -4,6 +4,7 @@ import art.arcane.iris.engine.object.IrisBiome;
|
||||
import art.arcane.iris.engine.object.IrisBiomeCustom;
|
||||
import art.arcane.iris.engine.object.IrisDimension;
|
||||
import art.arcane.iris.engine.object.IrisRange;
|
||||
import art.arcane.iris.engine.object.InferredType;
|
||||
import art.arcane.volmlib.util.collection.KList;
|
||||
import art.arcane.volmlib.util.mantle.flag.MantleFlag;
|
||||
import net.minecraft.SharedConstants;
|
||||
@@ -101,11 +102,18 @@ public class IrisModdedStructureParityTest {
|
||||
IrisBiome custom = new IrisBiome()
|
||||
.setDerivative("forest")
|
||||
.setCustomDerivitives(new KList<>(new IrisBiomeCustom().setId("Aurora")));
|
||||
IrisBiome shore = new IrisBiome()
|
||||
.setVanillaDerivative("minecraft:desert")
|
||||
.setInferredType(InferredType.SHORE);
|
||||
IrisBiome unsafeSea = new IrisBiome()
|
||||
.setVanillaDerivative("minecraft:plains")
|
||||
.setInferredType(InferredType.SEA);
|
||||
|
||||
Set<String> keys = IrisModdedChunkGenerator.collectConfiguredBiomeKeys(
|
||||
List.of(ocean, custom), "OverWorld");
|
||||
List.of(ocean, custom, shore, unsafeSea), "OverWorld");
|
||||
|
||||
assertEquals(Set.of("minecraft:deep_ocean", "minecraft:forest", "overworld:aurora"), keys);
|
||||
assertEquals(Set.of("minecraft:deep_ocean", "minecraft:forest", "minecraft:beach",
|
||||
"minecraft:the_void", "overworld:aurora"), keys);
|
||||
assertFalse(keys.contains("minecraft:desert"));
|
||||
assertFalse(keys.contains("minecraft:plains"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user