- currently possible to export a laby into minetest - start of a lua content parser to import .we into lab
65 lines
1.4 KiB
Java
65 lines
1.4 KiB
Java
package org.artisanlogiciel.games.minetest;
|
|
|
|
public class WorlEditGenerator
|
|
{
|
|
|
|
Node refNode;
|
|
StringBuilder luaNode;
|
|
boolean start = true;
|
|
|
|
public WorlEditGenerator(StringBuilder luaNode, Node refNode) {
|
|
this.luaNode = luaNode;
|
|
start = true;
|
|
this.refNode = refNode;
|
|
}
|
|
|
|
private void addIntMember(String name, int value)
|
|
{
|
|
addSeparator();
|
|
addMember(name);
|
|
luaNode.append(value);
|
|
}
|
|
|
|
private void addStringMember( String name, String value)
|
|
{
|
|
addSeparator();
|
|
addMember(name);
|
|
luaNode.append('"').append(value).append('"');
|
|
}
|
|
|
|
private void addMember(String name) {
|
|
luaNode.append("[\"").append(name).append("\"]=");
|
|
}
|
|
|
|
private void addSeparator() {
|
|
if ( ! start)
|
|
{
|
|
luaNode.append(",");
|
|
}
|
|
start = false;
|
|
}
|
|
|
|
public void writeStart()
|
|
{
|
|
luaNode.append("5.return {");
|
|
}
|
|
public void writeNode(Node node)
|
|
{
|
|
addSeparator();
|
|
luaNode.append("{");
|
|
start=true;
|
|
addIntMember("x", node.getX() - refNode.getX());
|
|
addIntMember("y", node.getY() - refNode.getY());
|
|
addIntMember("z", node.getZ() - refNode.getZ());
|
|
addStringMember("name",node.getMaterial().toString() );
|
|
luaNode.append("}");
|
|
start=false;
|
|
}
|
|
|
|
public void writeEnd()
|
|
{
|
|
luaNode.append("}");
|
|
}
|
|
|
|
}
|