add Namespaced and RegistryKey interfaces

This commit is contained in:
dfsek 2021-12-24 00:00:50 -07:00
parent a092dfdc3b
commit 9ae259f1ed
16 changed files with 38 additions and 15 deletions

View File

@ -22,7 +22,7 @@ import com.dfsek.terra.addons.biome.pipeline.api.BiomeHolder;
import com.dfsek.terra.addons.biome.pipeline.api.delegate.BiomeDelegate; import com.dfsek.terra.addons.biome.pipeline.api.delegate.BiomeDelegate;
import com.dfsek.terra.addons.biome.pipeline.api.stage.Stage; import com.dfsek.terra.addons.biome.pipeline.api.stage.Stage;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
import com.dfsek.terra.api.world.biome.Biome; import com.dfsek.terra.api.world.biome.Biome;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;

View File

@ -2,7 +2,7 @@ package com.dfsek.terra.addons.biome.pipeline.api.delegate;
import java.util.Set; import java.util.Set;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
import com.dfsek.terra.api.world.biome.Biome; import com.dfsek.terra.api.world.biome.Biome;

View File

@ -15,7 +15,7 @@ import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.profiler.ProfileFrame; import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.api.util.PopulationUtil; import com.dfsek.terra.api.util.PopulationUtil;
import com.dfsek.terra.api.util.Rotation; import com.dfsek.terra.api.util.Rotation;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
import com.dfsek.terra.api.util.vector.Vector3Int; import com.dfsek.terra.api.util.vector.Vector3Int;
import com.dfsek.terra.api.world.chunk.generation.ProtoWorld; import com.dfsek.terra.api.world.chunk.generation.ProtoWorld;
import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage; import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage;

View File

@ -17,7 +17,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
@SuppressWarnings("FieldMayBeFinal") @SuppressWarnings("FieldMayBeFinal")

View File

@ -13,7 +13,7 @@ import ca.solostudios.strata.version.VersionRange;
import java.util.Collections; import java.util.Collections;
import java.util.Map; import java.util.Map;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
/** /**

View File

@ -7,7 +7,7 @@
package com.dfsek.terra.api.block.state.properties; package com.dfsek.terra.api.block.state.properties;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
import java.util.Collection; import java.util.Collection;

View File

@ -9,7 +9,7 @@ package com.dfsek.terra.api.config;
import com.dfsek.tectonic.api.config.template.ConfigTemplate; import com.dfsek.tectonic.api.config.template.ConfigTemplate;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
/** /**

View File

@ -10,7 +10,6 @@ package com.dfsek.terra.api.config;
import ca.solostudios.strata.version.Version; import ca.solostudios.strata.version.Version;
import ca.solostudios.strata.version.VersionRange; import ca.solostudios.strata.version.VersionRange;
import java.lang.reflect.Type;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -20,7 +19,7 @@ import com.dfsek.terra.api.registry.meta.RegistryHolder;
import com.dfsek.terra.api.tectonic.ConfigLoadingDelegate; import com.dfsek.terra.api.tectonic.ConfigLoadingDelegate;
import com.dfsek.terra.api.tectonic.LoaderRegistrar; import com.dfsek.terra.api.tectonic.LoaderRegistrar;
import com.dfsek.terra.api.tectonic.ShortcutLoader; import com.dfsek.terra.api.tectonic.ShortcutLoader;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
import com.dfsek.terra.api.util.reflection.TypeKey; import com.dfsek.terra.api.util.reflection.TypeKey;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage; import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage;

View File

@ -0,0 +1,19 @@
package com.dfsek.terra.api.registry.key;
public interface Namespaced {
String getNamespace();
default RegistryKey getKey(String key) {
return new RegistryKey() {
@Override
public String getNamespace() {
return Namespaced.this.getNamespace();
}
@Override
public String getID() {
return key;
}
};
}
}

View File

@ -0,0 +1,5 @@
package com.dfsek.terra.api.registry.key;
public interface RegistryKey extends StringIdentifiable, Namespaced {
}

View File

@ -5,7 +5,7 @@
* reference the LICENSE file in the common/api directory. * reference the LICENSE file in the common/api directory.
*/ */
package com.dfsek.terra.api.util; package com.dfsek.terra.api.registry.key;
public interface StringIdentifiable { public interface StringIdentifiable {
String getID(); String getID();

View File

@ -10,7 +10,7 @@ package com.dfsek.terra.api.structure;
import java.util.Random; import java.util.Random;
import com.dfsek.terra.api.util.Rotation; import com.dfsek.terra.api.util.Rotation;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
import com.dfsek.terra.api.util.vector.Vector3Int; import com.dfsek.terra.api.util.vector.Vector3Int;
import com.dfsek.terra.api.world.WritableWorld; import com.dfsek.terra.api.world.WritableWorld;

View File

@ -12,7 +12,7 @@ import org.jetbrains.annotations.ApiStatus.Experimental;
import com.dfsek.terra.api.structure.Structure; import com.dfsek.terra.api.structure.Structure;
import com.dfsek.terra.api.structure.StructureSpawn; import com.dfsek.terra.api.structure.StructureSpawn;
import com.dfsek.terra.api.util.Range; import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
import com.dfsek.terra.api.util.collection.ProbabilityCollection; import com.dfsek.terra.api.util.collection.ProbabilityCollection;

View File

@ -8,7 +8,7 @@
package com.dfsek.terra.api.structure.feature; package com.dfsek.terra.api.structure.feature;
import com.dfsek.terra.api.structure.Structure; import com.dfsek.terra.api.structure.Structure;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
import com.dfsek.terra.api.world.WritableWorld; import com.dfsek.terra.api.world.WritableWorld;

View File

@ -11,7 +11,7 @@ package com.dfsek.terra.api.world.biome;
import java.util.Set; import java.util.Set;
import com.dfsek.terra.api.properties.PropertyHolder; import com.dfsek.terra.api.properties.PropertyHolder;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
/** /**

View File

@ -58,7 +58,7 @@ import com.dfsek.terra.api.inject.impl.InjectorImpl;
import com.dfsek.terra.api.profiler.Profiler; import com.dfsek.terra.api.profiler.Profiler;
import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.registry.Registry; import com.dfsek.terra.api.registry.Registry;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.registry.key.StringIdentifiable;
import com.dfsek.terra.api.util.mutable.MutableBoolean; import com.dfsek.terra.api.util.mutable.MutableBoolean;
import com.dfsek.terra.config.GenericLoaders; import com.dfsek.terra.config.GenericLoaders;
import com.dfsek.terra.config.PluginConfigImpl; import com.dfsek.terra.config.PluginConfigImpl;