mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-23 00:28:02 +00:00
Merge Back
This commit is contained in:
1 parent
e832239730
commit
7a099cbd5e
26 files changed
+38
-27
No files matched your search
+4
-5
@@ -4,9 +4,8 @@ import art.arcane.iris.localization.IrisLanguage;
|
||||
import art.arcane.iris.localization.IrisMessages;
|
||||
import art.arcane.iris.testsupport.ProjectPaths;
|
||||
import art.arcane.volmlib.util.localization.MessageKey;
|
||||
import art.arcane.volmlib.util.localization.TomlLanguageParser;
|
||||
import art.arcane.volmlib.util.localization.VolmitLocales;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.nio.file.Files;
|
||||
@@ -30,9 +29,9 @@ public class ModdedMessageContributorTest {
|
||||
public void completeLoaderCatalogStillMatchesEveryDownloadableLocale() throws Exception {
|
||||
Path sourceRoot = ProjectPaths.repositoryFile("core/src/main/resources/languages");
|
||||
for (String locale : VolmitLocales.nonEnglish()) {
|
||||
JsonObject document = JsonParser.parseString(Files.readString(sourceRoot.resolve(locale + ".json")))
|
||||
.getAsJsonObject();
|
||||
assertEquals(locale, IrisLanguage.catalog().ids(), document.getAsJsonObject("messages").keySet());
|
||||
Path source = sourceRoot.resolve(locale + ".toml");
|
||||
assertEquals(locale, IrisLanguage.catalog().ids(),
|
||||
TomlLanguageParser.parseValidValues(Files.readString(source), IrisLanguage.catalog()).keySet());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -303,8 +303,6 @@ List<String> unusedVolmLibClasses = [
|
||||
'art/arcane/volmlib/util/json/JSONWriter',
|
||||
'art/arcane/volmlib/util/json/XML',
|
||||
'art/arcane/volmlib/util/json/XMLTokener',
|
||||
'art/arcane/volmlib/util/hud/HudBid',
|
||||
'art/arcane/volmlib/util/hud/HudBidder',
|
||||
'art/arcane/volmlib/util/hud/HudLocalLedger',
|
||||
'art/arcane/volmlib/util/hud/HudTitleClaim',
|
||||
'art/arcane/volmlib/util/hud/HudTitleService',
|
||||
@@ -343,7 +341,6 @@ List<String> unusedVolmLibClasses = [
|
||||
'art/arcane/volmlib/util/exceptions/MissingDimensionException',
|
||||
'art/arcane/volmlib/util/function/Supplier2',
|
||||
'art/arcane/volmlib/util/function/Supplier3',
|
||||
'art/arcane/volmlib/util/hud/HudPriority',
|
||||
'art/arcane/volmlib/util/inventorygui/UIRainbowDecorator',
|
||||
'art/arcane/volmlib/util/io/Converter',
|
||||
'art/arcane/volmlib/util/matter/MatterPlacer',
|
||||
|
||||
@@ -2,7 +2,6 @@ package art.arcane.iris.generation.concurrent;
|
||||
|
||||
import art.arcane.iris.spi.IrisLogging;
|
||||
import art.arcane.iris.configuration.IrisSettings;
|
||||
import art.arcane.volmlib.util.hunk.HunkBurst;
|
||||
import art.arcane.volmlib.util.parallel.MultiBurstSupport;
|
||||
import art.arcane.volmlib.util.math.M;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
@@ -25,13 +24,6 @@ public class MultiBurst extends MultiBurstSupport {
|
||||
public static final MultiBurst hydrology = new MultiBurst("Iris Hydrology", () -> Math.max(2, IrisSettings.getThreadCount(IrisSettings.get().getConcurrency().getParallelism())));
|
||||
private final AtomicInteger parallelismBaseline = new AtomicInteger();
|
||||
|
||||
static {
|
||||
// Hunk's parallel section splits live in VolmLib and have no view of Iris' concurrency
|
||||
// settings, so point them at the same pool the generation stages use. Without this they
|
||||
// would spin up a second, untuned pool alongside it.
|
||||
HunkBurst.install(burst::burst);
|
||||
}
|
||||
|
||||
public MultiBurst() {
|
||||
this("Iris");
|
||||
}
|
||||
|
||||
+5
-2
@@ -49,8 +49,11 @@ public class IrisSurfaceRiverBankConfig {
|
||||
@Description("Blocks added to every eroded valley width before the blend width limits apply, so even a shallow cut erodes at least this far beyond the shore; 0 leaves the width proportional to the cut alone.")
|
||||
private double blendBaseWidth = 0D;
|
||||
|
||||
@Description("Optional palette painted over the shore bench columns instead of the biome's own layers. Disabled by default, which keeps the shore biome's layers.")
|
||||
private IrisRiverMaterialConfig shoreMaterial = new IrisRiverMaterialConfig();
|
||||
@Description("Palette painted over the shore bench columns instead of the biome's own layers. The default is a two-block sand beach.")
|
||||
private IrisRiverMaterialConfig shoreMaterial = new IrisRiverMaterialConfig()
|
||||
.setEnabled(true)
|
||||
.setPalette(new IrisMaterialPalette().qclear().qadd("sand"))
|
||||
.setDepth(2);
|
||||
|
||||
@Description("Optional palette painted over the eroded bank columns outside the shore bench instead of the biome's own layers. Disabled by default, which keeps the bank biome's layers.")
|
||||
private IrisRiverMaterialConfig bankMaterial = new IrisRiverMaterialConfig();
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
||||
@Data
|
||||
public class IrisSurfaceRiverBedConfig {
|
||||
@Description("Allow sand, gravel and other falling blocks in the bed, shore and eroded banks. When false they are replaced by the padding palette.")
|
||||
private boolean allowGravityBlocks = false;
|
||||
private boolean allowGravityBlocks = true;
|
||||
|
||||
@MinNumber(0)
|
||||
@MaxNumber(8)
|
||||
|
||||
@@ -50,19 +50,19 @@ public final class PreObjectMatter extends MappedHunk<PreObjectMatterCell>
|
||||
|
||||
@Override
|
||||
public PreObjectMatter iterateSync(Consumer4<Integer, Integer, Integer, PreObjectMatterCell> consumer) {
|
||||
super.iterateSync(consumer);
|
||||
super.iterateEntriesSync(consumer);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PreObjectMatter iterateSyncIO(Consumer4IO<Integer, Integer, Integer, PreObjectMatterCell> consumer) throws IOException {
|
||||
super.iterateSyncIO(consumer);
|
||||
super.iterateEntriesSyncIO(consumer);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void empty(PreObjectMatterCell value) {
|
||||
super.empty(value);
|
||||
clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2075,6 +2075,7 @@ loading = "Nachrichten für {locale} werden geladen..."
|
||||
"part.line" = "Zeile {line}"
|
||||
"value.none" = "Keine"
|
||||
"value.empty" = "(leer)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Fehlende Berechtigung: {permission}"
|
||||
|
||||
@@ -2075,6 +2075,7 @@ loading = "Cargando los mensajes de {locale}..."
|
||||
"part.line" = "Línea {line}"
|
||||
"value.none" = "Ninguno"
|
||||
"value.empty" = "(vacío)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Falta el permiso: {permission}"
|
||||
|
||||
@@ -2080,6 +2080,7 @@ loading = "Ladataan kielen {locale} viestejä..."
|
||||
"part.line" = "Rivi {line}"
|
||||
"value.none" = "Ei ole"
|
||||
"value.empty" = "(tyhjä)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Puuttuva käyttöoikeus: {permission}"
|
||||
|
||||
@@ -2075,6 +2075,7 @@ loading = "Chargement des messages en {locale}..."
|
||||
"part.line" = "Ligne {line}"
|
||||
"value.none" = "Aucune"
|
||||
"value.empty" = "(vide)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Permission manquante : {permission}"
|
||||
|
||||
@@ -2080,6 +2080,7 @@ loading = "טוען הודעות עבור {locale}..."
|
||||
"part.line" = "שורה {line}"
|
||||
"value.none" = "אין"
|
||||
"value.empty" = "(ריק)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "חסרה הרשאה: {permission}"
|
||||
|
||||
@@ -2075,6 +2075,7 @@ loading = "Caricamento dei messaggi in {locale}..."
|
||||
"part.line" = "Riga {line}"
|
||||
"value.none" = "Nessuno"
|
||||
"value.empty" = "(vuoto)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Permesso mancante: {permission}"
|
||||
|
||||
@@ -2078,6 +2078,7 @@ loading = "{locale}のメッセージを読み込んでいます..."
|
||||
"part.line" = "行{line}"
|
||||
"value.none" = "なし"
|
||||
"value.empty" = "(空)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "権限がありません: {permission}"
|
||||
|
||||
@@ -2078,6 +2078,7 @@ loading = "{locale} 메시지를 불러오는 중..."
|
||||
"part.line" = "{line}번째 줄"
|
||||
"value.none" = "없음"
|
||||
"value.empty" = "(비어 있음)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "권한이 없습니다: {permission}"
|
||||
|
||||
@@ -2080,6 +2080,7 @@ loading = "Įkeliami kalbos {locale} pranešimai..."
|
||||
"part.line" = "Eilutė {line}"
|
||||
"value.none" = "Nėra"
|
||||
"value.empty" = "(tuščia)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Trūksta leidimo: {permission}"
|
||||
|
||||
@@ -2075,6 +2075,7 @@ loading = "Berichten voor {locale} laden..."
|
||||
"part.line" = "Regel {line}"
|
||||
"value.none" = "Geen"
|
||||
"value.empty" = "(leeg)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Ontbrekende machtiging: {permission}"
|
||||
|
||||
@@ -2080,6 +2080,7 @@ loading = "Wczytywanie wiadomości w języku {locale}..."
|
||||
"part.line" = "Linia {line}"
|
||||
"value.none" = "Brak"
|
||||
"value.empty" = "(pusty)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Brak uprawnienia: {permission}"
|
||||
|
||||
@@ -2075,6 +2075,7 @@ loading = "A carregar as mensagens de {locale}..."
|
||||
"part.line" = "Linha {line}"
|
||||
"value.none" = "Nenhum"
|
||||
"value.empty" = "(vazio)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Permissão em falta: {permission}"
|
||||
|
||||
@@ -2080,6 +2080,7 @@ loading = "Загрузка сообщений для {locale}..."
|
||||
"part.line" = "Строка {line}"
|
||||
"value.none" = "Нет"
|
||||
"value.empty" = "(пусто)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Нет разрешения: {permission}"
|
||||
|
||||
@@ -2080,6 +2080,7 @@ loading = "{locale} mesajları yükleniyor..."
|
||||
"part.line" = "Satır {line}"
|
||||
"value.none" = "Yok"
|
||||
"value.empty" = "(boş)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Eksik izin: {permission}"
|
||||
|
||||
@@ -2078,6 +2078,7 @@ loading = "Đang tải tin nhắn cho {locale}..."
|
||||
"part.line" = "Dòng {line}"
|
||||
"value.none" = "Không có"
|
||||
"value.empty" = "(trống)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "Thiếu quyền: {permission}"
|
||||
|
||||
@@ -2078,6 +2078,7 @@ loading = "正在加载 {locale} 的消息..."
|
||||
"part.line" = "第 {line} 行"
|
||||
"value.none" = "无"
|
||||
"value.empty" = "(空)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "缺少权限:{permission}"
|
||||
|
||||
@@ -2078,6 +2078,7 @@ loading = "正在載入 {locale} 的訊息..."
|
||||
"part.line" = "第 {line} 行"
|
||||
"value.none" = "無"
|
||||
"value.empty" = "(空)"
|
||||
title = "{plugin} / {section}"
|
||||
|
||||
[debug.error]
|
||||
missing-permission = "缺少權限:{permission}"
|
||||
|
||||
+2
-1
@@ -69,8 +69,9 @@ public class IrisRiverConfigurationTest {
|
||||
assertTrue(surface.getBanks().isExposeCutStrata());
|
||||
assertEquals(0D, surface.getBanks().getShoreRise(), 0D);
|
||||
assertEquals(0D, surface.getBanks().getBlendBaseWidth(), 0D);
|
||||
assertDisabledMaterial(surface.getBanks().getShoreMaterial());
|
||||
assertMaterial(surface.getBanks().getShoreMaterial(), "sand", 2);
|
||||
assertDisabledMaterial(surface.getBanks().getBankMaterial());
|
||||
assertTrue(surface.getBed().isAllowGravityBlocks());
|
||||
assertDisabledMaterial(surface.getBed().getMaterial());
|
||||
assertEquals(2, surface.getFlow().getCascadeRun());
|
||||
assertEquals(6, surface.getFlow().getWaterfallMinimumDrop());
|
||||
|
||||
@@ -78,7 +78,7 @@ public class SchemaBuilderIdentityTest {
|
||||
@ClassRule
|
||||
public static final PlatformLeakGuard PLATFORM_GUARD = PlatformLeakGuard.clean();
|
||||
|
||||
private static final String EXPECTED_SCHEMA_DIGEST = "f9f759367e4712bc5d0ade01b0086d5d5855ede41e8a57d56e067d8c03964d14";
|
||||
private static final String EXPECTED_SCHEMA_DIGEST = "da993d49349b961b46f86a4966b8d2ab228a6b005c2a4ee279018e03e1139783";
|
||||
|
||||
private static final List<Class<?>> SCHEMA_ROOTS = List.of(
|
||||
IrisDimension.class,
|
||||
|
||||
@@ -66,10 +66,12 @@ public class IrisStaticObjectCompatTest {
|
||||
public void bindPlatform() {
|
||||
previousSettings = IrisSettings.settings;
|
||||
IrisSettings.settings = new IrisSettings();
|
||||
// Water, clay and dirt are what a default dimension composes (fluid palette, river bed padding); without
|
||||
// them the dimension itself is excluded and the static object is never the deciding unit.
|
||||
// Water, clay, dirt and sand are what a default dimension composes (fluid palette, river bed padding, the
|
||||
// default sand shore bench); without them the dimension itself is excluded and the static object is never
|
||||
// the deciding unit.
|
||||
platform = CompatTestPlatform.bind(temporaryFolder.getRoot(), List.of("minecraft:stone",
|
||||
"minecraft:cobblestone", "minecraft:air", "minecraft:water", "minecraft:clay", "minecraft:dirt"));
|
||||
"minecraft:cobblestone", "minecraft:air", "minecraft:water", "minecraft:clay", "minecraft:dirt",
|
||||
"minecraft:sand"));
|
||||
previousRotator = IrisObjectRotation.bindPlatformRotator((rotation, block, x, y, z) -> block);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user