[Fix] WorldConfig is not initialized properly on servers
This commit is contained in:
parent
a660d8ff41
commit
154e652991
2 changed files with 13 additions and 4 deletions
|
@ -24,8 +24,10 @@ import net.minecraft.world.level.chunk.ChunkGenerator;
|
|||
import net.minecraft.world.level.dimension.LevelStem;
|
||||
import net.minecraft.world.level.levelgen.WorldDimensions;
|
||||
import net.minecraft.world.level.levelgen.presets.WorldPreset;
|
||||
import net.minecraft.world.level.storage.LevelResource;
|
||||
import net.minecraft.world.level.storage.LevelStorageSource;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
@ -66,7 +68,9 @@ public class LevelGenEvents {
|
|||
LevelStorageSource.LevelStorageAccess storageAccess,
|
||||
Consumer<Boolean> allDone
|
||||
) {
|
||||
return DataFixerAPI.fixData(storageAccess, allDone != null, allDone);
|
||||
final Path dataPath = storageAccess.getLevelPath(LevelResource.ROOT).resolve("data");
|
||||
WorldConfig.setDataDir(dataPath.toFile());
|
||||
return DataFixerAPI.fixData(storageAccess, allDone != null && BCLib.isClient(), allDone);
|
||||
}
|
||||
|
||||
private static Optional<Holder<WorldPreset>> adaptWorldPreset(
|
||||
|
|
|
@ -19,6 +19,7 @@ import java.io.IOException;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
|
||||
/**
|
||||
* Mod-specifix data-storage for a world.
|
||||
|
@ -35,8 +36,13 @@ public class WorldConfig {
|
|||
private static final String TAG_MODIFIED = "modify_version";
|
||||
private static File dataDir;
|
||||
|
||||
public static void load(File dataDir) {
|
||||
@ApiStatus.Internal
|
||||
public static void setDataDir(File dataDir) {
|
||||
WorldConfig.dataDir = dataDir;
|
||||
}
|
||||
|
||||
public static void load(File dataDir) {
|
||||
WorldConfig.setDataDir(dataDir);
|
||||
MODS.stream()
|
||||
.parallel()
|
||||
.forEach(modID -> {
|
||||
|
@ -125,9 +131,8 @@ public class WorldConfig {
|
|||
* @param modID {@link String} mod ID.
|
||||
*/
|
||||
public static void saveFile(String modID) {
|
||||
|
||||
try {
|
||||
if (!dataDir.exists()) {
|
||||
if (dataDir != null && !dataDir.exists()) {
|
||||
dataDir.mkdirs();
|
||||
}
|
||||
CompoundTag tag = getRootTag(modID);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue