Search in sources :

Example 1 with CatalogTypeAlreadyRegisteredException

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;
}
Also used : WorldArchetype(org.spongepowered.api.world.WorldArchetype) IMixinWorldSettings(org.spongepowered.common.interfaces.world.IMixinWorldSettings) WorldSettings(net.minecraft.world.WorldSettings) IMixinWorldSettings(org.spongepowered.common.interfaces.world.IMixinWorldSettings) CatalogTypeAlreadyRegisteredException(org.spongepowered.api.registry.CatalogTypeAlreadyRegisteredException)

Aggregations

WorldSettings (net.minecraft.world.WorldSettings)1 CatalogTypeAlreadyRegisteredException (org.spongepowered.api.registry.CatalogTypeAlreadyRegisteredException)1 WorldArchetype (org.spongepowered.api.world.WorldArchetype)1 IMixinWorldSettings (org.spongepowered.common.interfaces.world.IMixinWorldSettings)1