Minor fixes suggested by idea.

This commit is contained in:
Jinks 2024-12-06 23:57:03 +01:00
parent cd67e94787
commit aca7dba943
5 changed files with 14 additions and 75 deletions

View file

@ -122,7 +122,7 @@ private static String getVersion(String baseVersion, URL url) {
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(connection.getInputStream()) Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(connection.getInputStream())
NodeList versionNodes = doc.getElementsByTagName("version") NodeList versionNodes = doc.getElementsByTagName("version")
String latestVersion = null; String latestVersion = null
for (int i = 0; i < versionNodes.getLength(); i++) { for (int i = 0; i < versionNodes.getLength(); i++) {
String version = versionNodes.item(i).getTextContent() String version = versionNodes.item(i).getTextContent()
if (version.startsWith(baseVersion)) { if (version.startsWith(baseVersion)) {

View file

@ -14,7 +14,7 @@ loader_version_range=[4,)
modid=extbackup modid=extbackup
mod_name=ExtBackup mod_name=ExtBackup
group=net.sweevo group=net.sweevo
mod_version=2.0.0 mod_version=2.0.1
## Upload Properties ## Upload Properties
upload_versions=1.21, 1.21.1 upload_versions=1.21, 1.21.1
upload_release=release upload_release=release

View file

@ -20,29 +20,17 @@ import javax.annotation.Nullable;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.SignStyle;
import java.time.temporal.ChronoField;
import java.util.Date; import java.util.Date;
import java.util.Optional; import java.util.Optional;
public class BackupThread extends Thread { public class BackupThread extends Thread {
public static final Logger LOGGER = LoggerFactory.getLogger(BackupThread.class); public static final Logger LOGGER = LoggerFactory.getLogger(BackupThread.class);
private static final DateTimeFormatter FORMATTER = new DateTimeFormatterBuilder()
.appendValue(ChronoField.YEAR, 4, 10, SignStyle.EXCEEDS_PAD).appendLiteral('-')
.appendValue(ChronoField.MONTH_OF_YEAR, 2).appendLiteral('-')
.appendValue(ChronoField.DAY_OF_MONTH, 2).appendLiteral('_')
.appendValue(ChronoField.HOUR_OF_DAY, 2).appendLiteral('-')
.appendValue(ChronoField.MINUTE_OF_HOUR, 2).appendLiteral('-')
.appendValue(ChronoField.SECOND_OF_MINUTE, 2)
.toFormatter();
private final MinecraftServer server; private final MinecraftServer server;
private final boolean quiet; private final boolean quiet;
private final File script; private final File script;
private BackupThread(@Nonnull MinecraftServer server, boolean quiet, BackupData backupData) { private BackupThread(@Nonnull MinecraftServer server, boolean quiet) {
this.server = server; this.server = server;
this.quiet = quiet; this.quiet = quiet;
this.setName("ExtBackup"); this.setName("ExtBackup");
@ -53,7 +41,7 @@ public class BackupThread extends Thread {
public static boolean tryCreateBackup(MinecraftServer server) { public static boolean tryCreateBackup(MinecraftServer server) {
BackupData backupData = BackupData.get(server); BackupData backupData = BackupData.get(server);
if (BackupThread.shouldRunBackup(server)) { if (BackupThread.shouldRunBackup(server)) {
BackupThread thread = new BackupThread(server, false, backupData); BackupThread thread = new BackupThread(server, false);
thread.start(); thread.start();
long currentTime = System.currentTimeMillis(); long currentTime = System.currentTimeMillis();
backupData.updateSaveTime(currentTime); backupData.updateSaveTime(currentTime);
@ -74,7 +62,7 @@ public class BackupThread extends Thread {
} }
public static void createBackup(MinecraftServer server, boolean quiet) { public static void createBackup(MinecraftServer server, boolean quiet) {
BackupThread thread = new BackupThread(server, quiet, null); BackupThread thread = new BackupThread(server, quiet);
thread.start(); thread.start();
} }
@ -106,28 +94,28 @@ public class BackupThread extends Thread {
private void broadcast(String message, Style style, Object... parameters) { private void broadcast(String message, Style style, Object... parameters) {
if (CommonConfig.sendMessages() && !this.quiet) { if (CommonConfig.sendMessages() && !this.quiet) {
this.server.execute(() -> { this.server.execute(() -> this.server.getPlayerList().getPlayers().forEach(player -> {
this.server.getPlayerList().getPlayers().forEach(player -> {
if (ServerConfig.messagesForEveryone() || player.hasPermissions(2)) { if (ServerConfig.messagesForEveryone() || player.hasPermissions(2)) {
player.sendSystemMessage(BackupThread.component(player, message, parameters).withStyle(style)); player.sendSystemMessage(BackupThread.component(player, message, parameters).withStyle(style));
} }
}); }));
});
} }
} }
// vanilla copy with modifications // vanilla copy with modifications
private void makeWorldBackup() throws IOException { @SuppressWarnings("CallToPrintStackTrace")
private void makeWorldBackup() {
if (!script.exists() || !script.canExecute()) { if (!script.exists() || !script.canExecute()) {
ExtBackup.LOGGER.error("Cannot access or execute backup script. Bailing out!"); ExtBackup.LOGGER.error("Cannot access or execute backup script. Bailing out!");
} }
ProcessBuilder pb = new ProcessBuilder(script.getAbsolutePath()); ProcessBuilder pb = new ProcessBuilder(script.getAbsolutePath());
int returnValue = -1; int returnValue;
pb.redirectErrorStream(true); pb.redirectErrorStream(true);
try { try {
Process backup = pb.start(); Process backup = pb.start();
returnValue = backup.waitFor(); returnValue = backup.waitFor();
if (returnValue != 0) { throw new IOException("Backup process returned non-zero result!");}
} catch (Exception ex) { } catch (Exception ex) {
ExtBackup.LOGGER.error("Something went wrong with the Backup script!"); ExtBackup.LOGGER.error("Something went wrong with the Backup script!");
ExtBackup.LOGGER.error("Check your Backups."); ExtBackup.LOGGER.error("Check your Backups.");

View file

@ -1,48 +0,0 @@
package net.sweevo.jinks;
import java.util.Locale;
public enum StorageSize {
B(0),
KB(1),
MB(2),
GB(3),
TB(4);
private final long sizeInBytes;
private final String postfix;
StorageSize(int factor) {
this.sizeInBytes = (long) Math.pow(1024, factor);
this.postfix = this.name().toUpperCase(Locale.ROOT);
}
public static StorageSize getSizeFor(double bytes) {
for (StorageSize value : StorageSize.values()) {
if (bytes < value.sizeInBytes) {
return value.getLower();
} else if (value == TB) {
return value;
}
}
return B;
}
public static long getBytes(String s) {
String[] splits = s.split(" ");
int amount = Integer.parseInt(splits[0]);
StorageSize size = StorageSize.valueOf(splits[1].toUpperCase(Locale.ROOT));
return amount * size.sizeInBytes;
}
public static String getFormattedSize(double bytes) {
StorageSize size = StorageSize.getSizeFor(bytes);
double small = bytes / size.sizeInBytes;
return String.format("%.1f %s", small, size.postfix);
}
public StorageSize getLower() {
return this.ordinal() == 0 ? this : StorageSize.values()[this.ordinal() - 1];
}
}

View file

@ -22,7 +22,6 @@ public class ClientEventHandler {
isPaused = paused; isPaused = paused;
} }
@SuppressWarnings("resource")
@SubscribeEvent @SubscribeEvent
public void onRenderText(CustomizeGuiOverlayEvent.DebugText event) { public void onRenderText(CustomizeGuiOverlayEvent.DebugText event) {
if (!isPaused) { if (!isPaused) {