mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-04 06:46:21 +00:00
working biome config addon
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.dfsek.terra.api.config;
|
||||
|
||||
import com.dfsek.terra.api.registry.meta.RegistryFactory;
|
||||
import com.dfsek.terra.api.registry.meta.RegistryHolder;
|
||||
import com.dfsek.terra.api.tectonic.LoaderHolder;
|
||||
import com.dfsek.terra.api.tectonic.LoaderRegistrar;
|
||||
@@ -41,4 +42,6 @@ public interface ConfigPack extends LoaderRegistrar, LoaderHolder, RegistryHolde
|
||||
boolean doBetaCarvers();
|
||||
|
||||
boolean vanillaFlora();
|
||||
|
||||
RegistryFactory getRegistryFactory();
|
||||
}
|
||||
|
||||
@@ -7,10 +7,10 @@ import com.dfsek.terra.api.registry.OpenRegistry;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public interface ConfigType<T extends ConfigTemplate, R> {
|
||||
public interface ConfigType<T extends AbstractableTemplate, R> {
|
||||
T getTemplate(ConfigPack pack, TerraPlugin main);
|
||||
|
||||
void callback(ConfigPack pack, TerraPlugin main, T loadedConfig) throws LoadException;
|
||||
ConfigFactory<T, R> getFactory();
|
||||
|
||||
Class<R> getTypeClass();
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.dfsek.terra.api.registry.meta;
|
||||
|
||||
import com.dfsek.tectonic.loading.TypeLoader;
|
||||
import com.dfsek.terra.api.registry.OpenRegistry;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
/**
|
||||
* Helpers to avoid creating entire registry implementations for simple overrides.
|
||||
*/
|
||||
public interface RegistryFactory {
|
||||
/**
|
||||
* Create a generic OpenRegistry.
|
||||
* @param <T> Type of registry.
|
||||
* @return New OpenRegistry
|
||||
*/
|
||||
<T> OpenRegistry<T> create();
|
||||
|
||||
/**
|
||||
* Create an OpenRegistry with custom {@link TypeLoader}
|
||||
* @param loader Function to create loader.
|
||||
* @param <T> Type of registry.
|
||||
* @return New OpenRegistry.
|
||||
*/
|
||||
<T> OpenRegistry<T> create(Function<OpenRegistry<T>, TypeLoader<T>> loader);
|
||||
}
|
||||
Reference in New Issue
Block a user