    001package net.minecraft.world;
    002
    003import cpw.mods.fml.relauncher.Side;
    004import cpw.mods.fml.relauncher.SideOnly;
    005import net.minecraft.world.storage.WorldInfo;
    006
    007public final class WorldSettings
    008{
    009    /** The seed for the map. */
    010    private final long seed;
    011
    012    /** The EnumGameType. */
    013    private final EnumGameType theGameType;
    014
    015    /**
    016     * Switch for the map features. 'true' for enabled, 'false' for disabled.
    017     */
    018    private final boolean mapFeaturesEnabled;
    019
    020    /** True if hardcore mode is enabled */
    021    private final boolean hardcoreEnabled;
    022    private final WorldType terrainType;
    023
    024    /** True if Commands (cheats) are allowed. */
    025    private boolean commandsAllowed;
    026
    027    /** True if the Bonus Chest is enabled. */
    028    private boolean bonusChestEnabled;
    029    private String field_82751_h;
    030
    031    public WorldSettings(long par1, EnumGameType par3EnumGameType, boolean par4, boolean par5, WorldType par6WorldType)
    032    {
    033        this.field_82751_h = "";
    034        this.seed = par1;
    035        this.theGameType = par3EnumGameType;
    036        this.mapFeaturesEnabled = par4;
    037        this.hardcoreEnabled = par5;
    038        this.terrainType = par6WorldType;
    039    }
    040
    041    public WorldSettings(WorldInfo par1WorldInfo)
    042    {
    043        this(par1WorldInfo.getSeed(), par1WorldInfo.getGameType(), par1WorldInfo.isMapFeaturesEnabled(), par1WorldInfo.isHardcoreModeEnabled(), par1WorldInfo.getTerrainType());
    044    }
    045
    046    /**
    047     * Enables the bonus chest.
    048     */
    049    public WorldSettings enableBonusChest()
    050    {
    051        this.bonusChestEnabled = true;
    052        return this;
    053    }
    054
    055    public WorldSettings func_82750_a(String par1Str)
    056    {
    057        this.field_82751_h = par1Str;
    058        return this;
    059    }
    060
    061    @SideOnly(Side.CLIENT)
    062
    063    /**
    064     * Enables Commands (cheats).
    065     */
    066    public WorldSettings enableCommands()
    067    {
    068        this.commandsAllowed = true;
    069        return this;
    070    }
    071
    072    /**
    073     * Returns true if the Bonus Chest is enabled.
    074     */
    075    public boolean isBonusChestEnabled()
    076    {
    077        return this.bonusChestEnabled;
    078    }
    079
    080    /**
    081     * Returns the seed for the world.
    082     */
    083    public long getSeed()
    084    {
    085        return this.seed;
    086    }
    087
    088    /**
    089     * Gets the game type.
    090     */
    091    public EnumGameType getGameType()
    092    {
    093        return this.theGameType;
    094    }
    095
    096    /**
    097     * Returns true if hardcore mode is enabled, otherwise false
    098     */
    099    public boolean getHardcoreEnabled()
    100    {
    101        return this.hardcoreEnabled;
    102    }
    103
    104    /**
    105     * Get whether the map features (e.g. strongholds) generation is enabled or disabled.
    106     */
    107    public boolean isMapFeaturesEnabled()
    108    {
    109        return this.mapFeaturesEnabled;
    110    }
    111
    112    public WorldType getTerrainType()
    113    {
    114        return this.terrainType;
    115    }
    116
    117    /**
    118     * Returns true if Commands (cheats) are allowed.
    119     */
    120    public boolean areCommandsAllowed()
    121    {
    122        return this.commandsAllowed;
    123    }
    124
    125    /**
    126     * Gets the GameType by ID
    127     */
    128    public static EnumGameType getGameTypeById(int par0)
    129    {
    130        return EnumGameType.getByID(par0);
    131    }
    132
    133    public String func_82749_j()
    134    {
    135        return this.field_82751_h;
    136    }
    137}