Some simple Biome related changes

This commit is contained in:
Frank 2021-09-23 16:19:30 +02:00
parent 8abcab32ec
commit 23bcbe1977
6 changed files with 16 additions and 10 deletions

View file

@ -11,7 +11,7 @@ import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.Biome.ClimateParameters; import net.minecraft.world.level.biome.Climate;
import net.minecraft.world.level.biome.Biomes; import net.minecraft.world.level.biome.Biomes;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import ru.bclib.util.MHelper; import ru.bclib.util.MHelper;
@ -95,11 +95,14 @@ public class BiomeAPI {
registerBiome(biome); registerBiome(biome);
NETHER_BIOME_PICKER.addBiome(biome); NETHER_BIOME_PICKER.addBiome(biome);
Random random = new Random(biome.getID().hashCode()); Random random = new Random(biome.getID().hashCode());
ClimateParameters parameters = new ClimateParameters( //TODO: did they add depth and scale as two new params here???
Climate.ParameterPoint parameters = Climate.parameters(
MHelper.randRange(-1.5F, 1.5F, random), MHelper.randRange(-1.5F, 1.5F, random),
MHelper.randRange(-1.5F, 1.5F, random), MHelper.randRange(-1.5F, 1.5F, random),
MHelper.randRange(-1.5F, 1.5F, random), MHelper.randRange(-1.5F, 1.5F, random),
MHelper.randRange(-1.5F, 1.5F, random), MHelper.randRange(-1.5F, 1.5F, random),
0.0f,
0.0f,
random.nextFloat() random.nextFloat()
); );
ResourceKey<Biome> key = BuiltinRegistries.BIOME.getResourceKey(biome.getBiome()).get(); ResourceKey<Biome> key = BuiltinRegistries.BIOME.getResourceKey(biome.getBiome()).get();

View file

@ -75,7 +75,7 @@ public class WoodenComplexMaterial extends ComplexMaterial {
@Override @Override
protected FabricBlockSettings getBlockSettings() { protected FabricBlockSettings getBlockSettings() {
return FabricBlockSettings.copyOf(Blocks.OAK_PLANKS).materialColor(planksColor); return FabricBlockSettings.copyOf(Blocks.OAK_PLANKS).mapColor(planksColor);
} }
@Override @Override

View file

@ -4,6 +4,7 @@ import net.fabricmc.fabric.impl.biome.InternalBiomeData;
import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.Biomes; import net.minecraft.world.level.biome.Biomes;
import net.minecraft.world.level.biome.Climate;
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;
@ -34,7 +35,7 @@ public class InternalBiomeDataMixin {
} }
@Inject(method = "addNetherBiome", at = @At(value = "HEAD")) @Inject(method = "addNetherBiome", at = @At(value = "HEAD"))
private static void bclib_addNetherBiome(ResourceKey<Biome> biome, Biome.ClimateParameters spawnNoisePoint, CallbackInfo info) { private static void bclib_addNetherBiome(ResourceKey<Biome> biome, Climate.ParameterPoint spawnNoisePoint, CallbackInfo info) {
FabricBiomesData.NETHER_BIOMES.add(biome); FabricBiomesData.NETHER_BIOMES.add(biome);
} }
} }

View file

