diff --git a/src/main/java/amidst/gui/main/Actions.java b/src/main/java/amidst/gui/main/Actions.java index 938a320b..015cc1a0 100644 --- a/src/main/java/amidst/gui/main/Actions.java +++ b/src/main/java/amidst/gui/main/Actions.java @@ -248,7 +248,7 @@ public class Actions { public void copySeedToClipboard() { ViewerFacade viewerFacade = viewerFacadeSupplier.get(); if (viewerFacade != null) { - String seed = "" + viewerFacade.getWorldSeed().getLong(); + String seed = viewerFacade.getWorldSeed().getLongAsString(); StringSelection selection = new StringSelection(seed); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(selection, selection); } @@ -260,7 +260,7 @@ public class Actions { if (viewerFacade != null) { BufferedImage image = viewerFacade.createScreenshot(); String suggestedFilename = "screenshot_" + viewerFacade.getWorldType().getFilenameText() + "_" - + viewerFacade.getWorldSeed().getLong() + ".png"; + + viewerFacade.getWorldSeed().getLongAsString() + ".png"; File file = dialogs.askForScreenshotSaveFile(suggestedFilename); if (file != null) { file = appendPNGFileExtensionIfNecessary(file); diff --git a/src/main/java/amidst/mojangapi/world/SeedHistoryLogger.java b/src/main/java/amidst/mojangapi/world/SeedHistoryLogger.java index bb39f38f..d00d6b24 100644 --- a/src/main/java/amidst/mojangapi/world/SeedHistoryLogger.java +++ b/src/main/java/amidst/mojangapi/world/SeedHistoryLogger.java @@ -72,9 +72,9 @@ public class SeedHistoryLogger { private String getSeedString(WorldSeed worldSeed) { String text = worldSeed.getText(); if (text != null) { - return worldSeed.getLong() + ", " + text; + return worldSeed.getLongAsString() + ", " + text; } else { - return worldSeed.getLong() + ""; + return worldSeed.getLongAsString(); } } diff --git a/src/main/java/amidst/mojangapi/world/WorldSeed.java b/src/main/java/amidst/mojangapi/world/WorldSeed.java index 1a400b25..46b8a786 100644 --- a/src/main/java/amidst/mojangapi/world/WorldSeed.java +++ b/src/main/java/amidst/mojangapi/world/WorldSeed.java @@ -72,17 +72,23 @@ public class WorldSeed { private final String text; private final WorldSeedType type; private final String label; + private final GameEngineType gameEngineType; private WorldSeed(long seed, String text, WorldSeedType type, GameEngineType game_engine_type) { this.seed = seed; this.text = text; this.type = type; + this.gameEngineType = game_engine_type; this.label = type.getLabel(seed, text, game_engine_type); } public long getLong() { return seed; } + + public String getLongAsString() { + return (gameEngineType == GameEngineType.MINETEST) ? Long.toUnsignedString(seed) : Long.toString(seed); + } public String getText() { return text; diff --git a/src/test/java/amidst/mojangapi/world/testworld/TestWorldDeclaration.java b/src/test/java/amidst/mojangapi/world/testworld/TestWorldDeclaration.java index 403f1da0..c7409127 100644 --- a/src/test/java/amidst/mojangapi/world/testworld/TestWorldDeclaration.java +++ b/src/test/java/amidst/mojangapi/world/testworld/TestWorldDeclaration.java @@ -93,8 +93,8 @@ public enum TestWorldDeclaration { "testworld", "storage", recognisedVersion.getName(), - "" + worldSeed.getLong()).toFile(); - this.directoryString = RESOURCE_PREFIX + recognisedVersion.getName() + "/" + worldSeed.getLong() + "/"; + worldSeed.getLongAsString()).toFile(); + this.directoryString = RESOURCE_PREFIX + recognisedVersion.getName() + "/" + worldSeed.getLongAsString() + "/"; } public RecognisedVersion getRecognisedVersion() {