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.stage.Stage;
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.generation.BiomeProvider;

View File

@ -2,7 +2,7 @@ package com.dfsek.terra.addons.biome.pipeline.api.delegate;
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;

View File

@ -15,7 +15,7 @@ import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.api.util.PopulationUtil;
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.world.chunk.generation.ProtoWorld;
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.Map;
import com.dfsek.terra.api.util.StringIdentifiable;
import com.dfsek.terra.api.registry.key.StringIdentifiable;
@SuppressWarnings("FieldMayBeFinal")

View File

@ -13,7 +13,7 @@ import ca.solostudios.strata.version.VersionRange;
import java.util.Collections;
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;
import com.dfsek.terra.api.util.StringIdentifiable;
import com.dfsek.terra.api.registry.key.StringIdentifiable;
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.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.VersionRange;
import java.lang.reflect.Type;
import java.util.List;
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.LoaderRegistrar;
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.world.biome.generation.BiomeProvider;
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.
*/
package com.dfsek.terra.api.util;
package com.dfsek.terra.api.registry.key;
public interface StringIdentifiable {
String getID();

View File

@ -10,7 +10,7 @@ package com.dfsek.terra.api.structure;
import java.util.Random;
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.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.StructureSpawn;
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;

View File

@ -8,7 +8,7 @@
package com.dfsek.terra.api.structure.feature;
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;

View File

@ -11,7 +11,7 @@ package com.dfsek.terra.api.world.biome;
import java.util.Set;
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.registry.CheckedRegistry;
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.config.GenericLoaders;
import com.dfsek.terra.config.PluginConfigImpl;