mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-04 00:45:57 +00:00
pull BiomeProviderBuilder out of BiomeProvider
This commit is contained in:
parent
39f5aef0c5
commit
52a269b686
@ -2,6 +2,7 @@ package com.dfsek.terra.addons.biome.image;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
@ -10,7 +11,7 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class ImageBiomeProvider implements BiomeProvider, BiomeProvider.BiomeProviderBuilder { // This provider does not need a seed, so it is its own builder.
|
public class ImageBiomeProvider implements BiomeProvider, BiomeProviderBuilder { // This provider does not need a seed, so it is its own builder.
|
||||||
private final Map<Color, TerraBiome> colorBiomeMap = new HashMap<>();
|
private final Map<Color, TerraBiome> colorBiomeMap = new HashMap<>();
|
||||||
private final BufferedImage image;
|
private final BufferedImage image;
|
||||||
private final int resolution;
|
private final int resolution;
|
||||||
|
@ -2,8 +2,9 @@ package com.dfsek.terra.addons.biome.single;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder;
|
||||||
|
|
||||||
public class SingleBiomeProvider implements BiomeProvider, BiomeProvider.BiomeProviderBuilder {
|
public class SingleBiomeProvider implements BiomeProvider, BiomeProviderBuilder {
|
||||||
private final TerraBiome biome;
|
private final TerraBiome biome;
|
||||||
|
|
||||||
public SingleBiomeProvider(TerraBiome biome) {
|
public SingleBiomeProvider(TerraBiome biome) {
|
||||||
|
@ -7,7 +7,7 @@ import com.dfsek.terra.api.tectonic.LoaderRegistrar;
|
|||||||
import com.dfsek.terra.api.addon.TerraAddon;
|
import com.dfsek.terra.api.addon.TerraAddon;
|
||||||
import com.dfsek.terra.api.registry.CheckedRegistry;
|
import com.dfsek.terra.api.registry.CheckedRegistry;
|
||||||
import com.dfsek.terra.api.world.TerraWorld;
|
import com.dfsek.terra.api.world.TerraWorld;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -15,7 +15,7 @@ import java.util.Set;
|
|||||||
public interface ConfigPack extends LoaderRegistrar, LoaderHolder, RegistryHolder {
|
public interface ConfigPack extends LoaderRegistrar, LoaderHolder, RegistryHolder {
|
||||||
<T> CheckedRegistry<T> getRegistry(Class<T> clazz);
|
<T> CheckedRegistry<T> getRegistry(Class<T> clazz);
|
||||||
|
|
||||||
BiomeProvider.BiomeProviderBuilder getBiomeProviderBuilder();
|
BiomeProviderBuilder getBiomeProviderBuilder();
|
||||||
|
|
||||||
WorldConfig toWorldConfig(TerraWorld world);
|
WorldConfig toWorldConfig(TerraWorld world);
|
||||||
|
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
package com.dfsek.terra.api.util.seeded;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
|
||||||
|
public interface BiomeProviderBuilder {
|
||||||
|
BiomeProvider build(long seed);
|
||||||
|
}
|
@ -15,10 +15,6 @@ public interface BiomeProvider {
|
|||||||
return getBiome(vector3.getBlockX(), vector3.getBlockZ());
|
return getBiome(vector3.getBlockX(), vector3.getBlockZ());
|
||||||
}
|
}
|
||||||
|
|
||||||
interface BiomeProviderBuilder {
|
|
||||||
BiomeProvider build(long seed);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
enum Type {
|
enum Type {
|
||||||
IMAGE, PIPELINE, SINGLE
|
IMAGE, PIPELINE, SINGLE
|
||||||
|
@ -4,9 +4,9 @@ import com.dfsek.tectonic.annotations.Default;
|
|||||||
import com.dfsek.tectonic.annotations.Value;
|
import com.dfsek.tectonic.annotations.Value;
|
||||||
import com.dfsek.tectonic.loading.object.ObjectTemplate;
|
import com.dfsek.tectonic.loading.object.ObjectTemplate;
|
||||||
import com.dfsek.terra.api.util.seeded.NoiseSeeded;
|
import com.dfsek.terra.api.util.seeded.NoiseSeeded;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder;
|
||||||
|
|
||||||
public abstract class BiomeProviderTemplate implements ObjectTemplate<BiomeProvider.BiomeProviderBuilder>, BiomeProvider.BiomeProviderBuilder {
|
public abstract class BiomeProviderTemplate implements ObjectTemplate<BiomeProviderBuilder>, BiomeProviderBuilder {
|
||||||
@Value("resolution")
|
@Value("resolution")
|
||||||
@Default
|
@Default
|
||||||
protected int resolution = 1;
|
protected int resolution = 1;
|
||||||
@ -16,11 +16,9 @@ public abstract class BiomeProviderTemplate implements ObjectTemplate<BiomeProvi
|
|||||||
@Value("blend.amplitude")
|
@Value("blend.amplitude")
|
||||||
@Default
|
@Default
|
||||||
protected double blendAmp = 0d;
|
protected double blendAmp = 0d;
|
||||||
@Value("type")
|
|
||||||
BiomeProvider.Type type;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BiomeProvider.BiomeProviderBuilder get() {
|
public BiomeProviderBuilder get() {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ import com.dfsek.terra.api.structure.Structure;
|
|||||||
import com.dfsek.terra.api.util.generic.pair.ImmutablePair;
|
import com.dfsek.terra.api.util.generic.pair.ImmutablePair;
|
||||||
import com.dfsek.terra.api.util.seeded.NoiseProvider;
|
import com.dfsek.terra.api.util.seeded.NoiseProvider;
|
||||||
import com.dfsek.terra.api.world.TerraWorld;
|
import com.dfsek.terra.api.world.TerraWorld;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder;
|
||||||
import com.dfsek.terra.config.dummy.DummyWorld;
|
import com.dfsek.terra.config.dummy.DummyWorld;
|
||||||
import com.dfsek.terra.config.fileloaders.FolderLoader;
|
import com.dfsek.terra.config.fileloaders.FolderLoader;
|
||||||
import com.dfsek.terra.config.fileloaders.ZIPLoader;
|
import com.dfsek.terra.config.fileloaders.ZIPLoader;
|
||||||
@ -78,7 +78,7 @@ public class ConfigPackImpl implements ConfigPack {
|
|||||||
|
|
||||||
private final Configuration configuration;
|
private final Configuration configuration;
|
||||||
|
|
||||||
private final BiomeProvider.BiomeProviderBuilder biomeProviderBuilder;
|
private final BiomeProviderBuilder biomeProviderBuilder;
|
||||||
|
|
||||||
|
|
||||||
private final ConfigTypeRegistry configTypeRegistry;
|
private final ConfigTypeRegistry configTypeRegistry;
|
||||||
@ -298,7 +298,7 @@ public class ConfigPackImpl implements ConfigPack {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BiomeProvider.BiomeProviderBuilder getBiomeProviderBuilder() {
|
public BiomeProviderBuilder getBiomeProviderBuilder() {
|
||||||
return biomeProviderBuilder;
|
return biomeProviderBuilder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@ package com.dfsek.terra.config.pack;
|
|||||||
|
|
||||||
import com.dfsek.tectonic.annotations.Value;
|
import com.dfsek.tectonic.annotations.Value;
|
||||||
import com.dfsek.tectonic.config.ConfigTemplate;
|
import com.dfsek.tectonic.config.ConfigTemplate;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder;
|
||||||
|
|
||||||
public class ConfigPackPostTemplate implements ConfigTemplate {
|
public class ConfigPackPostTemplate implements ConfigTemplate {
|
||||||
@Value("biomes")
|
@Value("biomes")
|
||||||
private BiomeProvider.BiomeProviderBuilder providerBuilder;
|
private BiomeProviderBuilder providerBuilder;
|
||||||
|
|
||||||
public BiomeProvider.BiomeProviderBuilder getProviderBuilder() {
|
public BiomeProviderBuilder getProviderBuilder() {
|
||||||
return providerBuilder;
|
return providerBuilder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user