From 8fc48bb07ada6b66b047613da2f069251c1c0493 Mon Sep 17 00:00:00 2001 From: carbonatek Date: Thu, 28 May 2026 09:07:57 +0200 Subject: [PATCH 1/2] Fix indicators stopping world generation with C2ME installed --- .../generator/indicators/SurfaceIndicatorGenerator.java | 8 ++++---- .../gtceu/api/data/worldgen/ores/OreIndicatorPlacer.java | 3 ++- .../gtceu/api/data/worldgen/ores/OrePlacer.java | 8 +++++--- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/generator/indicators/SurfaceIndicatorGenerator.java b/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/generator/indicators/SurfaceIndicatorGenerator.java index 5a05bdb55f3..022cf913607 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/generator/indicators/SurfaceIndicatorGenerator.java +++ b/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/generator/indicators/SurfaceIndicatorGenerator.java @@ -146,10 +146,10 @@ public Map generate(WorldGenLevel level, RandomSou private OreIndicatorPlacer createPlacer(WorldGenLevel level, List positionsWithoutY, BlockState blockState) { - return (access) -> { + return (access, wglevel) -> { var positions = positionsWithoutY.stream() - .map(pos -> placement.resolver.apply(level, access, pos)) - .filter(pos -> !level.isOutsideBuildHeight(pos)) + .map(pos -> placement.resolver.apply(wglevel, access, pos)) + .filter(pos -> !wglevel.isOutsideBuildHeight(pos)) .toList(); for (BlockPos pos : positions) { @@ -163,7 +163,7 @@ private OreIndicatorPlacer createPlacer(WorldGenLevel level, List posi if (!section.getBlockState(sectionX, sectionY, sectionZ).isAir()) return; - if (!blockState.canSurvive(level, pos)) + if (!blockState.canSurvive(wglevel, pos)) return; section.setBlockState(sectionX, sectionY, sectionZ, blockState, false); diff --git a/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/ores/OreIndicatorPlacer.java b/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/ores/OreIndicatorPlacer.java index 7f663430aae..0fe22cb136f 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/ores/OreIndicatorPlacer.java +++ b/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/ores/OreIndicatorPlacer.java @@ -1,6 +1,7 @@ package com.gregtechceu.gtceu.api.data.worldgen.ores; import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.chunk.BulkSectionAccess; import javax.annotation.ParametersAreNonnullByDefault; @@ -10,5 +11,5 @@ @FunctionalInterface public interface OreIndicatorPlacer { - void placeIndicators(BulkSectionAccess access); + void placeIndicators(BulkSectionAccess access, WorldGenLevel level); } diff --git a/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/ores/OrePlacer.java b/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/ores/OrePlacer.java index cda2c0206d3..71c031494a5 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/ores/OrePlacer.java +++ b/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/ores/OrePlacer.java @@ -54,7 +54,8 @@ public void placeOres(WorldGenLevel level, ChunkGenerator chunkGenerator, ChunkA try (BulkSectionAccess access = new BulkSectionAccess(level)) { generatedVeins.forEach(generatedVein -> placeVein(chunk.getPos(), random, access, generatedVein, null)); - generatedIndicators.forEach(generatedIndicator -> placeIndicators(chunk, access, generatedIndicator)); + generatedIndicators + .forEach(generatedIndicator -> placeIndicators(level, chunk, access, generatedIndicator)); } } @@ -87,10 +88,11 @@ private Map> resolvePlacerLists(ChunkP Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue))); } - private void placeIndicators(ChunkAccess chunk, BulkSectionAccess access, GeneratedIndicators generatedVein) { + private void placeIndicators(WorldGenLevel level, ChunkAccess chunk, BulkSectionAccess access, + GeneratedIndicators generatedVein) { if (!ConfigHolder.INSTANCE.worldgen.oreVeins.oreIndicators) return; generatedVein.consumeIndicators(chunk.getPos()).forEach(placer -> { - placer.placeIndicators(access); + placer.placeIndicators(access, level); }); } } From d148829b368aafb70adf0a3e0e2b661801a46c34 Mon Sep 17 00:00:00 2001 From: carbonatek Date: Thu, 28 May 2026 09:50:01 +0200 Subject: [PATCH 2/2] Remove the "level" argument from createPlacer --- .../indicators/SurfaceIndicatorGenerator.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/generator/indicators/SurfaceIndicatorGenerator.java b/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/generator/indicators/SurfaceIndicatorGenerator.java index 022cf913607..91fece04d83 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/generator/indicators/SurfaceIndicatorGenerator.java +++ b/src/main/java/com/gregtechceu/gtceu/api/data/worldgen/generator/indicators/SurfaceIndicatorGenerator.java @@ -141,15 +141,15 @@ public Map generate(WorldGenLevel level, RandomSou return WorldGeneratorUtils.groupByChunks(positions).entrySet().stream() .collect(Collectors.toMap(Map.Entry::getKey, - entry -> createPlacer(level, entry.getValue(), blockState))); + entry -> createPlacer(entry.getValue(), blockState))); } - private OreIndicatorPlacer createPlacer(WorldGenLevel level, List positionsWithoutY, + private OreIndicatorPlacer createPlacer(List positionsWithoutY, BlockState blockState) { - return (access, wglevel) -> { + return (access, level) -> { var positions = positionsWithoutY.stream() - .map(pos -> placement.resolver.apply(wglevel, access, pos)) - .filter(pos -> !wglevel.isOutsideBuildHeight(pos)) + .map(pos -> placement.resolver.apply(level, access, pos)) + .filter(pos -> !level.isOutsideBuildHeight(pos)) .toList(); for (BlockPos pos : positions) { @@ -163,7 +163,7 @@ private OreIndicatorPlacer createPlacer(WorldGenLevel level, List posi if (!section.getBlockState(sectionX, sectionY, sectionZ).isAir()) return; - if (!blockState.canSurvive(wglevel, pos)) + if (!blockState.canSurvive(level, pos)) return; section.setBlockState(sectionX, sectionY, sectionZ, blockState, false);