    001    package net.minecraft.world;
    002
    003    import cpw.mods.fml.common.Side;
    004    import cpw.mods.fml.common.asm.SideOnly;
    005    import net.minecraft.world.storage.WorldInfo;
    006
    007    public 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    }