@ -341,8 +341,8 @@ public class BCLBiomeDef {
return new Biome.BiomeBuilder().precipitation(precipitation) return new Biome.BiomeBuilder().precipitation(precipitation)
.biomeCategory(category) .biomeCategory(category)
.depth(depth) //.depth(depth) //TODO: No longer available in 1.18
.scale(0.2F) //.scale(0.2F)
.temperature(temperature) .temperature(temperature)
.downfall(downfall) .downfall(downfall)
.specialEffects(effects.build()) .specialEffects(effects.build())

View file

@ -9,6 +9,7 @@ import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.Biome.BiomeCategory; import net.minecraft.world.level.biome.Biome.BiomeCategory;
import net.minecraft.world.level.biome.BiomeSource; import net.minecraft.world.level.biome.BiomeSource;
import net.minecraft.world.level.biome.Biomes; import net.minecraft.world.level.biome.Biomes;
import net.minecraft.world.level.biome.Climate;
import net.minecraft.world.level.biome.TheEndBiomeSource; import net.minecraft.world.level.biome.TheEndBiomeSource;
import net.minecraft.world.level.levelgen.WorldgenRandom; import net.minecraft.world.level.levelgen.WorldgenRandom;
import net.minecraft.world.level.levelgen.synth.SimplexNoise; import net.minecraft.world.level.levelgen.synth.SimplexNoise;
@ -46,7 +47,7 @@ public class BCLibEndBiomeSource extends BiomeSource {
BiomeAPI.END_LAND_BIOME_PICKER.clearMutables(); BiomeAPI.END_LAND_BIOME_PICKER.clearMutables();
BiomeAPI.END_VOID_BIOME_PICKER.clearMutables(); BiomeAPI.END_VOID_BIOME_PICKER.clearMutables();
this.possibleBiomes.forEach(biome -> { this.possibleBiomes().forEach(biome -> {
ResourceLocation key = biomeRegistry.getKey(biome); ResourceLocation key = biomeRegistry.getKey(biome);
if (!BiomeAPI.hasBiome(key)) { if (!BiomeAPI.hasBiome(key)) {
BCLBiome bclBiome = new BCLBiome(key, biome, 1, 1); BCLBiome bclBiome = new BCLBiome(key, biome, 1, 1);
@ -98,7 +99,7 @@ public class BCLibEndBiomeSource extends BiomeSource {
} }
@Override @Override
public Biome getNoiseBiome(int biomeX, int biomeY, int biomeZ) { public Biome getNoiseBiome(int biomeX, int biomeY, int biomeZ, Climate.Sampler sampler) {
long i = (long) biomeX * (long) biomeX; long i = (long) biomeX * (long) biomeX;
long j = (long) biomeZ * (long) biomeZ; long j = (long) biomeZ * (long) biomeZ;
long check = GeneratorOptions.isFarEndBiomes() ? 65536L : 625L; long check = GeneratorOptions.isFarEndBiomes() ? 65536L : 625L;

View file

@ -8,6 +8,7 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.Biome.BiomeCategory; import net.minecraft.world.level.biome.Biome.BiomeCategory;
import net.minecraft.world.level.biome.BiomeSource; import net.minecraft.world.level.biome.BiomeSource;
import net.minecraft.world.level.biome.Climate;
import ru.bclib.BCLib; import ru.bclib.BCLib;
import ru.bclib.api.BiomeAPI; import ru.bclib.api.BiomeAPI;
import ru.bclib.world.biomes.BCLBiome; import ru.bclib.world.biomes.BCLBiome;
@ -35,7 +36,7 @@ public class BCLibNetherBiomeSource extends BiomeSource {
BiomeAPI.NETHER_BIOME_PICKER.clearMutables(); BiomeAPI.NETHER_BIOME_PICKER.clearMutables();
this.possibleBiomes.forEach(biome -> { this.possibleBiomes().forEach(biome -> {
ResourceLocation key = biomeRegistry.getKey(biome); ResourceLocation key = biomeRegistry.getKey(biome);
if (!BiomeAPI.hasBiome(key)) { if (!BiomeAPI.hasBiome(key)) {
BCLBiome bclBiome = new BCLBiome(key, biome, 1, 1); BCLBiome bclBiome = new BCLBiome(key, biome, 1, 1);
@ -76,7 +77,7 @@ public class BCLibNetherBiomeSource extends BiomeSource {
} }
@Override @Override
public Biome getNoiseBiome(int biomeX, int biomeY, int biomeZ) { public Biome getNoiseBiome(int biomeX, int biomeY, int biomeZ, Climate.Sampler sampler) {
if ((biomeX & 63) == 0 && (biomeZ & 63) == 0) { if ((biomeX & 63) == 0 && (biomeZ & 63) == 0) {
biomeMap.clearCache(); biomeMap.clearCache();
} }