More Feature Refactoring
This commit is contained in:
parent
c1d5ca7b9b
commit
5d85595c5a
19 changed files with 621 additions and 128 deletions
42
src/main/java/org/betterx/bclib/noise/Noises.java
Normal file
42
src/main/java/org/betterx/bclib/noise/Noises.java
Normal file
|
@ -0,0 +1,42 @@
|
|||
package org.betterx.bclib.noise;
|
||||
|
||||
import org.betterx.bclib.BCLib;
|
||||
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.core.RegistryAccess;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.levelgen.synth.NormalNoise;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class Noises {
|
||||
private static final Map<ResourceKey<NormalNoise.NoiseParameters>, NormalNoise> noiseIntances = new HashMap<>();
|
||||
public static final ResourceKey<NormalNoise.NoiseParameters> ROUGHNESS_NOISE = createKey(BCLib.makeID(
|
||||
"roughness_noise"));
|
||||
|
||||
public static ResourceKey<NormalNoise.NoiseParameters> createKey(ResourceLocation loc) {
|
||||
return ResourceKey.create(Registry.NOISE_REGISTRY, loc);
|
||||
}
|
||||
|
||||
public static NormalNoise createNoise(
|
||||
Registry<NormalNoise.NoiseParameters> registry,
|
||||
RandomSource randomSource,
|
||||
ResourceKey<NormalNoise.NoiseParameters> resourceKey
|
||||
) {
|
||||
Holder<NormalNoise.NoiseParameters> holder = registry.getHolderOrThrow(resourceKey);
|
||||
return NormalNoise.create(randomSource, holder.value());
|
||||
}
|
||||
|
||||
public static NormalNoise getOrCreateNoise(
|
||||
RegistryAccess registryAccess,
|
||||
RandomSource randomSource,
|
||||
ResourceKey<NormalNoise.NoiseParameters> noise
|
||||
) {
|
||||
final Registry<NormalNoise.NoiseParameters> registry = registryAccess.registryOrThrow(Registry.NOISE_REGISTRY);
|
||||
return noiseIntances.computeIfAbsent(noise, (key) -> createNoise(registry, randomSource, noise));
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue