ConfigPack interfaceification

This commit is contained in:
dfsek
2021-06-23 10:09:55 -07:00
parent bb888380aa
commit a5f879ae7a
24 changed files with 83 additions and 62 deletions

View File

@@ -0,0 +1,16 @@
package com.dfsek.terra.api.config;
import com.dfsek.terra.api.LoaderRegistrar;
import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
public interface ConfigPack extends LoaderRegistrar {
@SuppressWarnings("unchecked")
<T> CheckedRegistry<T> getRegistry(Class<T> clazz);
BiomeProvider.BiomeProviderBuilder getBiomeProviderBuilder();
WorldConfig toWorldConfig(TerraWorld world);
CheckedRegistry<ConfigType<?, ?>> getConfigTypeRegistry();
}

View File

@@ -5,7 +5,7 @@ import com.dfsek.terra.api.world.BiomeGrid;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.generator.ChunkData;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.world.generation.math.samplers.Sampler;
import org.jetbrains.annotations.NotNull;
@@ -27,7 +27,7 @@ public interface TerraChunkGenerator {
boolean shouldGenerateStructures();
ConfigPack getConfigPack();
ConfigPackImpl getConfigPack();
TerraPlugin getMain();

View File

@@ -3,11 +3,11 @@ package com.dfsek.terra.commands;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.command.CommandTemplate;
import com.dfsek.terra.api.command.annotation.Command;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.entity.CommandSender;
import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackTemplate;
@Command(

View File

@@ -10,7 +10,7 @@ import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl;
import com.dfsek.terra.api.util.seeded.NoiseSeeded;
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
import com.dfsek.terra.config.loaders.config.function.FunctionTemplate;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.config.templates.BiomeTemplate;
import com.dfsek.terra.world.generation.WorldGenerator;
@@ -20,11 +20,11 @@ import java.util.concurrent.ConcurrentHashMap;
public class UserDefinedBiomeBuilder implements BiomeBuilder {
private final BiomeTemplate template;
private final ConfigPack pack;
private final ConfigPackImpl pack;
private final Map<Long, UserDefinedBiome> biomeMap = new ConcurrentHashMap<>();
public UserDefinedBiomeBuilder(BiomeTemplate template, ConfigPack pack) {
public UserDefinedBiomeBuilder(BiomeTemplate template, ConfigPackImpl pack) {
this.template = template;
this.pack = pack;
}

View File

@@ -3,13 +3,13 @@ package com.dfsek.terra.config.factories;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.config.builder.BiomeBuilder;
import com.dfsek.terra.config.builder.UserDefinedBiomeBuilder;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.config.templates.BiomeTemplate;
public class BiomeFactory implements ConfigFactory<BiomeTemplate, BiomeBuilder> {
private final ConfigPack pack;
private final ConfigPackImpl pack;
public BiomeFactory(ConfigPack pack) {
public BiomeFactory(ConfigPackImpl pack) {
this.pack = pack;
}

View File

@@ -5,16 +5,16 @@ import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.util.MathUtil;
import com.dfsek.terra.carving.UserDefinedCarver;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.config.templates.CarverTemplate;
import java.util.Arrays;
import java.util.List;
public class CarverFactory implements ConfigFactory<CarverTemplate, UserDefinedCarver> {
private final ConfigPack pack;
private final ConfigPackImpl pack;
public CarverFactory(ConfigPack pack) {
public CarverFactory(ConfigPackImpl pack) {
this.pack = pack;
}

View File

@@ -10,9 +10,11 @@ import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeRegistry;
import com.dfsek.terra.api.LoaderRegistrar;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.events.config.ConfigPackPostLoadEvent;
import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.registry.OpenRegistry;
import com.dfsek.terra.api.registry.Registry;
import com.dfsek.terra.api.structures.loot.LootTable;
import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder;
@@ -34,7 +36,6 @@ import com.dfsek.terra.config.loaders.config.sampler.NoiseSamplerBuilderLoader;
import com.dfsek.terra.config.loaders.config.sampler.templates.ImageSamplerTemplate;
import com.dfsek.terra.config.prototype.ConfigType;
import com.dfsek.terra.config.prototype.ProtoConfig;
import com.dfsek.terra.registry.OpenRegistry;
import com.dfsek.terra.registry.config.ConfigTypeRegistry;
import com.dfsek.terra.registry.config.FunctionRegistry;
import com.dfsek.terra.registry.config.LootRegistry;
@@ -66,7 +67,7 @@ import java.util.zip.ZipFile;
/**
* Represents a Terra configuration pack.
*/
public class ConfigPack implements LoaderRegistrar {
public class ConfigPackImpl implements ConfigPack {
private final ConfigPackTemplate template = new ConfigPackTemplate();
private final AbstractConfigLoader abstractConfigLoader = new AbstractConfigLoader();
@@ -83,7 +84,7 @@ public class ConfigPack implements LoaderRegistrar {
private final ConfigTypeRegistry configTypeRegistry;
private final Map<Class<?>, ImmutablePair<OpenRegistry<?>, CheckedRegistry<?>>> registryMap = newRegistryMap();
public ConfigPack(File folder, TerraPlugin main) throws ConfigException {
public ConfigPackImpl(File folder, TerraPlugin main) throws ConfigException {
try {
this.configTypeRegistry = new ConfigTypeRegistry(this, main, (id, configType) -> {
OpenRegistry<?> openRegistry = configType.registrySupplier().get();
@@ -126,7 +127,7 @@ public class ConfigPack implements LoaderRegistrar {
toWorldConfig(new TerraWorld(new DummyWorld(), this, main)); // Build now to catch any errors immediately.
}
public ConfigPack(ZipFile file, TerraPlugin main) throws ConfigException {
public ConfigPackImpl(ZipFile file, TerraPlugin main) throws ConfigException {
try {
this.configTypeRegistry = new ConfigTypeRegistry(this, main, (id, configType) -> {
OpenRegistry<?> openRegistry = configType.registrySupplier().get();
@@ -267,6 +268,7 @@ public class ConfigPack implements LoaderRegistrar {
return varScope;
}
@Override
@SuppressWarnings("unchecked")
public <T> CheckedRegistry<T> getRegistry(Class<T> clazz) {
return (CheckedRegistry<T>) registryMap.getOrDefault(clazz, ImmutablePair.ofNull()).getRight();
@@ -290,15 +292,18 @@ public class ConfigPack implements LoaderRegistrar {
.registerLoader(NoiseSeeded.class, new NoiseSamplerBuilderLoader(getOpenRegistry(NoiseProvider.class)));
}
@Override
public BiomeProvider.BiomeProviderBuilder getBiomeProviderBuilder() {
return biomeProviderBuilder;
}
@Override
public WorldConfig toWorldConfig(TerraWorld world) {
return new WorldConfig(world, this, main);
}
@Override
public CheckedRegistry<ConfigType<?, ?>> getConfigTypeRegistry() {
return new CheckedRegistry<ConfigType<?, ?>>(configTypeRegistry) {
@Override

View File

@@ -22,11 +22,11 @@ public class WorldConfig {
private final BiomeProvider provider;
private final TerraWorld world;
private final ConfigPack pack;
private final ConfigPackImpl pack;
private final Map<Class<?>, LockedRegistry<?>> registryMap = new HashMap<>();
public WorldConfig(TerraWorld world, ConfigPack pack, TerraPlugin main) {
public WorldConfig(TerraWorld world, ConfigPackImpl pack, TerraPlugin main) {
this.world = world;
this.pack = pack;
this.samplerCache = new SamplerCache(main, world);

View File

@@ -3,7 +3,7 @@ package com.dfsek.terra.config.prototype;
import com.dfsek.tectonic.config.ConfigTemplate;
import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.registry.OpenRegistry;
import java.util.function.Supplier;

View File

@@ -9,6 +9,7 @@ import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.config.ValidatedConfigTemplate;
import com.dfsek.tectonic.exception.ValidationException;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.noise.samplers.noise.ConstantSampler;
import com.dfsek.terra.api.math.paralithic.BlankFunction;
@@ -24,7 +25,7 @@ import com.dfsek.terra.api.world.palette.holder.PaletteHolder;
import com.dfsek.terra.api.world.palette.slant.SlantHolder;
import com.dfsek.terra.carving.UserDefinedCarver;
import com.dfsek.terra.config.loaders.config.function.FunctionTemplate;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.world.population.items.TerraStructure;
import com.dfsek.terra.world.population.items.flora.FloraLayer;
import com.dfsek.terra.world.population.items.ores.OreHolder;
@@ -40,7 +41,7 @@ import java.util.Set;
@SuppressWarnings({"FieldMayBeFinal", "unused"})
public class BiomeTemplate extends AbstractableTemplate implements ValidatedConfigTemplate {
private final ConfigPack pack;
private final ConfigPackImpl pack;
@Value("id")
private String id;
@@ -242,7 +243,7 @@ public class BiomeTemplate extends AbstractableTemplate implements ValidatedConf
return doSlabs;
}
public BiomeTemplate(ConfigPack pack, TerraPlugin main) {
public BiomeTemplate(ConfigPackImpl pack, TerraPlugin main) {
this.pack = pack;
biomeNoise = new NoiseSeeded() {
@Override

View File

@@ -3,6 +3,7 @@ package com.dfsek.terra.registry.config;
import com.dfsek.tectonic.config.ConfigTemplate;
import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.Tree;
import com.dfsek.terra.api.world.Flora;
import com.dfsek.terra.api.world.palette.Palette;
@@ -16,7 +17,7 @@ import com.dfsek.terra.config.factories.OreFactory;
import com.dfsek.terra.config.factories.PaletteFactory;
import com.dfsek.terra.config.factories.StructureFactory;
import com.dfsek.terra.config.factories.TreeFactory;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.config.prototype.ConfigType;
import com.dfsek.terra.config.templates.AbstractableTemplate;
import com.dfsek.terra.config.templates.BiomeTemplate;
@@ -37,7 +38,7 @@ import java.util.function.Supplier;
public class ConfigTypeRegistry extends OpenRegistry<ConfigType<?, ?>> {
private final BiConsumer<String, ConfigType<?, ?>> callback;
public ConfigTypeRegistry(ConfigPack pack, TerraPlugin main, BiConsumer<String, ConfigType<?, ?>> callback) {
public ConfigTypeRegistry(ConfigPackImpl pack, TerraPlugin main, BiConsumer<String, ConfigType<?, ?>> callback) {
super(new LinkedHashMap<>()); // Ordered
this.callback = callback;
add("PALETTE", new ConfigBuilder<>(new PaletteFactory(), PaletteTemplate::new, Palette.class, () -> new PaletteRegistry(main)));
@@ -71,7 +72,7 @@ public class ConfigTypeRegistry extends OpenRegistry<ConfigType<?, ?>> {
@Override
public Class<ConfigPack> getTypeClass() {
return ConfigPack.class;
return ConfigPackImpl.class;
}
@Override

View File

@@ -2,7 +2,7 @@ package com.dfsek.terra.registry.master;
import com.dfsek.tectonic.exception.ConfigException;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.registry.OpenRegistry;
import java.io.File;
@@ -12,9 +12,9 @@ import java.util.zip.ZipFile;
/**
* Class to hold config packs
*/
public class ConfigRegistry extends OpenRegistry<ConfigPack> {
public class ConfigRegistry extends OpenRegistry<ConfigPackImpl> {
public void load(File folder, TerraPlugin main) throws ConfigException {
ConfigPack pack = new ConfigPack(folder, main);
ConfigPackImpl pack = new ConfigPackImpl(folder, main);
add(pack.getTemplate().getID(), pack);
}
@@ -43,7 +43,7 @@ public class ConfigRegistry extends OpenRegistry<ConfigPack> {
}
public void load(ZipFile file, TerraPlugin main) throws ConfigException {
ConfigPack pack = new ConfigPack(file, main);
ConfigPackImpl pack = new ConfigPackImpl(file, main);
add(pack.getTemplate().getID(), pack);
}
}

View File

@@ -9,7 +9,7 @@ import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.palette.Palette;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.config.pack.WorldConfig;
import com.dfsek.terra.world.generation.math.samplers.Sampler;
import net.jafama.FastMath;
@@ -22,7 +22,7 @@ public class TerraWorld {
private final BlockData air;
public TerraWorld(World w, ConfigPack c, TerraPlugin main) {
public TerraWorld(World w, ConfigPackImpl c, TerraPlugin main) {
if(!w.isTerraWorld()) throw new IllegalArgumentException("World " + w + " is not a Terra World!");
this.world = w;
config = c.toWorldConfig(this);

View File

@@ -13,7 +13,7 @@ import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generation.TerraBlockPopulator;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
import com.dfsek.terra.api.world.palette.Palette;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.config.templates.BiomeTemplate;
import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.world.Carver;
@@ -34,7 +34,7 @@ import java.util.List;
import java.util.Random;
public class DefaultChunkGenerator2D implements TerraChunkGenerator {
private final ConfigPack configPack;
private final ConfigPackImpl configPack;
private final TerraPlugin main;
private final Carver carver;
@@ -42,7 +42,7 @@ public class DefaultChunkGenerator2D implements TerraChunkGenerator {
private final SamplerCache cache;
public DefaultChunkGenerator2D(ConfigPack c, TerraPlugin main, SamplerCache cache) {
public DefaultChunkGenerator2D(ConfigPackImpl c, TerraPlugin main, SamplerCache cache) {
this.configPack = c;
this.main = main;
blockPopulators.add(new CavePopulator(main));
@@ -80,7 +80,7 @@ public class DefaultChunkGenerator2D implements TerraChunkGenerator {
}
@Override
public ConfigPack getConfigPack() {
public ConfigPackImpl getConfigPack() {
return configPack;
}

View File

@@ -3,6 +3,7 @@ package com.dfsek.terra.world.generation.generators;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.range.ConstantRange;
import com.dfsek.terra.api.vector.Vector3;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.vector.Vector3Impl;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockFace;
@@ -22,7 +23,6 @@ import com.dfsek.terra.api.world.generation.TerraBlockPopulator;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
import com.dfsek.terra.api.world.palette.Palette;
import com.dfsek.terra.api.world.palette.SinglePalette;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.templates.BiomeTemplate;
import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.world.Carver;
@@ -43,7 +43,7 @@ import java.util.Map;
import java.util.Random;
public class DefaultChunkGenerator3D implements TerraChunkGenerator {
private final ConfigPack configPack;
private final ConfigPackImpl configPack;
private final TerraPlugin main;
private final BlockType water;
private final SinglePalette blank;
@@ -51,7 +51,7 @@ public class DefaultChunkGenerator3D implements TerraChunkGenerator {
private final Carver carver;
public DefaultChunkGenerator3D(ConfigPack c, TerraPlugin main) {
public DefaultChunkGenerator3D(ConfigPackImpl c, TerraPlugin main) {
this.configPack = c;
this.main = main;
@@ -92,7 +92,7 @@ public class DefaultChunkGenerator3D implements TerraChunkGenerator {
}
@Override
public ConfigPack getConfigPack() {
public ConfigPackImpl getConfigPack() {
return configPack;
}

View File

@@ -9,6 +9,7 @@ import com.dfsek.terra.api.addon.annotations.Version;
import com.dfsek.terra.api.command.CommandManager;
import com.dfsek.terra.api.command.TerraCommandManager;
import com.dfsek.terra.api.command.exception.MalformedCommandException;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.EventManager;
import com.dfsek.terra.api.event.EventManagerImpl;
import com.dfsek.terra.api.block.BlockData;
@@ -40,7 +41,6 @@ import com.dfsek.terra.config.GenericLoaders;
import com.dfsek.terra.config.PluginConfig;
import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.config.lang.Language;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.api.profiler.Profiler;
import com.dfsek.terra.profiler.ProfilerImpl;
import com.dfsek.terra.registry.master.AddonRegistry;

View File

@@ -11,6 +11,7 @@ import com.dfsek.terra.api.addon.annotations.Version;
import com.dfsek.terra.api.command.CommandManager;
import com.dfsek.terra.api.command.TerraCommandManager;
import com.dfsek.terra.api.command.exception.MalformedCommandException;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.EventListener;
import com.dfsek.terra.api.event.EventManager;
import com.dfsek.terra.api.event.EventManagerImpl;
@@ -36,7 +37,6 @@ import com.dfsek.terra.config.PluginConfig;
import com.dfsek.terra.config.builder.BiomeBuilder;
import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.config.lang.Language;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper;
import com.dfsek.terra.fabric.generation.PopulatorFeature;
import com.dfsek.terra.fabric.generation.TerraBiomeSource;

View File

@@ -1,5 +1,6 @@
package com.dfsek.terra.fabric.generation;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.generator.ChunkData;
import com.dfsek.terra.api.world.generator.GeneratorWrapper;
@@ -7,7 +8,7 @@ import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.api.world.generation.Chunkified;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
import com.dfsek.terra.api.world.locate.AsyncStructureFinder;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.fabric.TerraFabricPlugin;
import com.dfsek.terra.fabric.block.FabricBlockData;
import com.dfsek.terra.fabric.mixin.StructureAccessorAccessor;
@@ -71,10 +72,10 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Gener
private final DefaultChunkGenerator3D delegate;
private final TerraBiomeSource biomeSource;
private final ConfigPack pack;
private final ConfigPackImpl pack;
private DimensionType dimensionType;
public FabricChunkGeneratorWrapper(TerraBiomeSource biomeSource, long seed, ConfigPack configPack) {
public FabricChunkGeneratorWrapper(TerraBiomeSource biomeSource, long seed, ConfigPackImpl configPack) {
super(biomeSource, new StructuresConfig(false));
this.pack = configPack;
@@ -96,7 +97,7 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Gener
return new FabricChunkGeneratorWrapper((TerraBiomeSource) this.biomeSource.withSeed(seed), seed, pack);
}
public ConfigPack getPack() {
public ConfigPackImpl getPack() {
return pack;
}

View File

@@ -1,8 +1,9 @@
package com.dfsek.terra.fabric.generation;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.fabric.TerraFabricPlugin;
import com.dfsek.terra.fabric.util.FabricUtil;
import com.mojang.serialization.Codec;
@@ -29,9 +30,9 @@ public class TerraBiomeSource extends BiomeSource {
private final Registry<Biome> biomeRegistry;
private final long seed;
private final BiomeProvider grid;
private final ConfigPack pack;
private final ConfigPackImpl pack;
public TerraBiomeSource(Registry<Biome> biomes, long seed, ConfigPack pack) {
public TerraBiomeSource(Registry<Biome> biomes, long seed, ConfigPackImpl pack) {
super(biomes.stream()
.filter(biome -> Objects.requireNonNull(biomes.getId(biome)).getNamespace().equals("terra")) // Filter out non-Terra biomes.
.collect(Collectors.toList()));

View File

@@ -1,13 +1,11 @@
package com.dfsek.terra.fabric.generation;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.fabric.TerraFabricPlugin;
import com.dfsek.terra.fabric.event.BiomeRegistrationEvent;
import com.dfsek.terra.fabric.util.FabricUtil;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.world.GeneratorType;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.DynamicRegistryManager;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.biome.Biome;
@@ -17,9 +15,9 @@ import net.minecraft.world.gen.chunk.ChunkGeneratorSettings;
@Environment(EnvType.CLIENT)
public class TerraGeneratorType extends GeneratorType {
private final ConfigPack pack;
private final ConfigPackImpl pack;
public TerraGeneratorType(ConfigPack pack) {
public TerraGeneratorType(ConfigPackImpl pack) {
super("terra." + pack.getTemplate().getID());
this.pack = pack;
}

View File

@@ -1,13 +1,11 @@
package com.dfsek.terra.fabric.mixin.lifecycle.server;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.fabric.TerraFabricPlugin;
import com.dfsek.terra.fabric.event.BiomeRegistrationEvent;
import com.dfsek.terra.fabric.generation.TerraBiomeSource;
import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper;
import com.dfsek.terra.fabric.util.FabricUtil;
import com.google.common.base.MoreObjects;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.DynamicRegistryManager;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.SimpleRegistry;
@@ -58,7 +56,7 @@ public abstract class GeneratorOptionsMixin {
prop = prop.substring(prop.indexOf(":") + 1);
ConfigPack config = main.getConfigRegistry().get(prop);
ConfigPackImpl config = main.getConfigRegistry().get(prop);
if(config == null) throw new IllegalArgumentException("No such pack " + prop);

View File

@@ -2,7 +2,7 @@ package com.dfsek.terra.fabric.util;
import com.dfsek.terra.api.util.generic.pair.Pair;
import com.dfsek.terra.config.builder.BiomeBuilder;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.config.templates.BiomeTemplate;
import com.dfsek.terra.fabric.TerraFabricPlugin;
import com.dfsek.terra.fabric.config.PostLoadCompatibilityOptions;
@@ -29,7 +29,7 @@ import java.util.Map;
import java.util.function.Supplier;
public final class FabricUtil {
public static String createBiomeID(ConfigPack pack, String biomeID) {
public static String createBiomeID(ConfigPackImpl pack, String biomeID) {
return pack.getTemplate().getID().toLowerCase() + "/" + biomeID.toLowerCase(Locale.ROOT);
}
@@ -40,7 +40,7 @@ public final class FabricUtil {
* @param pack The ConfigPack this biome belongs to.
* @return The Minecraft delegate biome.
*/
public static Biome createBiome(BiomeBuilder biome, ConfigPack pack, DynamicRegistryManager registryManager) {
public static Biome createBiome(BiomeBuilder biome, ConfigPackImpl pack, DynamicRegistryManager registryManager) {
BiomeTemplate template = biome.getTemplate();
Map<String, Integer> colors = template.getColors();

View File

@@ -3,6 +3,7 @@ package com.dfsek.terra;
import com.dfsek.tectonic.loading.TypeRegistry;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.EventManager;
import com.dfsek.terra.api.event.EventManagerImpl;
import com.dfsek.terra.api.block.BlockData;
@@ -18,7 +19,6 @@ import com.dfsek.terra.config.GenericLoaders;
import com.dfsek.terra.config.PluginConfig;
import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.config.lang.Language;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.platform.RawBiome;
import com.dfsek.terra.platform.RawWorldHandle;
import com.dfsek.terra.api.profiler.Profiler;

View File

@@ -3,6 +3,7 @@ package com.dfsek.terra.sponge;
import com.dfsek.tectonic.loading.TypeRegistry;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.EventManager;
import com.dfsek.terra.api.event.EventManagerImpl;
import com.dfsek.terra.api.handle.ItemHandle;
@@ -13,7 +14,6 @@ import com.dfsek.terra.api.registry.LockedRegistry;
import com.dfsek.terra.api.util.logging.DebugLogger;
import com.dfsek.terra.config.PluginConfig;
import com.dfsek.terra.config.lang.Language;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.api.profiler.Profiler;
import com.dfsek.terra.registry.master.AddonRegistry;
import com.dfsek.terra.registry.master.ConfigRegistry;