From 8d301de490502808ccf1cfd44e4aed7978132f70 Mon Sep 17 00:00:00 2001 From: Morlok8k Date: Sun, 15 Apr 2012 03:05:57 -0700 Subject: [PATCH] 1.6.1 --- README | 27 ++- bin/MLG-BuildID | 1 + bin/MinecraftLandGenerator.conf | 4 +- bin/MinecraftLandGenerator.jar | Bin 66128 -> 68852 bytes scripts/MLG_Initial_Setup_(Linux).sh | 10 + scripts/MLG_Initial_Setup_(Mac).command | 9 + scripts/MLG_Initial_Setup_(Windows).cmd | 12 ++ scripts/MLG_Printspawn_(Linux).sh | 5 + scripts/MLG_Printspawn_(Mac).command | 4 + scripts/MLG_Printspawn_(Windows).cmd | 5 + scripts/MLG_Update_Files.txt | 23 +++ scripts/Run_MLG_(Linux).sh | 2 + scripts/Run_MLG_(Mac).command | 0 scripts/Run_MLG_(Windows).cmd | 2 + scripts/Run_Server_(Linux).sh | 2 + scripts/Run_Server_(Mac).command | 0 scripts/Run_Server_(Windows).cmd | 2 + scripts/Update_MLG_(Linux).sh | 3 + scripts/Update_MLG_(Mac).command | 6 +- scripts/Update_MLG_(Windows).cmd | 3 + scripts/Update_MLG_Extra_Files_(Linux).sh | 6 + scripts/Update_MLG_Extra_Files_(Mac).command | 5 + scripts/Update_MLG_Extra_Files_(Windows).cmd | 5 + scripts/Update_Server_(Linux).sh | 2 + scripts/Update_Server_(Mac).command | 0 scripts/Update_Server_(Windows).cmd | 2 + .../minecraft/landgenerator/Main.java | 171 ++++++++++++++---- 27 files changed, 255 insertions(+), 56 deletions(-) create mode 100644 scripts/MLG_Initial_Setup_(Linux).sh create mode 100755 scripts/MLG_Initial_Setup_(Mac).command create mode 100644 scripts/MLG_Initial_Setup_(Windows).cmd create mode 100644 scripts/MLG_Printspawn_(Linux).sh create mode 100755 scripts/MLG_Printspawn_(Mac).command create mode 100644 scripts/MLG_Printspawn_(Windows).cmd create mode 100644 scripts/MLG_Update_Files.txt mode change 100644 => 100755 scripts/Run_MLG_(Mac).command mode change 100644 => 100755 scripts/Run_Server_(Mac).command mode change 100644 => 100755 scripts/Update_MLG_(Mac).command create mode 100644 scripts/Update_MLG_Extra_Files_(Linux).sh create mode 100755 scripts/Update_MLG_Extra_Files_(Mac).command create mode 100644 scripts/Update_MLG_Extra_Files_(Windows).cmd mode change 100644 => 100755 scripts/Update_Server_(Mac).command diff --git a/README b/README index 0cd2799..daa587f 100644 --- a/README +++ b/README @@ -1,9 +1,9 @@ -Minecraft Land Generator version 1.6.05 +Minecraft Land Generator version 1.6.1 -Updated March 27, 2012 +Updated April 15, 2012 Original Code by Corrodias November 2010 -Enhanced Code by Morlok8k Feb. 2011 to Now (or at least to March 27, 2012!) +Enhanced Code by Morlok8k Feb. 2011 to Now (or at least to April 15, 2012!) Additional Code by pr0f1x October 2011 Website: https://sites.google.com/site/minecraftlandgenerator/ @@ -13,7 +13,7 @@ Source: https://github.com/Morlok8k/MinecraftLandGenerator ----------------------------------------------- This program lets you generate an area of land with your Minecraft Beta SMP server (and is prossibly future-proof for newer versions). You set up your java command line and minecraft server paths in the MinecraftLandGenerator.conf file, set up the server's server.properties file with the name of the world you wish to use, and then run this program. -When a Minecraft server is launched, it automatically generates chunks within a square area of 25x25 chunks (400x400 blocks), centered on the current spawn point (formally 20x20 chunks, 320x320 blocks). When provided X and Y ranges as arguments, this program will launch the server repeatedly, editing the level.dat file between sessions, to generate large amounts of land without players having to explore them. The generated land will have about the X and Y ranges as requested by the arguments, though it will not be exact due to the spawn point typically not on the border of a chunk. (Because of this, MLG by default adds a slight overlap with each pass - 380x380 blocks) You can use the -x and -y switches to override the spawn offset and center the land generation on a different point. +When a Minecraft server is launched, it automatically generates chunks within a square area of 25x25 chunks (400x400 blocks), centered on the current spawn point (formally 20x20 chunks, 320x320 blocks). When provided X and Z ranges as arguments, this program will launch the server repeatedly, editing the level.dat file between sessions, to generate large amounts of land without players having to explore them. The generated land will have about the X and Z ranges as requested by the arguments, though it will not be exact due to the spawn point typically not on the border of a chunk. (Because of this, MLG by default adds a slight overlap with each pass - 380x380 blocks) You can use the -x and -z switches to override the spawn offset and center the land generation on a different point. The program makes a backup of level.dat as level_backup.dat before editing, and restores the backup at the end. In the event that a level_backup.dat file already exists, the program will refuse to proceed, leaving the user to determine why the level_backup.dat file exists and whether they would rather restore it or delete it, which must be done manually. This program is public domain, and the source code is included in the .jar file. (If accidently missing, like in 1.3.0 and 1.4.0, it is always available at Github.) @@ -26,6 +26,13 @@ Other Public Domain code has been used in this program, and references to source Version History: Morlok8k: +1.6.1 +- Added some modifications for scripting (Mainly for a new Initial setup script) +- Changed MLG's Y to Z. Now it matches Minecraft. Y in the game is Height. +- Renamed -y switch to -z. MLG will remain backwards compatible if you use the old -y switch. +- Updated -printspawn to show X,Y,Z +- Added End-of-Generation ASCII-Graphic + 1.6.05 - MLG displays if the server is converting the Map format, when not in verbose mode. (McRegion -> Anvil, or Chunk-File -> McRegion) - Minor fixes/edits/typos @@ -126,11 +133,11 @@ However, Since beta 1.9 and Minecraft 1.0, the nether or the end is no longer ge ----------------------------------------------- -Usage: java -jar MinecraftLandGenerator.jar x y [serverpath] [switches] +Usage: java -jar MinecraftLandGenerator.jar x z [serverpath] [switches] Arguments: x : X range to generate - y : Y range to generate + z : Z range to generate serverpath : the path to the directory in which the server runs (takes precedence over the config file setting) Switches: @@ -139,9 +146,9 @@ Switches: -w : Ignore [WARNING] and [SEVERE] messages. -alt : alternate server launch sequence -a : same as -alt - -i# : override the iteration spawn offset increment (default 300) (example: -i100) - -x# : set the X offset to generate land around (example: -x0) - -y# : set the X offset to generate land around (example: -y0) + -i# : override the iteration spawn offset increment (default 380) (example: -i100) + -x# : set the X offset to generate land around (example: -x0 or -x1000 or -x-500) + -z# : set the Z offset to generate land around (example: -z0 or -z1000 or -z-500) Other options: java -jar MinecraftLandGenerator.jar -update @@ -157,7 +164,7 @@ Other options: java -jar MinecraftLandGenerator.jar -readme readme.txt java -jar MinecraftLandGenerator.jar -readme - Generates a readme file using supplied name or the default MLG-Readme.txt + Generates a readme file using supplied name or the default _MLG_Readme.txt java -jar MinecraftLandGenerator.jar -downloadfile http://example.com/file.txt Downloads whatever file from the internet you give it. diff --git a/bin/MLG-BuildID b/bin/MLG-BuildID index 314633f..0fe55a5 100644 --- a/bin/MLG-BuildID +++ b/bin/MLG-BuildID @@ -32,3 +32,4 @@ A5882424B11003537756204DD7EC0DED=1330941087000# MLG v1.6.05 6239928969FC1027A89AF17D82952F5B=1330941366000# MLG v1.6.05 E65AC7BA69362EA559901E336C85F22F=1332833070000# MLG v1.6.05 DA5CA69AAE6EF0D2815A597ED93DB5DB=1332833731000# MLG v1.6.05 +F1B044CD44634EDDB85DC44384CB8F0F=1334484354000# MLG v1.6.1 diff --git a/bin/MinecraftLandGenerator.conf b/bin/MinecraftLandGenerator.conf index ab72680..d60fc51 100644 --- a/bin/MinecraftLandGenerator.conf +++ b/bin/MinecraftLandGenerator.conf @@ -1,6 +1,6 @@ -#Minecraft Land Generator Configuration File: Version: 1.6.05 +#Minecraft Land Generator Configuration File: Version: 1.6.1 #Authors: Corrodias, Morlok8k, pr0f1x -#Auto-Generated: Tuesday, March 27, 2012 at 12:35 AM Pacific Daylight Time +#Auto-Generated: Sunday, April 15, 2012 at 3:05 AM Pacific Daylight Time #Line to run server: Java=java -Djava.awt.headless=true -Djline.terminal=jline.UnsupportedTerminal -Duser.language=en -Xms1024m -Xmx1024m -Xincgc -jar minecraft_server.jar nogui diff --git a/bin/MinecraftLandGenerator.jar b/bin/MinecraftLandGenerator.jar index 9b611cdfe10efa6fdc98d4110b2dd6d703508ecd..2dff19961e64d26f23640e068a97bbc100fe1263 100755 GIT binary patch delta 50968 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 I|84t!0PLReM*si- diff --git a/scripts/MLG_Initial_Setup_(Linux).sh b/scripts/MLG_Initial_Setup_(Linux).sh new file mode 100644 index 0000000..16c155a --- /dev/null +++ b/scripts/MLG_Initial_Setup_(Linux).sh @@ -0,0 +1,10 @@ +#!/bin/sh +BINDIR=$(dirname "$(readlink -fn "$0")") +cd "$BINDIR" + +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -update +java -jar MinecraftLandGenerator.jar -readme _MLG_Readme.txt +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -downloadlist MLG_Update_Files.txt +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -downloadfile https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -conf +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar 0 0 -w diff --git a/scripts/MLG_Initial_Setup_(Mac).command b/scripts/MLG_Initial_Setup_(Mac).command new file mode 100755 index 0000000..95fb2d1 --- /dev/null +++ b/scripts/MLG_Initial_Setup_(Mac).command @@ -0,0 +1,9 @@ +#!/bin/bash +cd "$(dirname "$0")" + +exec java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -update +exec java -jar MinecraftLandGenerator.jar -readme _MLG_Readme.txt +exec java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -downloadlist MLG_Update_Files.txt +exec java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -downloadfile https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar +exec java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -conf +exec java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar 0 0 -w diff --git a/scripts/MLG_Initial_Setup_(Windows).cmd b/scripts/MLG_Initial_Setup_(Windows).cmd new file mode 100644 index 0000000..a5c51de --- /dev/null +++ b/scripts/MLG_Initial_Setup_(Windows).cmd @@ -0,0 +1,12 @@ +@echo off +SET BINDIR=%~dp0 +CD /D "%BINDIR%" + +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -update +java -jar MinecraftLandGenerator.jar -readme _MLG_Readme.txt +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -downloadlist MLG_Update_Files.txt +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -downloadfile https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -conf +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar 0 0 -w + +pause \ No newline at end of file diff --git a/scripts/MLG_Printspawn_(Linux).sh b/scripts/MLG_Printspawn_(Linux).sh new file mode 100644 index 0000000..0f7ee23 --- /dev/null +++ b/scripts/MLG_Printspawn_(Linux).sh @@ -0,0 +1,5 @@ +#!/bin/sh +BINDIR=$(dirname "$(readlink -fn "$0")") +cd "$BINDIR" + +java -jar MinecraftLandGenerator.jar -printspawn diff --git a/scripts/MLG_Printspawn_(Mac).command b/scripts/MLG_Printspawn_(Mac).command new file mode 100755 index 0000000..6c39884 --- /dev/null +++ b/scripts/MLG_Printspawn_(Mac).command @@ -0,0 +1,4 @@ +#!/bin/bash +cd "$(dirname "$0")" + +java -jar MinecraftLandGenerator.jar -printspawn diff --git a/scripts/MLG_Printspawn_(Windows).cmd b/scripts/MLG_Printspawn_(Windows).cmd new file mode 100644 index 0000000..9a3cf4f --- /dev/null +++ b/scripts/MLG_Printspawn_(Windows).cmd @@ -0,0 +1,5 @@ +@echo off +SET BINDIR=%~dp0 +CD /D "%BINDIR%" + +java -jar MinecraftLandGenerator.jar -printspawn \ No newline at end of file diff --git a/scripts/MLG_Update_Files.txt b/scripts/MLG_Update_Files.txt new file mode 100644 index 0000000..4a7457b --- /dev/null +++ b/scripts/MLG_Update_Files.txt @@ -0,0 +1,23 @@ +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/MLG_Update_Files.txt +###RECHECK### +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Run_MLG_%28Linux%29.sh +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Run_MLG_%28Mac%29.command +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Run_MLG_%28Windows%29.cmd +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Run_Server_%28Linux%29.sh +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Run_Server_%28Mac%29.command +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Run_Server_%28Windows%29.cmd +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Update_MLG_%28Linux%29.sh +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Update_MLG_%28Mac%29.command +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Update_MLG_%28Windows%29.cmd +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Update_Server_%28Linux%29.sh +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Update_Server_%28Mac%29.command +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Update_Server_%28Windows%29.cmd +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Update_MLG_Extra_Files_%28Linux%29.sh +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Update_MLG_Extra_Files_%28Mac%29.command +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/Update_MLG_Extra_Files_%28Windows%29.cmd +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/MLG_Printspawn_%28Linux%29.sh +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/MLG_Printspawn_%28Mac%29.command +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/MLG_Printspawn_%28Windows%29.cmd +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/MLG_Initial_Setup_%28Linux%29.sh +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/MLG_Initial_Setup_%28Mac%29.command +https://raw.github.com/Morlok8k/MinecraftLandGenerator/master/scripts/MLG_Initial_Setup_%28Windows%29.cmd \ No newline at end of file diff --git a/scripts/Run_MLG_(Linux).sh b/scripts/Run_MLG_(Linux).sh index c897371..703dc51 100644 --- a/scripts/Run_MLG_(Linux).sh +++ b/scripts/Run_MLG_(Linux).sh @@ -1,4 +1,6 @@ #!/bin/sh +BINDIR=$(dirname "$(readlink -fn "$0")") +cd "$BINDIR" java -client -showversion -Djava.awt.headless=true -jar MinecraftLandGenerator.jar 2000 2000 diff --git a/scripts/Run_MLG_(Mac).command b/scripts/Run_MLG_(Mac).command old mode 100644 new mode 100755 diff --git a/scripts/Run_MLG_(Windows).cmd b/scripts/Run_MLG_(Windows).cmd index 68ba26d..a5bfa37 100644 --- a/scripts/Run_MLG_(Windows).cmd +++ b/scripts/Run_MLG_(Windows).cmd @@ -1,3 +1,5 @@ @echo off +SET BINDIR=%~dp0 +CD /D "%BINDIR%" java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar 2000 2000 diff --git a/scripts/Run_Server_(Linux).sh b/scripts/Run_Server_(Linux).sh index cd11dcb..e388850 100644 --- a/scripts/Run_Server_(Linux).sh +++ b/scripts/Run_Server_(Linux).sh @@ -1,3 +1,5 @@ #!/bin/sh +BINDIR=$(dirname "$(readlink -fn "$0")") +cd "$BINDIR" java -client -showversion -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Xms1024m -Xmx1024m -Xincgc -jar minecraft_server.jar diff --git a/scripts/Run_Server_(Mac).command b/scripts/Run_Server_(Mac).command old mode 100644 new mode 100755 diff --git a/scripts/Run_Server_(Windows).cmd b/scripts/Run_Server_(Windows).cmd index 2ca4a77..16c37ee 100644 --- a/scripts/Run_Server_(Windows).cmd +++ b/scripts/Run_Server_(Windows).cmd @@ -1,3 +1,5 @@ @echo off +SET BINDIR=%~dp0 +CD /D "%BINDIR%" java -client -showversion -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Xms1024m -Xmx1024m -Xincgc -jar minecraft_server.jar diff --git a/scripts/Update_MLG_(Linux).sh b/scripts/Update_MLG_(Linux).sh index 0429629..cbfd850 100644 --- a/scripts/Update_MLG_(Linux).sh +++ b/scripts/Update_MLG_(Linux).sh @@ -1,5 +1,8 @@ #!/bin/sh +BINDIR=$(dirname "$(readlink -fn "$0")") +cd "$BINDIR" java -client -showversion -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -update +java -jar MinecraftLandGenerator.jar -readme _MLG_Readme.txt #rm server.log diff --git a/scripts/Update_MLG_(Mac).command b/scripts/Update_MLG_(Mac).command old mode 100644 new mode 100755 index 06f20ff..78738e6 --- a/scripts/Update_MLG_(Mac).command +++ b/scripts/Update_MLG_(Mac).command @@ -1,8 +1,4 @@ #!/bin/bash cd "$(dirname "$0")" exec java -Djava.awt.headless=true -Xms1024m -Xmx1024m -Xincgc -jar MinecraftLandGenerator.jar -update - - - - - +exec java -jar MinecraftLandGenerator.jar -readme _MLG_Readme.txt diff --git a/scripts/Update_MLG_(Windows).cmd b/scripts/Update_MLG_(Windows).cmd index 63be1e6..34450ab 100644 --- a/scripts/Update_MLG_(Windows).cmd +++ b/scripts/Update_MLG_(Windows).cmd @@ -1,3 +1,6 @@ @echo off +SET BINDIR=%~dp0 +CD /D "%BINDIR%" java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -update +java -jar MinecraftLandGenerator.jar -readme _MLG_Readme.txt diff --git a/scripts/Update_MLG_Extra_Files_(Linux).sh b/scripts/Update_MLG_Extra_Files_(Linux).sh new file mode 100644 index 0000000..11fd7f6 --- /dev/null +++ b/scripts/Update_MLG_Extra_Files_(Linux).sh @@ -0,0 +1,6 @@ +#!/bin/sh +BINDIR=$(dirname "$(readlink -fn "$0")") +cd "$BINDIR" + +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -downloadlist MLG_Update_Files.txt +chmod +x *.sh diff --git a/scripts/Update_MLG_Extra_Files_(Mac).command b/scripts/Update_MLG_Extra_Files_(Mac).command new file mode 100755 index 0000000..a96805f --- /dev/null +++ b/scripts/Update_MLG_Extra_Files_(Mac).command @@ -0,0 +1,5 @@ +#!/bin/bash +cd "$(dirname "$0")" + +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -downloadlist MLG_Update_Files.txt +chmod +x *.command diff --git a/scripts/Update_MLG_Extra_Files_(Windows).cmd b/scripts/Update_MLG_Extra_Files_(Windows).cmd new file mode 100644 index 0000000..96769bc --- /dev/null +++ b/scripts/Update_MLG_Extra_Files_(Windows).cmd @@ -0,0 +1,5 @@ +@echo off +SET BINDIR=%~dp0 +CD /D "%BINDIR%" + +java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -downloadlist MLG_Update_Files.txt \ No newline at end of file diff --git a/scripts/Update_Server_(Linux).sh b/scripts/Update_Server_(Linux).sh index 093ae59..c573ebe 100644 --- a/scripts/Update_Server_(Linux).sh +++ b/scripts/Update_Server_(Linux).sh @@ -1,4 +1,6 @@ #!/bin/sh +BINDIR=$(dirname "$(readlink -fn "$0")") +cd "$BINDIR" java -client -showversion -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -downloadfile https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar diff --git a/scripts/Update_Server_(Mac).command b/scripts/Update_Server_(Mac).command old mode 100644 new mode 100755 diff --git a/scripts/Update_Server_(Windows).cmd b/scripts/Update_Server_(Windows).cmd index 252a2ca..6dbacaf 100644 --- a/scripts/Update_Server_(Windows).cmd +++ b/scripts/Update_Server_(Windows).cmd @@ -1,3 +1,5 @@ @echo off +SET BINDIR=%~dp0 +CD /D "%BINDIR%" java -client -Djava.awt.headless=true -jar MinecraftLandGenerator.jar -downloadfile https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar diff --git a/src/corrodias/minecraft/landgenerator/Main.java b/src/corrodias/minecraft/landgenerator/Main.java index 66d78d3..7984c39 100644 --- a/src/corrodias/minecraft/landgenerator/Main.java +++ b/src/corrodias/minecraft/landgenerator/Main.java @@ -53,7 +53,7 @@ public class Main { // Version Number! private static final String PROG_NAME = "Minecraft Land Generator"; - private static final String VERSION = "1.6.05"; + private static final String VERSION = "1.6.1"; private static final String AUTHORS = "Corrodias, Morlok8k, pr0f1x"; private static final String fileSeparator = System.getProperty("file.separator"); @@ -85,9 +85,9 @@ public class Main { private static String level_9 = null; private int xRange = 0; - private int yRange = 0; + private int zRange = 0; private Integer xOffset = null; - private Integer yOffset = null; + private Integer zOffset = null; private boolean verbose = false; private boolean alternate = false; private static boolean waitSave = false; @@ -118,7 +118,7 @@ public class Main { private static ArrayList timeStamps = new ArrayList(); private static final String MinecraftLandGeneratorConf = "MinecraftLandGenerator.conf"; - private static final String defaultReadmeFile = "MLG-Readme.txt"; + private static final String defaultReadmeFile = "_MLG_Readme.txt"; private static final String MLG_JarFile = "MinecraftLandGenerator.jar"; private static final String github_URL = @@ -128,6 +128,8 @@ public class Main { private static final String github_MLG_BuildID_URL = github_URL + buildIDFile; private static final String github_MLG_jar_URL = github_URL + MLG_JarFile; + private static Boolean recheckFlag = false; + ////// private static final boolean testing = false; // display more output when debugging @@ -178,12 +180,12 @@ public class Main { // ===================================================================== if (args.length == 0) { - out("Please Enter the size of world you want. Example: X:1000 Y:1000"); + out("Please Enter the size of world you want. Example: X:1000 Z:1000"); outP(MLG + "X:"); xRange = getInt("X:"); - outP(MLG + "Y:"); - yRange = getInt("Y:"); - args = new String[] { String.valueOf(xRange), String.valueOf(yRange) }; + outP(MLG + "Z:"); + zRange = getInt("Z:"); + args = new String[] { String.valueOf(xRange), String.valueOf(zRange) }; } @@ -247,15 +249,51 @@ public class Main { } else if (args[0].equalsIgnoreCase("-downloadlist")) { if (args.length == 2) { + String origMD5 = ""; + String recheckMD5 = ""; + try { File config = new File(args[1]); + try { + origMD5 = fileMD5(config.toString()); + } catch (NoSuchAlgorithmException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } BufferedReader in = new BufferedReader(new FileReader(config)); String line; while ((line = in.readLine()) != null) { - downloadFile(line, true); + if (line == "###RECHECK###") { + recheckFlag = !recheckFlag; + } else { + downloadFile(line, true); + } } in.close(); + if (recheckFlag == true) { + try { + recheckMD5 = fileMD5(config.toString()); + } catch (NoSuchAlgorithmException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + if (!origMD5.contentEquals(recheckMD5)) { + BufferedReader in_recheck = new BufferedReader(new FileReader(config)); + String line_recheck; + while ((line_recheck = in_recheck.readLine()) != null) { + if (line_recheck == "###RECHECK###") { + recheckFlag = !recheckFlag; + } else { + downloadFile(line_recheck, true); + } + } + in_recheck.close(); + } + + } + } catch (FileNotFoundException ex) { System.err.println(args[1] + " - File not found"); waitTenSec(false); @@ -319,12 +357,12 @@ public class Main { // ARGUMENTS try { xRange = Integer.parseInt(args[0]); - yRange = Integer.parseInt(args[1]); + zRange = Integer.parseInt(args[1]); } catch (NumberFormatException ex) { - err("Invalid X or Y argument."); - err("Please Enter the size of world you want. Example: X:1000 Y:1000"); + err("Invalid X or Z argument."); + err("Please Enter the size of world you want. Example: X:1000 Z:1000"); xRange = getInt("X:"); - yRange = getInt("Y:"); + zRange = getInt("Z:"); //return; } @@ -338,23 +376,39 @@ public class Main { String nextSwitch = args[i + 2].toLowerCase(); if (nextSwitch.equals("-verbose") || nextSwitch.equals("-v")) { verbose = true; + out("Notice: Verbose Mode"); + } else if (nextSwitch.startsWith("-i")) { increment = Integer.parseInt(args[i + 2].substring(2)); + out("Notice: Non-Default Increment: " + increment); + } else if (nextSwitch.startsWith("-w")) { ignoreWarnings = true; + out("Notice: Warnings from Server are Ignored"); + } else if (nextSwitch.equals("-alt") || nextSwitch.equals("-a")) { - out("Using Alternate Launching..."); alternate = true; + out("Notice: Using Alternate Launching"); + } else if (nextSwitch.startsWith("-x")) { xOffset = Integer.valueOf(args[i + 2].substring(2)); - } else if (nextSwitch.startsWith("-y")) { - yOffset = Integer.valueOf(args[i + 2].substring(2)); + out("Notice: X Offset: " + xOffset); + + } else if (nextSwitch.startsWith("-y") || nextSwitch.equals("-z")) { //NOTE: "-y" is just here for backwards compatibility + zOffset = Integer.valueOf(args[i + 2].substring(2)); + out("Notice: Z Offset: " + zOffset); + if (nextSwitch.startsWith("-y")) { + out("Notice: MLG now uses Z instead of Y. Please use the -z switch instead"); + waitTenSec(false); + } + } else { serverPath = args[i + 2]; + out("Notice: Attempting to use Alternate Server:" + serverPath); } } } catch (NumberFormatException ex) { - err("Invalid -i switch value."); + err("Invalid switch value."); return; } @@ -391,6 +445,10 @@ public class Main { runMinecraft(verbose, alternate); + if ((xRange == 0) & (zRange == 0)) { //If the server is launched with an X and a Z of zero, then we just shutdown MLG after the initial launch. + return; + } + out(""); File serverLevel = new File(worldPath + fileSeparator + "level.dat"); @@ -401,7 +459,8 @@ public class Main { out(""); Integer[] spawn = getSpawn(serverLevel); - out("Spawn point detected: [" + spawn[0] + ", " + spawn[2] + "]"); + out("Spawn point detected: [X,Y,Z] [" + spawn[0] + ", " + spawn[1] + ", " + spawn[2] + + "]"); { boolean overridden = false; if (xOffset == null) { @@ -409,32 +468,32 @@ public class Main { } else { overridden = true; } - if (yOffset == null) { - yOffset = spawn[2]; + if (zOffset == null) { + zOffset = spawn[2]; } else { overridden = true; } if (overridden) { - out("Centering land generation on [" + xOffset + ", " + yOffset + out("Centering land generation on [" + xOffset + ", " + zOffset + "] due to switches."); } } out(""); - int totalIterations = (xRange / increment + 1) * (yRange / increment + 1); + int totalIterations = (xRange / increment + 1) * (zRange / increment + 1); int currentIteration = 0; long differenceTime = System.currentTimeMillis(); Long[] timeTracking = new Long[] { differenceTime, differenceTime, differenceTime, differenceTime }; for (int currentX = 0 - xRange / 2; currentX <= xRange / 2; currentX += increment) { - for (int currentY = 0 - yRange / 2; currentY <= yRange / 2; currentY += increment) { + for (int currentZ = 0 - zRange / 2; currentZ <= zRange / 2; currentZ += increment) { currentIteration++; out("Setting spawn to [" + Integer.toString(currentX + xOffset) + ", " - + Integer.toString(currentY + yOffset) + + Integer.toString(currentZ + zOffset) + "] (" + currentIteration + "/" @@ -477,7 +536,7 @@ public class Main { } // Set the spawn point - setSpawn(serverLevel, currentX + xOffset, 128, currentY + yOffset); + setSpawn(serverLevel, currentX + xOffset, 128, currentZ + zOffset); // Launch the server runMinecraft(verbose, alternate); @@ -489,6 +548,8 @@ public class Main { copyFile(backupLevel, serverLevel); backupLevel.delete(); out("Restored original level.dat."); + finishedImage(); + waitTenSec(false); } catch (IOException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } @@ -533,7 +594,7 @@ public class Main { /** * Changes the spawn point in the given Alpha/Beta level to the given coordinates.
- * Note that, in Minecraft levels, the Y coordinate is height, while Z is what may normally be thought of as Y.
+ * Note that, in Minecraft levels, the Y coordinate is height.
* (We picture maps from above, but the game was made from a different perspective) * * @param level @@ -642,7 +703,6 @@ public class Main { out("Alternate Launch"); Process process = minecraft.start(); - byte[] saveall = { 's', 'a', 'v', 'e', '-', 'a', 'l', 'l', '\r', '\n' }; byte[] stop = { 's', 't', 'o', 'p', '\r', '\n' }; // monitor output and print to console where required. @@ -657,11 +717,6 @@ public class Main { out(line); if (line.contains(doneText)) { // EDITED By Morlok8k for Minecraft 1.3+ Beta OutputStream outputStream = process.getOutputStream(); - // removed waitSave code for alternate launch. Not needed here. Alt launch is basic, no frills, etc. - - out("Saving server data..."); - outputStream.write(saveall); - outputStream.flush(); out("Stopping server..."); outputStream.write(stop); @@ -927,7 +982,8 @@ public class Main { File level = new File(worldPath + fileSeparator + "level.dat"); try { Integer[] spawn = getSpawn(level); - out("The current spawn point is: [" + spawn[0] + ", " + spawn[2] + "]"); + out("The current spawn point is: [X,Y,Z] [" + spawn[0] + ", " + spawn[1] + ", " + + spawn[2] + "]"); return true; } catch (IOException ex) { err("Error while reading " + level.getPath()); @@ -968,7 +1024,7 @@ public class Main { + "-----------------------------------------------" + newLine + newLine + "This program lets you generate an area of land with your Minecraft Beta SMP server (and is prossibly future-proof for newer versions). You set up your java command line and minecraft server paths in the MinecraftLandGenerator.conf file, set up the server's server.properties file with the name of the world you wish to use, and then run this program." + newLine - + "When a Minecraft server is launched, it automatically generates chunks within a square area of 25x25 chunks (400x400 blocks), centered on the current spawn point (formally 20x20 chunks, 320x320 blocks). When provided X and Y ranges as arguments, this program will launch the server repeatedly, editing the level.dat file between sessions, to generate large amounts of land without players having to explore them. The generated land will have about the X and Y ranges as requested by the arguments, though it will not be exact due to the spawn point typically not on the border of a chunk. (Because of this, MLG by default adds a slight overlap with each pass - 380x380 blocks) You can use the -x and -y switches to override the spawn offset and center the land generation on a different point." + newLine + + "When a Minecraft server is launched, it automatically generates chunks within a square area of 25x25 chunks (400x400 blocks), centered on the current spawn point (formally 20x20 chunks, 320x320 blocks). When provided X and Z ranges as arguments, this program will launch the server repeatedly, editing the level.dat file between sessions, to generate large amounts of land without players having to explore them. The generated land will have about the X and Z ranges as requested by the arguments, though it will not be exact due to the spawn point typically not on the border of a chunk. (Because of this, MLG by default adds a slight overlap with each pass - 380x380 blocks) You can use the -x and -z switches to override the spawn offset and center the land generation on a different point." + newLine + "The program makes a backup of level.dat as level_backup.dat before editing, and restores the backup at the end. In the event that a level_backup.dat file already exists, the program will refuse to proceed, leaving the user to determine why the level_backup.dat file exists and whether they would rather restore it or delete it, which must be done manually." + newLine + newLine + "This program is public domain, and the source code is included in the .jar file. (If accidently missing, like in 1.3.0 and 1.4.0, it is always available at Github.)" + newLine @@ -983,6 +1039,13 @@ public class Main { + newLine + "Version History:" + newLine + "Morlok8k:" + newLine + + "1.6.1" + newLine + + "- Added some modifications for scripting (Mainly for a new Initial setup script)" + newLine + + "- Changed MLG's Y to Z. Now it matches Minecraft. Y in the game is Height." + newLine + + "- Renamed -y switch to -z. MLG will remain backwards compatible if you use the old -y switch." + newLine + + "- Updated -printspawn to show X,Y,Z" + newLine + + "- Added End-of-Generation ASCII-Graphic" + newLine + + newLine + "1.6.05" + newLine + "- MLG displays if the server is converting the Map format, when not in verbose mode. (McRegion -> Anvil, or Chunk-File -> McRegion)" + newLine + "- Minor fixes/edits/typos" + newLine @@ -1114,6 +1177,13 @@ public class Main { boolean success = true; String fileName = URL.substring(URL.lastIndexOf("/") + 1, URL.length()); + + if (fileName.startsWith("\"")) { + if (fileName.substring(fileName.length() - 1, fileName.length()) == "\"") { + fileName = fileName.substring(1, fileName.length() - 1); + } + } + int size = 1024 * 4; // 1024 * n should be tested to get the optimum size (for download speed.) if (fileName.equals("")) { @@ -1615,11 +1685,11 @@ public class Main { } //@formatter:off - Str = "Usage: java -jar " + MLGFileNameShort + " x y [serverpath] [switches]" + NewLine + Str = "Usage: java -jar " + MLGFileNameShort + " x z [serverpath] [switches]" + NewLine + NewLine + "Arguments:" + NewLine + " x : X range to generate" + NewLine - + " y : Y range to generate" + NewLine + + " z : Z range to generate" + NewLine + " serverpath : the path to the directory in which the server runs (takes precedence over the config file setting)" + NewLine + NewLine + "Switches:" + NewLine @@ -1628,9 +1698,9 @@ public class Main { + " -w : Ignore [WARNING] and [SEVERE] messages." + NewLine + " -alt : alternate server launch sequence" + NewLine + " -a : same as -alt" + NewLine - + " -i# : override the iteration spawn offset increment (default 300) (example: -i100)" + NewLine - + " -x# : set the X offset to generate land around (example: -x0)" + NewLine - + " -y# : set the X offset to generate land around (example: -y0)" + NewLine + + " -i# : override the iteration spawn offset increment (default 380) (example: -i100)" + NewLine + + " -x# : set the X offset to generate land around (example: -x0 or -x1000 or -x-500)" + NewLine + + " -z# : set the Z offset to generate land around (example: -z0 or -z1000 or -z-500)" + NewLine + NewLine + "Other options:" + NewLine + " java -jar " + MLGFileNameShort + " -update" + NewLine @@ -2053,6 +2123,29 @@ public class Main { } + private static void finishedImage() { + System.out.println(newLine + " .l0kkKMl lMKkk0l. " + newLine + + ".;kMc ;KK; .,,lkkkkkkkl,,. ;KK, cMk,." + newLine + + "KKxkc..lKK;.oKKxxl,;;;;lkkKKo.,KKl..ckkKK" + newLine + + "Mx. ...;x0OOl'. .'lOOOx:... .xM" + newLine + + "lKKk0l. ,KK; ,KK, .l0xKKl" + newLine + + " .'',xOxOWl lMOxOx,''. " + newLine + + " .,xWl lWx;. " + newLine + + " lMl ,. ., lMl " + newLine + + " ;XO';Odl:,.. .',:ldO;'OX; " + newLine + + " ,KK,cxkkkc...ckxkx:,KK, " + newLine + + " lMc .,,. .o. .,,. cMl " + newLine + + " .lO;;' .lkl. ';;Ol. " + newLine + + " .;;kMk. .kMk;;. " + newLine + + " .lKKK0kl;;.......;,lk0KKKl. " + newLine + + " .;llxOx;.'Ox;llxxldlxxll;xO'.;xOxll;. " + newLine + + " ,KKcll. .l0KKl... ...lKK0l. .llcKK, " + newLine + + " lMx'''..lXX;:X0:'. .':OX;,XXl..'''xMl " + newLine + + " .lxXk. ,KM; .lkKKxkkKKkl. ,MK, .kXxl. " + newLine + + " oKl;;kMk. .,,,,;. .kMk,,lKo " + newLine + + " .0MMMMO' .OMMMMO. "); + } + /* Morlok8k: * Just a note about this unescape method: * I am quite amazed at this code. It is vastly superior to my own coding ability.