diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/ActorWithBody.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/ActorWithBody.class index 5316f1e3e..66bf618c1 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/ActorWithBody.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/ActorWithBody.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class index c0a250852..af4bf16c0 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/CommandDict.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/ExportAV.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/ExportAV.class new file mode 100644 index 000000000..ceb8a3b93 Binary files /dev/null and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/ExportAV.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/ExportMap.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/ExportMap.class index 1db4479d5..f415a8c42 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/ExportMap.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/ConsoleCommand/ExportMap.class differ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapGenerator/MapGenerator.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapGenerator/MapGenerator.class index 51cb24843..94f4f2c18 100644 Binary files a/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapGenerator/MapGenerator.class and b/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapGenerator/MapGenerator.class differ diff --git a/src/com/Torvald/Terrarum/Actors/ActorWithBody.java b/src/com/Torvald/Terrarum/Actors/ActorWithBody.java index c043eee0c..4e84886f5 100644 --- a/src/com/Torvald/Terrarum/Actors/ActorWithBody.java +++ b/src/com/Torvald/Terrarum/Actors/ActorWithBody.java @@ -84,6 +84,9 @@ public class ActorWithBody implements Actor, Visible, Glowing { long referenceID; + /** + * Give new random ReferenceID and initialise ActorValue + */ public ActorWithBody() { referenceID = new HQRNG(0x7E22A211AAL).nextLong(); actorValue = new ActorValue(); diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java b/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java index 67cd466ec..c4d0386e2 100644 --- a/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java +++ b/src/com/Torvald/Terrarum/ConsoleCommand/CommandDict.java @@ -26,6 +26,7 @@ public class CommandDict { dict.put("zoom", new Zoom()); dict.put("teleport", new TeleportPlayer()); dict.put("cat", new CatStdout()); + dict.put("exportav", new ExportAV()); } public static ConsoleCommand getCommand(String commandName) { diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/ExportAV.java b/src/com/Torvald/Terrarum/ConsoleCommand/ExportAV.java new file mode 100644 index 000000000..c8398f85c --- /dev/null +++ b/src/com/Torvald/Terrarum/ConsoleCommand/ExportAV.java @@ -0,0 +1,47 @@ +package com.Torvald.Terrarum.ConsoleCommand; + +import com.Torvald.Terrarum.Terrarum; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + +/** + * Created by minjaesong on 16-02-10. + */ +public class ExportAV implements ConsoleCommand { + @Override + public void execute(String[] args) { + if (args.length == 2) { + JsonElement avelem = new Gson().toJsonTree(Terrarum.game.getPlayer().getActorValue()); + String jsonString = avelem.toString(); + + FileWriter writer; + try { + writer = new FileWriter(Terrarum.defaultDir + "/Exports/" + args[1] + ".json"); + writer.write(jsonString); + writer.close(); + + new Echo().execute("ExportAV: exported to " + args[1] + ".json"); + } + catch (IOException e) { + new Echo().execute("ExportAV: IOException raised."); + e.printStackTrace(); + } + } + else { + printUsage(); + } + } + + @Override + public void printUsage() { + Echo echo = new Echo(); + echo.execute("Export ActorValue as JSON format."); + echo.execute("Usage: exportav (id) filename-without-extension"); + echo.execute("blank ID for player"); + } +} diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/ExportMap.java b/src/com/Torvald/Terrarum/ConsoleCommand/ExportMap.java index 832634aad..1a009b29a 100644 --- a/src/com/Torvald/Terrarum/ConsoleCommand/ExportMap.java +++ b/src/com/Torvald/Terrarum/ConsoleCommand/ExportMap.java @@ -93,8 +93,11 @@ public class ExportMap implements ConsoleCommand { ImageIO.write(image, "PNG", new File(dir + args[1] + ".png")); + new Echo().execute("ExportMap: exported to " + args[1] + ".png"); + } catch (IOException e) { new Echo().execute("ExportMap: IOException raised."); + e.printStackTrace(); } mapData = null; @@ -102,8 +105,6 @@ public class ExportMap implements ConsoleCommand { // Free up some memory System.gc(); - - new Echo().execute("ExportMap: exported to " + args[1] + ".png"); } else{ printUsage(); diff --git a/src/com/Torvald/Terrarum/MapGenerator/MapGenerator.java b/src/com/Torvald/Terrarum/MapGenerator/MapGenerator.java index 83ff56859..e8b682393 100644 --- a/src/com/Torvald/Terrarum/MapGenerator/MapGenerator.java +++ b/src/com/Torvald/Terrarum/MapGenerator/MapGenerator.java @@ -27,11 +27,11 @@ public class MapGenerator { private static final int HILL_WIDTH = 256; // power of two! private static final int MAX_HILL_HEIGHT = 100; - private static final int OCEAN_WIDTH = 400; - private static final int SHORE_WIDTH = 120; - private static final int MAX_OCEAN_DEPTH = 200; + private static int OCEAN_WIDTH = 400; + private static int SHORE_WIDTH = 120; + private static int MAX_OCEAN_DEPTH = 200; - private static int GLACIER_MOUNTAIN_WIDTH; + private static int GLACIER_MOUNTAIN_WIDTH = 900; private static final int GLACIER_MOUNTAIN_HEIGHT = 300; private static final byte AIR = 0; @@ -79,10 +79,15 @@ public class MapGenerator { width = map.width; height = map.height; + float widthMulFactor = (width / 8192f); + dirtThickness = (int) (100 * height / 1024f); minimumFloatingIsleHeight = (int) (25 * (height / 1024f)); TERRAIN_AVERAGE_HEIGHT = height / 4; - GLACIER_MOUNTAIN_WIDTH = Math.round(900 * (width / 8192f)); + + OCEAN_WIDTH = Math.round(OCEAN_WIDTH * widthMulFactor); + SHORE_WIDTH = Math.round(SHORE_WIDTH * widthMulFactor); + GLACIER_MOUNTAIN_WIDTH = Math.round(GLACIER_MOUNTAIN_WIDTH * widthMulFactor); } public static void setSeed(long seed) { @@ -878,11 +883,13 @@ public class MapGenerator { float k = (width) / FastMath.sqrt(height); if (y < height) { + // ground return width; } else { + // underground return Math.round( - k * FastMath.sqrt(y) + k * FastMath.sqrt(y) + (random.nextInt(3) - 1) ); } }