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