use of org.spongepowered.api.registry.CatalogTypeAlreadyRegisteredException in project SpongeCommon by SpongePowered.
the class SpongeWorldArchetypeBuilder method build.
@Override
public WorldArchetype build(String id, String name) throws IllegalArgumentException, CatalogTypeAlreadyRegisteredException {
WorldArchetypeRegistryModule.getInstance().getById(id).ifPresent(w -> {
throw new CatalogTypeAlreadyRegisteredException(id);
});
final WorldSettings settings = new WorldSettings(this.seed, (GameType) (Object) this.gameMode, this.mapFeaturesEnabled, this.hardcore, (WorldType) this.generatorType);
IMixinWorldSettings spongeSettings = (IMixinWorldSettings) (Object) settings;
spongeSettings.setId(id);
spongeSettings.setName(name);
spongeSettings.setDimensionType(this.dimensionType);
spongeSettings.setDifficulty(this.difficulty);
spongeSettings.setSerializationBehavior(this.serializationBehavior);
spongeSettings.setGeneratorSettings(this.generatorSettings);
spongeSettings.setGeneratorModifiers(this.generatorModifiers);
spongeSettings.setEnabled(this.worldEnabled);
spongeSettings.setLoadOnStartup(this.loadOnStartup);
spongeSettings.setKeepSpawnLoaded(this.keepSpawnLoaded);
spongeSettings.setGenerateSpawnOnLoad(this.generateSpawnOnLoad);
spongeSettings.setPVPEnabled(this.pvpEnabled);
spongeSettings.setCommandsAllowed(this.commandsAllowed);
spongeSettings.setGenerateBonusChest(this.generateBonusChest);
spongeSettings.fromBuilder(true);
spongeSettings.setPortalAgentType(this.portalAgentType);
spongeSettings.setRandomSeed(this.seedRandomized);
SpongeImpl.getRegistry().register(WorldArchetype.class, (WorldArchetype) (Object) settings);
return (WorldArchetype) (Object) settings;
}
Aggregations