001package net.minecraft.world.storage;
002
003import cpw.mods.fml.relauncher.Side;
004import cpw.mods.fml.relauncher.SideOnly;
005import net.minecraft.nbt.NBTTagCompound;
006import net.minecraft.world.EnumGameType;
007import net.minecraft.world.GameRules;
008import net.minecraft.world.WorldType;
009
010public class DerivedWorldInfo extends WorldInfo
011{
012    /** Instance of WorldInfo. */
013    private final WorldInfo theWorldInfo;
014
015    public DerivedWorldInfo(WorldInfo par1WorldInfo)
016    {
017        this.theWorldInfo = par1WorldInfo;
018    }
019
020    /**
021     * Gets the NBTTagCompound for the worldInfo
022     */
023    public NBTTagCompound getNBTTagCompound()
024    {
025        return this.theWorldInfo.getNBTTagCompound();
026    }
027
028    /**
029     * Creates a new NBTTagCompound for the world, with the given NBTTag as the "Player"
030     */
031    public NBTTagCompound cloneNBTCompound(NBTTagCompound par1NBTTagCompound)
032    {
033        return this.theWorldInfo.cloneNBTCompound(par1NBTTagCompound);
034    }
035
036    /**
037     * Returns the seed of current world.
038     */
039    public long getSeed()
040    {
041        return this.theWorldInfo.getSeed();
042    }
043
044    /**
045     * Returns the x spawn position
046     */
047    public int getSpawnX()
048    {
049        return this.theWorldInfo.getSpawnX();
050    }
051
052    /**
053     * Return the Y axis spawning point of the player.
054     */
055    public int getSpawnY()
056    {
057        return this.theWorldInfo.getSpawnY();
058    }
059
060    /**
061     * Returns the z spawn position
062     */
063    public int getSpawnZ()
064    {
065        return this.theWorldInfo.getSpawnZ();
066    }
067
068    public long getWorldTotalTime()
069    {
070        return this.theWorldInfo.getWorldTotalTime();
071    }
072
073    /**
074     * Get current world time
075     */
076    public long getWorldTime()
077    {
078        return this.theWorldInfo.getWorldTime();
079    }
080
081    @SideOnly(Side.CLIENT)
082    public long getSizeOnDisk()
083    {
084        return this.theWorldInfo.getSizeOnDisk();
085    }
086
087    /**
088     * Returns the player's NBTTagCompound to be loaded
089     */
090    public NBTTagCompound getPlayerNBTTagCompound()
091    {
092        return this.theWorldInfo.getPlayerNBTTagCompound();
093    }
094
095    public int getDimension()
096    {
097        return this.theWorldInfo.getDimension();
098    }
099
100    /**
101     * Get current world name
102     */
103    public String getWorldName()
104    {
105        return this.theWorldInfo.getWorldName();
106    }
107
108    /**
109     * Returns the save version of this world
110     */
111    public int getSaveVersion()
112    {
113        return this.theWorldInfo.getSaveVersion();
114    }
115
116    @SideOnly(Side.CLIENT)
117
118    /**
119     * Return the last time the player was in this world.
120     */
121    public long getLastTimePlayed()
122    {
123        return this.theWorldInfo.getLastTimePlayed();
124    }
125
126    /**
127     * Returns true if it is thundering, false otherwise.
128     */
129    public boolean isThundering()
130    {
131        return this.theWorldInfo.isThundering();
132    }
133
134    /**
135     * Returns the number of ticks until next thunderbolt.
136     */
137    public int getThunderTime()
138    {
139        return this.theWorldInfo.getThunderTime();
140    }
141
142    /**
143     * Returns true if it is raining, false otherwise.
144     */
145    public boolean isRaining()
146    {
147        return this.theWorldInfo.isRaining();
148    }
149
150    /**
151     * Return the number of ticks until rain.
152     */
153    public int getRainTime()
154    {
155        return this.theWorldInfo.getRainTime();
156    }
157
158    /**
159     * Gets the GameType.
160     */
161    public EnumGameType getGameType()
162    {
163        return this.theWorldInfo.getGameType();
164    }
165
166    @SideOnly(Side.CLIENT)
167
168    /**
169     * Set the x spawn position to the passed in value
170     */
171    public void setSpawnX(int par1) {}
172
173    @SideOnly(Side.CLIENT)
174
175    /**
176     * Sets the y spawn position
177     */
178    public void setSpawnY(int par1) {}
179
180    public void incrementTotalWorldTime(long par1) {}
181
182    @SideOnly(Side.CLIENT)
183
184    /**
185     * Set the z spawn position to the passed in value
186     */
187    public void setSpawnZ(int par1) {}
188
189    /**
190     * Set current world time
191     */
192    public void setWorldTime(long par1) {}
193
194    /**
195     * Sets the spawn zone position. Args: x, y, z
196     */
197    public void setSpawnPosition(int par1, int par2, int par3) {}
198
199    public void setWorldName(String par1Str) {}
200
201    /**
202     * Sets the save version of the world
203     */
204    public void setSaveVersion(int par1) {}
205
206    /**
207     * Sets whether it is thundering or not.
208     */
209    public void setThundering(boolean par1) {}
210
211    /**
212     * Defines the number of ticks until next thunderbolt.
213     */
214    public void setThunderTime(int par1) {}
215
216    /**
217     * Sets whether it is raining or not.
218     */
219    public void setRaining(boolean par1) {}
220
221    /**
222     * Sets the number of ticks until rain.
223     */
224    public void setRainTime(int par1) {}
225
226    /**
227     * Get whether the map features (e.g. strongholds) generation is enabled or disabled.
228     */
229    public boolean isMapFeaturesEnabled()
230    {
231        return this.theWorldInfo.isMapFeaturesEnabled();
232    }
233
234    /**
235     * Returns true if hardcore mode is enabled, otherwise false
236     */
237    public boolean isHardcoreModeEnabled()
238    {
239        return this.theWorldInfo.isHardcoreModeEnabled();
240    }
241
242    public WorldType getTerrainType()
243    {
244        return this.theWorldInfo.getTerrainType();
245    }
246
247    public void setTerrainType(WorldType par1WorldType) {}
248
249    /**
250     * Returns true if commands are allowed on this World.
251     */
252    public boolean areCommandsAllowed()
253    {
254        return this.theWorldInfo.areCommandsAllowed();
255    }
256
257    /**
258     * Returns true if the World is initialized.
259     */
260    public boolean isInitialized()
261    {
262        return this.theWorldInfo.isInitialized();
263    }
264
265    /**
266     * Sets the initialization status of the World.
267     */
268    public void setServerInitialized(boolean par1) {}
269
270    /**
271     * Gets the GameRules class Instance.
272     */
273    public GameRules getGameRulesInstance()
274    {
275        return this.theWorldInfo.getGameRulesInstance();
276    }
277}