--- ../src_base/minecraft_server/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000 +++ ../src_work/minecraft_server/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000 @@ -1,5 +1,7 @@ package net.minecraft.src; +import net.minecraft.src.forge.DimensionManager; + public abstract class WorldProvider { /** world object being used */ @@ -124,7 +126,7 @@ public static WorldProvider getProviderForDimension(int par0) { - return (WorldProvider)(par0 == -1 ? new WorldProviderHell() : (par0 == 0 ? new WorldProviderSurface() : (par0 == 1 ? new WorldProviderEnd() : null))); + return DimensionManager.getProvider(par0); } /** @@ -139,4 +141,36 @@ { return this.terrainType == WorldType.field_48458_c ? 4 : 64; } + + /** + * Returns the sub-folder of the world folder that this WorldProvider saves to. + * EXA: DIM1, DIM-1 + * @return The sub-folder name to save this world's chunks to. + */ + public abstract String getSaveFolder(); + + /** + * A message to display to the user when they transfer to this dimension. + * + * @return The message to be displayed + */ + public abstract String getWelcomeMessage(); + + /** + * A Message to display to the user when they transfer out of this dismension. + * + * @return The message to be displayed + */ + public abstract String getDepartMessage(); + + /** + * The dimensions movement factor. Relative to normal overworld. + * It is applied to the players position when they transfer dimensions. + * Exa: Nether movement is 8.0 + * @return The movement factor + */ + public double getMovementFactor() + { + return 1.0; + } }