converter cleanup

This commit is contained in:
Sen 2025-06-26 13:55:32 +02:00
parent 0d8f7ea1c9
commit 66d1b9befe
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
3 changed files with 33 additions and 39 deletions

View file

@ -22,8 +22,6 @@ public abstract class SVars extends Vars {
public static boolean spawnHutMage = true;
@Var(name = "daylightCycle")
public static boolean dayCycle = true;
@Var(name = "weatherChanges")
public static boolean weather = true;
@Var(name = "dropPlayerSkulls")
public static boolean skullDrop = true;
@Var(name = "checkRespawn")

View file

@ -2066,7 +2066,6 @@ public abstract class Converter {
}
public static boolean convert() {
long cur = System.currentTimeMillis();
if(new File("server.cdt").exists())
return false;
File ldat = new File("level.dat");
@ -2074,7 +2073,7 @@ public abstract class Converter {
ldat = new File("level.dat_old");
if(!ldat.exists())
return false;
Log.IO.info("Welt wird konvertiert");
Log.IO.info("Welt wird konvertiert ...");
NbtTag tag;
DataInputStream in = null;
try {
@ -2101,46 +2100,43 @@ public abstract class Converter {
Log.IO.error("Version %d ist unbekannt", version);
return false;
}
Log.IO.info("Version: %s", ver);
if(ver == SaveVersion.RELEASE_1_13) {
Log.IO.warn("Konvertiere keine Chunk-Daten, da Version zu neu");
Log.IO.warn("Konvertiere keine Chunk-Daten, da Version zu neu (%s)", ver);
return false;
}
Log.IO.info("Konvertiere Chunk-Daten von region/*.mca,*.mcr");
File regionDir = new File("region");
if(regionDir.exists()) {
File chunkDir = new File(new File("chunk"), "terra");
Log.IO.info("Konvertiere Welt nach '" + chunkDir + "' ...");
Log.IO.info("Durchsuche Ordner unter '" + regionDir + "' nach .mca- und .mcr-Dateien ...");
File[] files = regionDir.listFiles(new FilenameFilter() {
public boolean accept(File file, String name) {
return name.endsWith(".mca") || name.endsWith(".mcr");
}
});
if(files.length == 0) {
Log.IO.info("Keine .mca- oder .mcr-Dateien gefunden.");
}
else {
Log.IO.info("Ingesamt wurden " + files.length + " .mca-Dateien und .mcr-Dateien gefunden, konvertiere ...");
if(ver == SaveVersion.RELEASE_1_9)
Log.IO.info("Konvertiere von neuerer Version, dies wird Blöcke entfernen ...");
chunkDir.mkdirs();
int progress = 0;
long time = System.currentTimeMillis();
long start = postProgress(time, 0);
for(File file : files) {
int percent = (int)Math.round(100.0D * (double)progress / (double)files.length);
Log.IO.info("Konvertiere Chunk-Daten: " + file.getName() + " (" + progress + "/" + files.length + ")");
start = convertChunks(chunkDir, file, start, progress, files.length);
++progress;
start = postProgress(start, percent);
}
time = System.currentTimeMillis() - time;
Log.IO.info("Fertig. Konversion dauerte " + ((time / 60000L) > 0 ? ((time / 60000L) + " Minuten und ") : "") + ((time / 1000L) % 60L) + " Sekunden.");
}
if(!regionDir.exists()) {
Log.IO.info("Kein Ordner region/ gefunden");
return false;
}
File chunkDir = new File(new File("chunk"), "terra");
Log.IO.info("Durchsuche Ordner region/ nach .mca- und .mcr-Dateien ...");
File[] files = regionDir.listFiles(new FilenameFilter() {
public boolean accept(File file, String name) {
return name.endsWith(".mca") || name.endsWith(".mcr");
}
});
if(files.length == 0) {
Log.IO.info("Keine .mca- oder .mcr-Dateien gefunden");
return false;
}
Log.IO.info("Konvertiere %d .mca- und .mcr-Datei%s (%s) von region/*.mca,*.mcr nach %s ...", files.length, files.length == 1 ? "" : "en", ver, chunkDir);
if(ver == SaveVersion.RELEASE_1_9)
Log.IO.warn("Konvertiere von neuerer Version, dies wird Blöcke entfernen ...");
chunkDir.mkdirs();
int progress = 0;
long time = System.currentTimeMillis();
long start = postProgress(time, 0);
for(File file : files) {
int percent = (int)Math.round(100.0D * (double)progress / (double)files.length);
Log.IO.info("Konvertiere Chunk-Daten: " + file.getName() + " (" + progress + "/" + files.length + ")");
start = convertChunks(chunkDir, file, start, progress, files.length);
++progress;
start = postProgress(start, percent);
}
time = System.currentTimeMillis() - time;
Log.IO.info("Fertig. Konversion dauerte " + ((time / 60000L) > 0 ? ((time / 60000L) + " Minuten und ") : "") + ((time / 1000L) % 60L) + " Sekunden.");
Log.IO.info("Einstiegspunkt: /tele %d %d %d terra", tag.getInt("SpawnX"), tag.getInt("SpawnY"), tag.getInt("SpawnZ"));
Log.IO.info("Welt wurde in %d Sekunden konvertiert", (System.currentTimeMillis() - cur) / 1000L);
return true;
}
}

View file

@ -1183,7 +1183,7 @@ public final class WorldServer extends AWorldServer {
float prevRain = this.rain;
float prevFog = this.fog;
if(SVars.weather && SVars.weatherChance > 0) {
if(SVars.weatherChance > 0) {
// int time = dim.getWeatherTime();
if(this.rand.chance(SVars.weatherChance)) {
Weather nweather = Weather.pick(this.getBaseTemperature(), this.rand);