001    package net.minecraft.world;
002    
003    import cpw.mods.fml.relauncher.Side;
004    import cpw.mods.fml.relauncher.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    }