diff --git a/java/org/artisanlogiciel/games/maze/persist/MazePersistWorldEdit.java b/java/org/artisanlogiciel/games/maze/persist/MazePersistWorldEdit.java index 1ce638d..2bc2c9a 100644 --- a/java/org/artisanlogiciel/games/maze/persist/MazePersistWorldEdit.java +++ b/java/org/artisanlogiciel/games/maze/persist/MazePersistWorldEdit.java @@ -2,15 +2,17 @@ package org.artisanlogiciel.games.maze.persist; import org.artisanlogiciel.games.maze.Brick; import org.artisanlogiciel.games.maze.LabyModel; +import org.artisanlogiciel.games.minetest.Material; import org.artisanlogiciel.games.minetest.Node; import org.artisanlogiciel.games.minetest.WorlEditGenerator; import java.io.*; +import static org.artisanlogiciel.games.minetest.Material.GRASS_MATERIAL; + public class MazePersistWorldEdit { private LabyModel model; private WorlEditGenerator generator; - private static final String GRASS_MATERIAL = "default:dirt_with_grass"; public MazePersistWorldEdit(LabyModel model) { this.model = model; @@ -24,6 +26,12 @@ public class MazePersistWorldEdit { } } + private Node newNode(int x, int y, String material) + { + // x,y,z => x,z,y in minetest + return new Node(x,0, y, Material.getMaterialByName(material)); + } + void addWalls(int pX, int pY) { short walls = model.getWalls(pX, pY); short wdrawn = 0; @@ -36,14 +44,14 @@ public class MazePersistWorldEdit { String material = GRASS_MATERIAL; - int x = ox + (int) (pX * w); - int y = oy + (int) (pY * h); + int x = ox + (pX * w); + int y = oy + (pY * h); // copied from drawing, where order did matter, might not be the case here... //if ((pY == 0) && LabyModel.isFlagSet(walls, Brick.UP)) { if (LabyModel.isFlagSet(walls, Brick.UP)) { for ( int dx = 0; dx < w; dx++) { - addNode(new Node(x + dx, y, z, material)); + addNode(newNode(x + dx, y,material)); } wdrawn |= Brick.UP; } @@ -66,7 +74,7 @@ public class MazePersistWorldEdit { //if ((pX == 0) && LabyModel.isFlagSet(walls, Brick.LEFT)) { if (LabyModel.isFlagSet(walls, Brick.LEFT)) { for (int dy = 0; dy < h; dy ++) { - addNode(new Node(x, y + dy, z, material)); + addNode(newNode(x, y + dy, material)); } wdrawn |= Brick.LEFT; } @@ -77,7 +85,7 @@ public class MazePersistWorldEdit { // WIP using WorldEditGenerator if ((pFormat == null) || (pFormat.equals("we"))) { - Node refNode = new Node(0,0,0,"default:dirt_with_grass"); + Node refNode = new Node(0,0,0); StringBuilder builder = new StringBuilder(); generator = new WorlEditGenerator(builder,refNode); generator.writeStart(); diff --git a/java/org/artisanlogiciel/games/minetest/Material.java b/java/org/artisanlogiciel/games/minetest/Material.java new file mode 100644 index 0000000..429aaf8 --- /dev/null +++ b/java/org/artisanlogiciel/games/minetest/Material.java @@ -0,0 +1,24 @@ +package org.artisanlogiciel.games.minetest; + +public class Material { + + public static final String GRASS_MATERIAL = "default:dirt_with_grass"; + + public static Material DEFAULT = new Material(GRASS_MATERIAL); + + private String name; + + public Material(String name) { + this.name = name; + } + + public static Material getMaterialByName(String name) + { + return DEFAULT; + } + + @Override + public String toString() { + return "name"; + } +} diff --git a/java/org/artisanlogiciel/games/minetest/Node.java b/java/org/artisanlogiciel/games/minetest/Node.java index d1e8bb1..75b5b09 100644 --- a/java/org/artisanlogiciel/games/minetest/Node.java +++ b/java/org/artisanlogiciel/games/minetest/Node.java @@ -4,15 +4,22 @@ public class Node { int x; int y; int z; - String material; + Material material; - public Node(int x, int y, int z, String material) { + public Node(int x, int y, int z, Material material) { this.x = x; this.y = y; this.z = z; this.material = material; } + public Node(int x, int y, int z) { + this.x = x; + this.y = y; + this.z = z; + this.material = Material.DEFAULT; + } + public int getX() { return x; } @@ -25,7 +32,7 @@ public class Node { return z; } - public String getMaterial() { + public Material getMaterial() { return material; } } diff --git a/java/org/artisanlogiciel/games/minetest/WorlEditGenerator.java b/java/org/artisanlogiciel/games/minetest/WorlEditGenerator.java index 550a11c..30efbc5 100644 --- a/java/org/artisanlogiciel/games/minetest/WorlEditGenerator.java +++ b/java/org/artisanlogiciel/games/minetest/WorlEditGenerator.java @@ -51,7 +51,7 @@ public class WorlEditGenerator addIntMember("x", node.getX() - refNode.getX()); addIntMember("y", node.getY() - refNode.getY()); addIntMember("z", node.getZ() - refNode.getZ()); - addStringMember("name",node.getMaterial()); + addStringMember("name",node.getMaterial().toString() ); luaNode.append("}"); start=false; } diff --git a/java/org/artisanlogiciel/lua/CharProvider.java b/java/org/artisanlogiciel/lua/CharProvider.java new file mode 100644 index 0000000..98bdc6f --- /dev/null +++ b/java/org/artisanlogiciel/lua/CharProvider.java @@ -0,0 +1,32 @@ +package org.artisanlogiciel.lua; + +public class CharProvider { + + String input; + int current; + + public CharProvider(String input) { + this.input = input; + current = 0; + } + + public char getNextchar() + { + int i = current; + if ( input.length() > current) { + current++; + return input.charAt(i); + } + else + { + return 0; + } + } + + public void pushBackChar(char c) + { + System.out.print('*'); + current--; + } + +} diff --git a/java/org/artisanlogiciel/lua/LuaNumber.java b/java/org/artisanlogiciel/lua/LuaNumber.java new file mode 100644 index 0000000..44d46f6 --- /dev/null +++ b/java/org/artisanlogiciel/lua/LuaNumber.java @@ -0,0 +1,17 @@ +package org.artisanlogiciel.lua; + +public class LuaNumber +extends LuaObject { + + int number; + + LuaNumber(int number) + { + this.number = number; + } + + @Override + public String toString() { + return "" + number ; + } +} diff --git a/java/org/artisanlogiciel/lua/LuaObject.java b/java/org/artisanlogiciel/lua/LuaObject.java new file mode 100644 index 0000000..40ab3de --- /dev/null +++ b/java/org/artisanlogiciel/lua/LuaObject.java @@ -0,0 +1,4 @@ +package org.artisanlogiciel.lua; + +public class LuaObject { +} diff --git a/java/org/artisanlogiciel/lua/LuaSequence.java b/java/org/artisanlogiciel/lua/LuaSequence.java new file mode 100644 index 0000000..b4236b6 --- /dev/null +++ b/java/org/artisanlogiciel/lua/LuaSequence.java @@ -0,0 +1,43 @@ +package org.artisanlogiciel.lua; + +import java.util.ArrayList; +import java.util.List; + +public class LuaSequence +extends LuaObject{ + List items; + + public LuaSequence() + { + items = new ArrayList<>(); + } + + void addObject(LuaObject object) + { + if ( object == null ) + { + System.err.println("adding null tuple"); + } + items.add(object); + + } + + @Override + public String toString() + { + StringBuffer buffer = new StringBuffer(); + buffer.append('{'); + if (items.size() > 0) { + buffer.append(items.get(0).toString()); + if (items.size() > 1) { + for (int i = 1; i < items.size(); i ++) + { + buffer.append(','); + buffer.append(items.get(i).toString()); + } + } + } + buffer.append('}'); + return buffer.toString(); + } +} diff --git a/java/org/artisanlogiciel/lua/LuaString.java b/java/org/artisanlogiciel/lua/LuaString.java new file mode 100644 index 0000000..3fda12c --- /dev/null +++ b/java/org/artisanlogiciel/lua/LuaString.java @@ -0,0 +1,17 @@ +package org.artisanlogiciel.lua; + +public class LuaString + extends LuaObject +{ + String string; + + public LuaString(StringBuffer stringBuffer) + { + string = stringBuffer.toString(); + } + + @Override + public String toString() { + return '"' + string + '"' ; + } +} diff --git a/java/org/artisanlogiciel/lua/LuaTuple.java b/java/org/artisanlogiciel/lua/LuaTuple.java new file mode 100644 index 0000000..c884826 --- /dev/null +++ b/java/org/artisanlogiciel/lua/LuaTuple.java @@ -0,0 +1,32 @@ +package org.artisanlogiciel.lua; + +import java.util.ArrayList; +import java.util.List; + +public class LuaTuple + extends LuaObject +{ + List items; + + + public LuaTuple() { + this.items = new ArrayList<>(2); + } + + public LuaObject addItem(LuaObject item) + { + items.add(item); + return item; + } + + @Override + public String toString() { + StringBuffer buffer = new StringBuffer(); + buffer.append('['); + buffer.append(items.get(0).toString()); + buffer.append("]"); + buffer.append('='); + buffer.append(items.get(1).toString()); + return buffer.toString(); + } +} diff --git a/java/org/artisanlogiciel/lua/Parser.java b/java/org/artisanlogiciel/lua/Parser.java new file mode 100644 index 0000000..d1a1f5c --- /dev/null +++ b/java/org/artisanlogiciel/lua/Parser.java @@ -0,0 +1,230 @@ +package org.artisanlogiciel.lua; + +import java.util.ArrayList; +import java.util.List; + +public class Parser { + + LuaTuple currentTuple = null; + List errors = null; + LuaSequence currentSequence = null; + LuaObject lastObject = null; + CharProvider provider; + + public Parser(CharProvider provider) { + this.provider = provider; + } + + Parser(Parser parent) + { + this.provider = parent.provider; + } + + void startSequence() + { + currentSequence = new LuaSequence(); + } + + char getNextchar() + { + char c = provider.getNextchar(); + System.out.print(c); + return c; + } + + void pushBackChar(char c) + { + provider.pushBackChar(c); + } + + LuaString parseString() + { + char c = 0; + StringBuffer buffer = new StringBuffer(); + while ( (c = getNextchar()) != 0 ) + { + switch (c) + { + case '"': + return new LuaString(buffer); + default: + buffer.append(c); + // addChar + } + } + return new LuaString(buffer); + } + + private void error(char c, String info) + { + pushBackChar(c); + if ( errors == null) + { + errors = new ArrayList(); + } + System.err.println(info); + errors.add(info); + } + + LuaObject parseKey() + { + LuaString string = null; + char c = 0; + while ( (c = getNextchar()) != 0 ) + { + switch (c) + { + case '"': + if ( string == null ) { + string = parseString(); + } + else + { + error(c,"unexepected second string for a key"); + } + break; + case ']': + return string; + default: + error(c,"unexpected at end of a '[' key"); + // error... + } + } + + return string; + } + + LuaSequence parseSequence() + { + Parser subparser = new Parser(this); + subparser.startSequence(); + subparser.parse(); + + return subparser.currentSequence; + } + + LuaNumber parseNumber(char c) + { + int number = ( c - '0' ); + while ( (c = getNextchar()) != 0 ) { + switch (c) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + number = number * 10 + ( c - '0' ); + break; + default: + pushBackChar(c); + return new LuaNumber(number); + } + } + return new LuaNumber(number); + } + + LuaObject parse() + { + char c = 0; + while ( ((c = getNextchar()) != 0 ) && ( errors == null )) + { + switch (c) + { + case '"': + LuaString string = parseString(); + lastObject = string; + if ( currentSequence == null ) + { + return string; + } + break ; + case '[': + LuaObject key = parseKey(); + currentTuple = new LuaTuple(); + currentTuple.addItem(key); + break ; + case ']': + // error ? + error(c,"unexpected end of key"); + break ; + case '=': + if ( currentTuple != null) + { + Parser subparser = new Parser(this); + // first item should be a key ... + currentTuple.addItem(subparser.parse()); + } + else + { + error(c,"expected left part to be a key"); + } + lastObject = currentTuple; + if ( currentSequence == null ) + { + return currentTuple; + } + break ; + case '{': + lastObject = parseSequence(); + break ; + case '}': + if ( currentSequence != null ) { + currentSequence.addObject(lastObject); + } + return currentSequence; + case ',': + if ( currentSequence != null ) { + currentSequence.addObject(lastObject); + currentTuple = null; + } + break ; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + LuaNumber number = parseNumber(c); + lastObject = number; + if ( currentSequence == null ) + { + return number; + } + break ; + default: + error(c, "unexpected not a token or separator"); + } + } + if ( currentSequence == null ) + { + System.out.println("null sequence"); + } + return lastObject; + } + + public static void main(String pArgs[]) + { + CharProvider reader = new CharProvider( + "{{[\"x\"]=2,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=1,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=1,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=24,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=24,[\"y\"]=0,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=3,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=3,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=3,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=3,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=3,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=3,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=2,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=3,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=5,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=5,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=5,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=24,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=24,[\"y\"]=4,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=7,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=7,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=7,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=7,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=7,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=7,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=7,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=6,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=7,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=9,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=9,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=9,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=9,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=9,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=9,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=9,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=9,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=8,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=9,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=11,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=11,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=11,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=11,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=11,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=11,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=11,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=10,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=11,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=13,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=13,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=13,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=13,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=13,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=13,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=12,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=13,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=15,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=15,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=15,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=15,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=15,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=15,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=15,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=24,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=24,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=14,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=15,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=17,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=17,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=17,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=17,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=17,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=17,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=16,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=17,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=19,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=19,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=18,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=19,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=21,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=2,[\"y\"]=21,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=10,[\"y\"]=21,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=21,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=14,[\"y\"]=21,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=16,[\"y\"]=21,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=20,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=0,[\"y\"]=23,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=6,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=4,[\"y\"]=23,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=8,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=12,[\"y\"]=23,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=18,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=22,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=22,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"},{[\"x\"]=20,[\"y\"]=23,[\"z\"]=0,[\"name\"]=\"default:dirt_with_grass\"}}" + ); + Parser parser = new Parser(reader); + LuaObject result = parser.parse(); + if ( result != null ) + { + System.out.println(result.toString()); + } + else + { + System.err.println("result null"); + } + } +}