diff --git a/src/morlok8k/MinecraftLandGenerator/Coordinates.java b/src/morlok8k/MinecraftLandGenerator/Coordinates.java index 01559b8..bd1e187 100644 --- a/src/morlok8k/MinecraftLandGenerator/Coordinates.java +++ b/src/morlok8k/MinecraftLandGenerator/Coordinates.java @@ -1,5 +1,8 @@ package morlok8k.MinecraftLandGenerator; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + /** * Coordinates are in the form of [X,Y,Z] or (X,Z)
*
@@ -79,38 +82,39 @@ public class Coordinates { */ public void setZ(final int z) { Z = z; -======= - public void setX(int x) { - x = x; } - public void setY(int y) { - y = y; + public void clear() { + X = 0; + Y = 0; + Z = 0; } - public void setZ(int z) { - z = z; ->>>>>>> 8979eb4... Fixed some pretty hairy code in Coordinates.java, THEREBY BREAKING THE:src/morlok8k/minecraft/landgenerator/Coordinates.java + /** + * Parses a Coordinates object from a String. Leading and trailing garbage is ignored (FIXME). + * + * @param stringOfCoords + * A short- or long-form coordinate string as described at the two toString() methods + * @author jaseg + */ + public static Coordinates parseStringRegEx(String stringOfCoords) { + Matcher shortForm = Pattern.compile("\\((\\d+),(\\d+)\\)").matcher(stringOfCoords); + if (shortForm.matches()) { return new Coordinates(Integer.parseInt(shortForm.group(1)), 64, + Integer.parseInt(shortForm.group(2))); } + Matcher normalForm = Pattern.compile("\\[(\\d+),(\\d+),(\\d+)\\]").matcher(stringOfCoords); + if (normalForm.matches()) { return new Coordinates(Integer.parseInt(shortForm.group(1)), + Integer.parseInt(shortForm.group(2)), Integer.parseInt(shortForm.group(3))); } + Main.err("Invalid coordinate format: " + stringOfCoords); + return new Coordinates(0, 0, 0); } - /** - * Parses a Coordinates object from a String. Leading and trailing garbage is ignored (FIXME). - * @param s A short- or long-form coordinate string as described at the two toString() methods - * @throws IllegalArgumentException if s does not match a short or long form coordinate - */ - public static Coordinates parseString(String s) { - Matcher shortForm = Pattern.compile("\\((\\d+),(\\d+)\\)").matcher(s); - if(shortForm.matches()){ - return new Coordinates(Interger.parseInt(shortForm.group(1)), 64, Integer.parseInt(shortForm.group(2))); - } - Matcher normalForm = Pattern.compile("\\[(\\d+),(\\d+),(\\d+)\\]").matcher(s); - if(normalForm.matches()){ - return new Coordinates(Interger.parseInt(shortForm.group(1)), Integer.parseInt(shortForm.group(2)), Integer.parseInt(shortForm.group(3))); - } - throw new InvalidArgumentException("Invalid coordinate format: "+s); - } - -<<<<<<< HEAD:src/morlok8k/MinecraftLandGenerator/Coordinates.java + /** + * Parses a Coordinates object from a String. Leading and trailing garbage is ignored (FIXME). + * + * @param StringOfCoords + * A short- or long-form coordinate string as described at the two toString() methods + * @author Morlok8k + */ public static Coordinates parseString(String StringOfCoords) { //parse out string StringOfCoords = StringOfCoords.trim();