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
029 public WorldSettings(long par1, EnumGameType par3EnumGameType, boolean par4, boolean par5, WorldType par6WorldType)
030 {
031 this.seed = par1;
032 this.theGameType = par3EnumGameType;
033 this.mapFeaturesEnabled = par4;
034 this.hardcoreEnabled = par5;
035 this.terrainType = par6WorldType;
036 }
037
038 public WorldSettings(WorldInfo par1WorldInfo)
039 {
040 this(par1WorldInfo.getSeed(), par1WorldInfo.getGameType(), par1WorldInfo.isMapFeaturesEnabled(), par1WorldInfo.isHardcoreModeEnabled(), par1WorldInfo.getTerrainType());
041 }
042
043 /**
044 * Enables the bonus chest.
045 */
046 public WorldSettings enableBonusChest()
047 {
048 this.bonusChestEnabled = true;
049 return this;
050 }
051
052 @SideOnly(Side.CLIENT)
053
054 /**
055 * Enables Commands (cheats).
056 */
057 public WorldSettings enableCommands()
058 {
059 this.commandsAllowed = true;
060 return this;
061 }
062
063 /**
064 * Returns true if the Bonus Chest is enabled.
065 */
066 public boolean isBonusChestEnabled()
067 {
068 return this.bonusChestEnabled;
069 }
070
071 /**
072 * Returns the seed for the world.
073 */
074 public long getSeed()
075 {
076 return this.seed;
077 }
078
079 /**
080 * Gets the game type.
081 */
082 public EnumGameType getGameType()
083 {
084 return this.theGameType;
085 }
086
087 /**
088 * Returns true if hardcore mode is enabled, otherwise false
089 */
090 public boolean getHardcoreEnabled()
091 {
092 return this.hardcoreEnabled;
093 }
094
095 /**
096 * Get whether the map features (e.g. strongholds) generation is enabled or disabled.
097 */
098 public boolean isMapFeaturesEnabled()
099 {
100 return this.mapFeaturesEnabled;
101 }
102
103 public WorldType getTerrainType()
104 {
105 return this.terrainType;
106 }
107
108 /**
109 * Returns true if Commands (cheats) are allowed.
110 */
111 public boolean areCommandsAllowed()
112 {
113 return this.commandsAllowed;
114 }
115
116 /**
117 * Gets the GameType by ID
118 */
119 public static EnumGameType getGameTypeById(int par0)
120 {
121 return EnumGameType.getByID(par0);
122 }
123 }