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