mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-18 06:40:55 +00:00
delete SeededBuilder
This commit is contained in:
-1
@@ -1,6 +1,5 @@
|
|||||||
package com.dfsek.terra.addons.biome.image;
|
package com.dfsek.terra.addons.biome.image;
|
||||||
|
|
||||||
import com.dfsek.terra.api.util.seeded.SeededBuilder;
|
|
||||||
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 net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|||||||
-1
@@ -4,7 +4,6 @@ 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.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.util.seeded.SeededBuilder;
|
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
|
||||||
public abstract class BiomeProviderTemplate implements ObjectTemplate<BiomeProvider> {
|
public abstract class BiomeProviderTemplate implements ObjectTemplate<BiomeProvider> {
|
||||||
|
|||||||
-1
@@ -1,7 +1,6 @@
|
|||||||
package com.dfsek.terra.addons.biome.pipeline.config;
|
package com.dfsek.terra.addons.biome.pipeline.config;
|
||||||
|
|
||||||
import com.dfsek.tectonic.loading.object.ObjectTemplate;
|
import com.dfsek.tectonic.loading.object.ObjectTemplate;
|
||||||
import com.dfsek.terra.api.util.seeded.SeededBuilder;
|
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
|
||||||
|
|
||||||
public abstract class SourceTemplate implements ObjectTemplate<BiomeSource>{
|
public abstract class SourceTemplate implements ObjectTemplate<BiomeSource>{
|
||||||
|
|||||||
+1
-7
@@ -1,10 +1,9 @@
|
|||||||
package com.dfsek.terra.addons.biome.single;
|
package com.dfsek.terra.addons.biome.single;
|
||||||
|
|
||||||
import com.dfsek.terra.api.util.seeded.SeededBuilder;
|
|
||||||
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;
|
||||||
|
|
||||||
public class SingleBiomeProvider implements BiomeProvider, SeededBuilder<BiomeProvider> {
|
public class SingleBiomeProvider implements BiomeProvider {
|
||||||
private final TerraBiome biome;
|
private final TerraBiome biome;
|
||||||
|
|
||||||
public SingleBiomeProvider(TerraBiome biome) {
|
public SingleBiomeProvider(TerraBiome biome) {
|
||||||
@@ -15,9 +14,4 @@ public class SingleBiomeProvider implements BiomeProvider, SeededBuilder<BiomePr
|
|||||||
public TerraBiome getBiome(int x, int z, long seed) {
|
public TerraBiome getBiome(int x, int z, long seed) {
|
||||||
return biome;
|
return biome;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public BiomeProvider build(long seed) {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-8
@@ -2,21 +2,15 @@ package com.dfsek.terra.addons.biome.single;
|
|||||||
|
|
||||||
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.SeededBuilder;
|
|
||||||
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;
|
||||||
|
|
||||||
public class SingleBiomeProviderTemplate implements ObjectTemplate<SeededBuilder<BiomeProvider>>, SeededBuilder<BiomeProvider> {
|
public class SingleBiomeProviderTemplate implements ObjectTemplate<BiomeProvider> {
|
||||||
@Value("biome")
|
@Value("biome")
|
||||||
private TerraBiome biome;
|
private TerraBiome biome;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BiomeProvider build(long seed) {
|
public BiomeProvider get() {
|
||||||
return new SingleBiomeProvider(biome);
|
return new SingleBiomeProvider(biome);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public SeededBuilder<BiomeProvider> get() {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-3
@@ -13,7 +13,6 @@ import com.dfsek.terra.api.injection.annotations.Inject;
|
|||||||
import com.dfsek.terra.api.registry.CheckedRegistry;
|
import com.dfsek.terra.api.registry.CheckedRegistry;
|
||||||
import com.dfsek.terra.api.structure.feature.Distributor;
|
import com.dfsek.terra.api.structure.feature.Distributor;
|
||||||
import com.dfsek.terra.api.util.reflection.TypeKey;
|
import com.dfsek.terra.api.util.reflection.TypeKey;
|
||||||
import com.dfsek.terra.api.util.seeded.SeededBuilder;
|
|
||||||
|
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
@@ -21,7 +20,7 @@ import java.util.function.Supplier;
|
|||||||
@Version("1.0.0")
|
@Version("1.0.0")
|
||||||
@Author("Terra")
|
@Author("Terra")
|
||||||
public class DistributorAddon extends TerraAddon implements EventListener {
|
public class DistributorAddon extends TerraAddon implements EventListener {
|
||||||
public static final TypeKey<Supplier<ObjectTemplate<SeededBuilder<Distributor>>>> DISTRIBUTOR_TOKEN = new TypeKey<>() {};
|
public static final TypeKey<Supplier<ObjectTemplate<Distributor>>> DISTRIBUTOR_TOKEN = new TypeKey<>() {};
|
||||||
@Inject
|
@Inject
|
||||||
private TerraPlugin main;
|
private TerraPlugin main;
|
||||||
|
|
||||||
@@ -32,7 +31,7 @@ public class DistributorAddon extends TerraAddon implements EventListener {
|
|||||||
|
|
||||||
|
|
||||||
public void packPreLoad(ConfigPackPreLoadEvent event) {
|
public void packPreLoad(ConfigPackPreLoadEvent event) {
|
||||||
CheckedRegistry<Supplier<ObjectTemplate<SeededBuilder<Distributor>>>> distributorRegistry = event.getPack().getOrCreateRegistry(DISTRIBUTOR_TOKEN);
|
CheckedRegistry<Supplier<ObjectTemplate<Distributor>>> distributorRegistry = event.getPack().getOrCreateRegistry(DISTRIBUTOR_TOKEN);
|
||||||
distributorRegistry.register("NOISE", NoiseDistributorTemplate::new);
|
distributorRegistry.register("NOISE", NoiseDistributorTemplate::new);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-4
@@ -5,14 +5,13 @@ import com.dfsek.tectonic.loading.object.ObjectTemplate;
|
|||||||
import com.dfsek.terra.addons.feature.distributor.distributors.NoiseDistributor;
|
import com.dfsek.terra.addons.feature.distributor.distributors.NoiseDistributor;
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.structure.feature.Distributor;
|
import com.dfsek.terra.api.structure.feature.Distributor;
|
||||||
import com.dfsek.terra.api.util.seeded.SeededBuilder;
|
|
||||||
|
|
||||||
public class NoiseDistributorTemplate implements ObjectTemplate<SeededBuilder<Distributor>> {
|
public class NoiseDistributorTemplate implements ObjectTemplate<Distributor> {
|
||||||
@Value("distribution")
|
@Value("distribution")
|
||||||
private NoiseSampler noise;
|
private NoiseSampler noise;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SeededBuilder<Distributor> get() {
|
public Distributor get() {
|
||||||
return seed -> new NoiseDistributor(noise);
|
return new NoiseDistributor(noise);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-4
@@ -11,10 +11,8 @@ import com.dfsek.terra.api.event.EventListener;
|
|||||||
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.registry.CheckedRegistry;
|
import com.dfsek.terra.api.registry.CheckedRegistry;
|
||||||
import com.dfsek.terra.api.structure.feature.Distributor;
|
|
||||||
import com.dfsek.terra.api.structure.feature.Locator;
|
import com.dfsek.terra.api.structure.feature.Locator;
|
||||||
import com.dfsek.terra.api.util.reflection.TypeKey;
|
import com.dfsek.terra.api.util.reflection.TypeKey;
|
||||||
import com.dfsek.terra.api.util.seeded.SeededBuilder;
|
|
||||||
|
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
@@ -23,7 +21,7 @@ import java.util.function.Supplier;
|
|||||||
@Author("Terra")
|
@Author("Terra")
|
||||||
public class LocatorAddon extends TerraAddon implements EventListener {
|
public class LocatorAddon extends TerraAddon implements EventListener {
|
||||||
|
|
||||||
public static final TypeKey<Supplier<ObjectTemplate<SeededBuilder<Locator>>>> LOCATOR_TOKEN = new TypeKey<>() {};
|
public static final TypeKey<Supplier<ObjectTemplate<Locator>>> LOCATOR_TOKEN = new TypeKey<>() {};
|
||||||
@Inject
|
@Inject
|
||||||
private TerraPlugin main;
|
private TerraPlugin main;
|
||||||
|
|
||||||
@@ -33,7 +31,7 @@ public class LocatorAddon extends TerraAddon implements EventListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onPackLoad(ConfigPackPreLoadEvent event) {
|
public void onPackLoad(ConfigPackPreLoadEvent event) {
|
||||||
CheckedRegistry<Supplier<ObjectTemplate<SeededBuilder<Locator>>>> locatorRegistry = event.getPack().getOrCreateRegistry(LOCATOR_TOKEN);
|
CheckedRegistry<Supplier<ObjectTemplate<Locator>>> locatorRegistry = event.getPack().getOrCreateRegistry(LOCATOR_TOKEN);
|
||||||
locatorRegistry.register("SURFACE", () -> new SurfaceLocatorTemplate(main));
|
locatorRegistry.register("SURFACE", () -> new SurfaceLocatorTemplate(main));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-4
@@ -6,9 +6,8 @@ import com.dfsek.terra.addons.feature.locator.locators.SurfaceLocator;
|
|||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.structure.feature.Locator;
|
import com.dfsek.terra.api.structure.feature.Locator;
|
||||||
import com.dfsek.terra.api.util.Range;
|
import com.dfsek.terra.api.util.Range;
|
||||||
import com.dfsek.terra.api.util.seeded.SeededBuilder;
|
|
||||||
|
|
||||||
public class SurfaceLocatorTemplate implements ObjectTemplate<SeededBuilder<Locator>> {
|
public class SurfaceLocatorTemplate implements ObjectTemplate<Locator> {
|
||||||
private final TerraPlugin main;
|
private final TerraPlugin main;
|
||||||
|
|
||||||
@Value("range")
|
@Value("range")
|
||||||
@@ -19,7 +18,7 @@ public class SurfaceLocatorTemplate implements ObjectTemplate<SeededBuilder<Loca
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SeededBuilder<Locator> get() {
|
public Locator get() {
|
||||||
return seed -> new SurfaceLocator(range, main);
|
return new SurfaceLocator(range, main);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import com.dfsek.terra.api.registry.meta.RegistryHolder;
|
|||||||
import com.dfsek.terra.api.tectonic.LoaderHolder;
|
import com.dfsek.terra.api.tectonic.LoaderHolder;
|
||||||
import com.dfsek.terra.api.tectonic.LoaderRegistrar;
|
import com.dfsek.terra.api.tectonic.LoaderRegistrar;
|
||||||
import com.dfsek.terra.api.util.reflection.TypeKey;
|
import com.dfsek.terra.api.util.reflection.TypeKey;
|
||||||
import com.dfsek.terra.api.util.seeded.SeededBuilder;
|
|
||||||
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.world.biome.generation.BiomeProvider;
|
||||||
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
|
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
|
||||||
@@ -19,7 +18,7 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public interface ConfigPack extends LoaderRegistrar, LoaderHolder, RegistryHolder {
|
public interface ConfigPack extends LoaderRegistrar, LoaderHolder, RegistryHolder {
|
||||||
SeededBuilder<BiomeProvider> getBiomeProviderBuilder();
|
BiomeProvider getBiomeProviderBuilder();
|
||||||
|
|
||||||
<T> CheckedRegistry<T> getOrCreateRegistry(Type clazz);
|
<T> CheckedRegistry<T> getOrCreateRegistry(Type clazz);
|
||||||
default <T> CheckedRegistry<T> getOrCreateRegistry(Class<T> clazz) {
|
default <T> CheckedRegistry<T> getOrCreateRegistry(Class<T> clazz) {
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
package com.dfsek.terra.api.util.seeded;
|
|
||||||
|
|
||||||
@FunctionalInterface
|
|
||||||
public interface SeededBuilder<T> {
|
|
||||||
T build(long seed);
|
|
||||||
}
|
|
||||||
@@ -30,7 +30,6 @@ import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
|
|||||||
import com.dfsek.terra.api.registry.meta.RegistryFactory;
|
import com.dfsek.terra.api.registry.meta.RegistryFactory;
|
||||||
import com.dfsek.terra.api.util.reflection.ReflectionUtil;
|
import com.dfsek.terra.api.util.reflection.ReflectionUtil;
|
||||||
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.SeededBuilder;
|
|
||||||
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.world.biome.generation.BiomeProvider;
|
||||||
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
|
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
|
||||||
@@ -84,7 +83,7 @@ public class ConfigPackImpl implements ConfigPack {
|
|||||||
|
|
||||||
private final Set<TerraAddon> addons;
|
private final Set<TerraAddon> addons;
|
||||||
|
|
||||||
private final SeededBuilder<BiomeProvider> seededBiomeProvider;
|
private final BiomeProvider seededBiomeProvider;
|
||||||
|
|
||||||
private final Map<Type, ImmutablePair<OpenRegistry<?>, CheckedRegistry<?>>> registryMap = new HashMap<>();
|
private final Map<Type, ImmutablePair<OpenRegistry<?>, CheckedRegistry<?>>> registryMap = new HashMap<>();
|
||||||
|
|
||||||
@@ -125,7 +124,6 @@ public class ConfigPackImpl implements ConfigPack {
|
|||||||
ConfigPackPostTemplate packPostTemplate = new ConfigPackPostTemplate();
|
ConfigPackPostTemplate packPostTemplate = new ConfigPackPostTemplate();
|
||||||
selfLoader.load(packPostTemplate, configuration);
|
selfLoader.load(packPostTemplate, configuration);
|
||||||
seededBiomeProvider = packPostTemplate.getProviderBuilder();
|
seededBiomeProvider = packPostTemplate.getProviderBuilder();
|
||||||
seededBiomeProvider.build(0); // Build dummy provider to catch errors at load time.
|
|
||||||
checkDeadEntries(main);
|
checkDeadEntries(main);
|
||||||
} catch(FileNotFoundException e) {
|
} catch(FileNotFoundException e) {
|
||||||
throw new LoadException("No pack.yml file found in " + folder.getAbsolutePath(), e);
|
throw new LoadException("No pack.yml file found in " + folder.getAbsolutePath(), e);
|
||||||
@@ -178,7 +176,6 @@ public class ConfigPackImpl implements ConfigPack {
|
|||||||
|
|
||||||
selfLoader.load(packPostTemplate, configuration);
|
selfLoader.load(packPostTemplate, configuration);
|
||||||
seededBiomeProvider = packPostTemplate.getProviderBuilder();
|
seededBiomeProvider = packPostTemplate.getProviderBuilder();
|
||||||
seededBiomeProvider.build(0); // Build dummy provider to catch errors at load time.
|
|
||||||
checkDeadEntries(main);
|
checkDeadEntries(main);
|
||||||
} catch(IOException e) {
|
} catch(IOException e) {
|
||||||
throw new LoadException("Unable to load pack.yml from ZIP file", e);
|
throw new LoadException("Unable to load pack.yml from ZIP file", e);
|
||||||
@@ -295,7 +292,7 @@ public class ConfigPackImpl implements ConfigPack {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SeededBuilder<BiomeProvider> getBiomeProviderBuilder() {
|
public BiomeProvider getBiomeProviderBuilder() {
|
||||||
return seededBiomeProvider;
|
return seededBiomeProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-3
@@ -2,14 +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.util.seeded.SeededBuilder;
|
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
|
||||||
public class ConfigPackPostTemplate implements ConfigTemplate {
|
public class ConfigPackPostTemplate implements ConfigTemplate {
|
||||||
@Value("biomes")
|
@Value("biomes")
|
||||||
private SeededBuilder<BiomeProvider> providerBuilder;
|
private BiomeProvider providerBuilder;
|
||||||
|
|
||||||
public SeededBuilder<BiomeProvider> getProviderBuilder() {
|
public BiomeProvider getProviderBuilder() {
|
||||||
return providerBuilder;
|
return providerBuilder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user