use getCheckedRegistry where possible

This commit is contained in:
dfsek
2021-07-05 21:52:28 -07:00
parent 52a269b686
commit 04725698e8
8 changed files with 11 additions and 13 deletions

View File

@@ -63,7 +63,7 @@ public class NoiseAddon extends TerraAddon implements EventListener {
@SuppressWarnings("deprecation")
public void packPreLoad(ConfigPackPreLoadEvent event) {
CheckedRegistry<NoiseProvider> noiseRegistry = event.getPack().getRegistry(NoiseProvider.class);
CheckedRegistry<NoiseProvider> noiseRegistry = event.getPack().getCheckedRegistry(NoiseProvider.class);
event.getPack()
.applyLoader(NoiseSeeded.class, new NoiseSamplerBuilderLoader(noiseRegistry));

View File

@@ -33,8 +33,8 @@ public class TerraScriptAddon extends TerraAddon implements EventListener {
}
public void onPackLoad(ConfigPackPreLoadEvent event) throws ConfigException {
CheckedRegistry<Structure> structureRegistry = event.getPack().getRegistry(Structure.class);
CheckedRegistry<LootTable> lootRegistry = event.getPack().getRegistry(LootTable.class);
CheckedRegistry<Structure> structureRegistry = event.getPack().getCheckedRegistry(Structure.class);
CheckedRegistry<LootTable> lootRegistry = event.getPack().getCheckedRegistry(LootTable.class);
event.getPack().getLoader().open("", ".tesf").thenEntries(entries -> {
for(Map.Entry<String, InputStream> entry : entries) {
try {

View File

@@ -13,8 +13,6 @@ import java.util.Map;
import java.util.Set;
public interface ConfigPack extends LoaderRegistrar, LoaderHolder, RegistryHolder {
<T> CheckedRegistry<T> getRegistry(Class<T> clazz);
BiomeProviderBuilder getBiomeProviderBuilder();
WorldConfig toWorldConfig(TerraWorld world);

View File

@@ -6,5 +6,5 @@ import com.dfsek.terra.api.registry.Registry;
public interface RegistryHolder {
<T> Registry<T> getRegistry(Class<T> clazz);
<T>CheckedRegistry<T> getCheckedRegistry(Class<T> clazz) throws IllegalStateException;
<T> CheckedRegistry<T> getCheckedRegistry(Class<T> clazz) throws IllegalStateException;
}

View File

@@ -249,7 +249,7 @@ public class ConfigPackImpl implements ConfigPack {
for(ConfigType<?, ?> configType : configTypeRegistry.entries()) {
for(AbstractableTemplate config : abstractConfigLoader.loadConfigs(configs.getOrDefault(configType, Collections.emptyList()), () -> configType.getTemplate(this, main))) {
try {
((CheckedRegistry) getRegistry(configType.getTypeClass())).register(config.getID(), ((ConfigFactory) configType.getFactory()).build(config, main));
((CheckedRegistry) getCheckedRegistry(configType.getTypeClass())).register(config.getID(), ((ConfigFactory) configType.getFactory()).build(config, main));
} catch(DuplicateEntryException e) {
throw new LoadException("Duplicate registry entry: ", e);
}

View File

@@ -34,7 +34,7 @@ public class WorldConfigImpl implements WorldConfig {
pack.getRegistryMap().forEach((clazz, pair) -> registryMap.put(clazz, new LockedRegistryImpl<>(pair.getLeft())));
OpenRegistry<TerraBiome> biomeOpenRegistry = new OpenRegistryImpl<>();
pack.getRegistry(BiomeBuilder.class).forEach((id, biome) -> biomeOpenRegistry.register(id, biome.apply(world.getWorld().getSeed())));
pack.getCheckedRegistry(BiomeBuilder.class).forEach((id, biome) -> biomeOpenRegistry.register(id, biome.apply(world.getWorld().getSeed())));
registryMap.put(TerraBiome.class, new LockedRegistryImpl<>(biomeOpenRegistry));
this.provider = pack.getBiomeProviderBuilder().build(world.getWorld().getSeed());