Fix incorrect folder being used without level keys

This commit is contained in:
s809
2024-10-08 22:37:51 +05:00
parent 2d8bad9aec
commit f350e8a2f9
@@ -82,12 +82,12 @@ public class ClientOnlySaveStructure implements ISaveStructure
IServerKeyedClientLevel keyedClientLevel = (IServerKeyedClientLevel) newLevelWrapper;
LOGGER.info("Loading level [" + newLevelWrapper.getDimensionName() + "] with key: [" + keyedClientLevel.getServerLevelKey() + "].");
// This world was identified by the server directly, so we can know for sure which folder to use.
saveFolder = new File(getDefaultSaveStructureFolderPath() + File.separatorChar + keyedClientLevel.getServerLevelKey().replaceAll(":", "@@"));
saveFolder = getDimensionNameFromSaveFolder(keyedClientLevel.getServerLevelKey());
}
else
{
// get the default folder
saveFolder = new File(getDefaultSaveStructureFolderPath());
saveFolder = getDimensionNameFromSaveFolder(levelWrapper.getDimensionName());
}
// Allow API users to override the save folder
@@ -160,12 +160,14 @@ public class ClientOnlySaveStructure implements ISaveStructure
}
private static String getDefaultSaveStructureFolderPath()
private static File getDimensionNameFromSaveFolder(String dimensionName)
{
String path = MC_SHARED.getInstallationDirectory().getPath() + File.separatorChar
+ SERVER_DATA_FOLDER_NAME + File.separatorChar
+ getServerFolderName();
return path;
+ getServerFolderName() + File.separatorChar
+ dimensionName.replaceAll(":", "@@");
return new File(path);
}
/** Generated from the server the client is currently connected to. */