Make sure biomes are not modified twice
This commit is contained in:
parent
298aa47e7c
commit
fb79201b51
2 changed files with 8 additions and 2 deletions
|
@ -37,6 +37,7 @@ import ru.bclib.world.features.BCLFeature;
|
||||||
import ru.bclib.world.generator.BiomePicker;
|
import ru.bclib.world.generator.BiomePicker;
|
||||||
import ru.bclib.world.structures.BCLStructureFeature;
|
import ru.bclib.world.structures.BCLStructureFeature;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
@ -406,13 +407,19 @@ public class BiomeAPI {
|
||||||
applyModifications(biomes, level.dimension());
|
applyModifications(biomes, level.dimension());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final Set<ResourceLocation> modifiedBiomes = new HashSet<>();
|
||||||
/**
|
/**
|
||||||
* Will apply biome modifications to world, internal usage only.
|
* Will apply biome modifications to world, internal usage only.
|
||||||
* @param registryAccess
|
* @param registryAccess
|
||||||
*/
|
*/
|
||||||
public static void applyModifications(RegistryAccess registryAccess) {
|
public static void applyModifications(RegistryAccess registryAccess) {
|
||||||
Registry<Biome> biomeReg = registryAccess.registryOrThrow(Registry.BIOME_REGISTRY);
|
Registry<Biome> biomeReg = registryAccess.registryOrThrow(Registry.BIOME_REGISTRY);
|
||||||
Set<Biome> biomes = biomeReg.entrySet().stream().map(e -> e.getValue()).collect(Collectors.toSet());
|
Set<Biome> biomes = biomeReg
|
||||||
|
.entrySet()
|
||||||
|
.stream()
|
||||||
|
.map(e -> e.getValue())
|
||||||
|
.filter(b -> modifiedBiomes.add(getBiomeID(b)))
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
applyModifications(
|
applyModifications(
|
||||||
biomes.stream().filter(b->b.getBiomeCategory().equals(BiomeCategory.NETHER)).collect(Collectors.toSet()),
|
biomes.stream().filter(b->b.getBiomeCategory().equals(BiomeCategory.NETHER)).collect(Collectors.toSet()),
|
||||||
|
|
|
@ -4,7 +4,6 @@ import com.mojang.serialization.DynamicOps;
|
||||||
import net.minecraft.core.RegistryAccess;
|
import net.minecraft.core.RegistryAccess;
|
||||||
import net.minecraft.resources.RegistryReadOps;
|
import net.minecraft.resources.RegistryReadOps;
|
||||||
import net.minecraft.resources.RegistryResourceAccess;
|
import net.minecraft.resources.RegistryResourceAccess;
|
||||||
import net.minecraft.server.level.ServerLevel;
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue