Check if save folder exists for better error messages
This commit is contained in:
@@ -28,6 +28,7 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.world.IServerLevelWrapp
|
|||||||
import com.seibel.distanthorizons.core.logging.DhLogger;
|
import com.seibel.distanthorizons.core.logging.DhLogger;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -70,9 +71,11 @@ public abstract class AbstractDhServerLevel extends AbstractDhLevel implements I
|
|||||||
boolean runRepoReliantSetup
|
boolean runRepoReliantSetup
|
||||||
) throws SQLException, IOException
|
) throws SQLException, IOException
|
||||||
{
|
{
|
||||||
if (saveStructure.getSaveFolder(serverLevelWrapper).mkdirs())
|
File saveFolder = saveStructure.getSaveFolder(serverLevelWrapper);
|
||||||
|
saveFolder.mkdirs();
|
||||||
|
if (!saveFolder.exists())
|
||||||
{
|
{
|
||||||
LOGGER.warn("unable to create data folder.");
|
throw new IOException("unable to create save folder at ["+saveFolder.getPath()+"]. If you're on Windows you may need to enable long file paths.");
|
||||||
}
|
}
|
||||||
this.serverLevelWrapper = serverLevelWrapper;
|
this.serverLevelWrapper = serverLevelWrapper;
|
||||||
this.serverside = new ServerLevelModule(this, saveStructure);
|
this.serverside = new ServerLevelModule(this, saveStructure);
|
||||||
|
|||||||
@@ -115,16 +115,19 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel
|
|||||||
File saveFolder = saveStructure.getSaveFolder(clientLevelWrapper);
|
File saveFolder = saveStructure.getSaveFolder(clientLevelWrapper);
|
||||||
File pre23Folder = saveStructure.getPre23SaveFolder(clientLevelWrapper);
|
File pre23Folder = saveStructure.getPre23SaveFolder(clientLevelWrapper);
|
||||||
|
|
||||||
|
saveFolder.mkdirs();
|
||||||
|
|
||||||
if (pre23Folder.exists())
|
if (pre23Folder.exists())
|
||||||
{
|
{
|
||||||
if (!pre23Folder.renameTo(saveFolder))
|
if (!pre23Folder.renameTo(saveFolder))
|
||||||
{
|
{
|
||||||
throw new RuntimeException("Could not move old save data folder: " + pre23Folder.getAbsolutePath() + " to " + saveFolder.getAbsolutePath());
|
throw new RuntimeException("Could not move old save data folder: [" + pre23Folder.getAbsolutePath() + "] to [" + saveFolder.getAbsolutePath() + "].");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (saveStructure.getSaveFolder(clientLevelWrapper).mkdirs())
|
|
||||||
|
if (!saveFolder.exists())
|
||||||
{
|
{
|
||||||
LOGGER.warn("unable to create data folder.");
|
throw new IOException("unable to create save folder at ["+saveFolder.getPath()+"]. If you're on Windows you may need to enable long file paths.");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.levelWrapper = clientLevelWrapper;
|
this.levelWrapper = clientLevelWrapper;
|
||||||
|
|||||||
@@ -104,7 +104,8 @@ public class DhClientServerWorld extends AbstractDhServerWorld<DhClientServerLev
|
|||||||
|
|
||||||
ClientApi.INSTANCE.showChatMessageNextFrame(// red text
|
ClientApi.INSTANCE.showChatMessageNextFrame(// red text
|
||||||
r + "Distant Horizons: ClientServer level loading failed." + cf + "\n" +
|
r + "Distant Horizons: ClientServer level loading failed." + cf + "\n" +
|
||||||
"Unable to load level ["+y+levelWrapper.getDhIdentifier()+cf+"], LODs may not appear. See log for more information.");
|
"Unable to load level ["+y+levelWrapper.getDhIdentifier()+cf+"], LODs may not appear. See log for more information.\n" +
|
||||||
|
"");
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -152,7 +152,8 @@ public class DhClientWorld extends AbstractDhWorld implements IDhClientWorld
|
|||||||
|
|
||||||
ClientApi.INSTANCE.showChatMessageNextFrame(
|
ClientApi.INSTANCE.showChatMessageNextFrame(
|
||||||
r + "Distant Horizons: Client level loading failed." + cf + "\n" +
|
r + "Distant Horizons: Client level loading failed." + cf + "\n" +
|
||||||
"Unable to load level ["+y+clientLevelWrapper.getDhIdentifier()+cf+"], LODs may not appear. See log for more information.");
|
"Unable to load level ["+y+clientLevelWrapper.getDhIdentifier()+cf+"], LODs may not appear. See log for more information. \n" +
|
||||||
|
"");
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,7 +81,8 @@ public class DhServerWorld extends AbstractDhServerWorld<DhServerLevel>
|
|||||||
|
|
||||||
ClientApi.INSTANCE.showChatMessageNextFrame(
|
ClientApi.INSTANCE.showChatMessageNextFrame(
|
||||||
r + "Distant Horizons: Server level loading failed." + cf + "\n" +
|
r + "Distant Horizons: Server level loading failed." + cf + "\n" +
|
||||||
"Unable to load level ["+y+serverLevelWrapper.getDhIdentifier()+cf+"], LODs may not appear. See log for more information.");
|
"Unable to load level ["+y+serverLevelWrapper.getDhIdentifier()+cf+"], LODs may not appear. See log for more information.\n" +
|
||||||
|
"");
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user