Auto-move old save data to new location
This commit is contained in:
+13
@@ -106,6 +106,19 @@ public class ClientOnlySaveStructure implements ISaveStructure
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public File getPre23SaveFolder(ILevelWrapper levelWrapper)
|
||||
{
|
||||
// Allow API users to override the save folder
|
||||
IDhApiSaveStructure saveStructureOverride = OverrideInjector.INSTANCE.get(IDhApiSaveStructure.class);
|
||||
if (saveStructureOverride != null)
|
||||
{
|
||||
return this.getSaveFolder(levelWrapper);
|
||||
}
|
||||
|
||||
return getSaveFolderByLevelId(levelWrapper.getDimensionType().getName());
|
||||
}
|
||||
|
||||
|
||||
|
||||
//================//
|
||||
|
||||
@@ -34,5 +34,7 @@ public interface ISaveStructure extends AutoCloseable
|
||||
*/
|
||||
File getSaveFolder(ILevelWrapper levelWrapper);
|
||||
|
||||
File getPre23SaveFolder(ILevelWrapper levelWrapper);
|
||||
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -75,6 +75,8 @@ public class LocalSaveStructure implements ISaveStructure
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public File getPre23SaveFolder(ILevelWrapper levelWrapper) { return this.getSaveFolder(levelWrapper); }
|
||||
|
||||
|
||||
//==================//
|
||||
|
||||
@@ -98,10 +98,21 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel
|
||||
{ this(saveStructure, clientLevelWrapper, null, true, networkState); }
|
||||
public DhClientLevel(ISaveStructure saveStructure, IClientLevelWrapper clientLevelWrapper, @Nullable File fullDataSaveDirOverride, boolean enableRendering, @Nullable ClientNetworkState networkState)
|
||||
{
|
||||
if (saveStructure.getSaveFolder(clientLevelWrapper).mkdirs())
|
||||
File saveFolder = saveStructure.getSaveFolder(clientLevelWrapper);
|
||||
File pre23Folder = saveStructure.getPre23SaveFolder(clientLevelWrapper);
|
||||
|
||||
if (pre23Folder.exists())
|
||||
{
|
||||
if (!pre23Folder.renameTo(saveFolder))
|
||||
{
|
||||
throw new RuntimeException("Could not move old save data folder: " + pre23Folder.getAbsolutePath() + " to " + saveFolder.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
else if (saveStructure.getSaveFolder(clientLevelWrapper).mkdirs())
|
||||
{
|
||||
LOGGER.warn("unable to create data folder.");
|
||||
}
|
||||
|
||||
this.levelWrapper = clientLevelWrapper;
|
||||
this.levelWrapper.setParentLevel(this);
|
||||
this.saveStructure = saveStructure;
|
||||
|
||||
+2
@@ -27,6 +27,8 @@ public interface IDimensionTypeWrapper extends IDhApiDimensionTypeWrapper, IBind
|
||||
@Override
|
||||
boolean hasCeiling();
|
||||
|
||||
String getName();
|
||||
|
||||
@Override
|
||||
boolean hasSkyLight();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user