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..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,12 +141,12 @@ 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) -> { + return (access, level) -> { var positions = positionsWithoutY.stream() .map(pos -> placement.resolver.apply(level, access, pos)) .filter(pos -> !level.isOutsideBuildHeight(pos)) 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); }); } }