minetest worledit .we format export

- harcoded generation of lua content of .we export
- export something, but not yet correct ( walls are points ... )
This commit is contained in:
philippe lhardy
2020-11-03 17:33:25 +01:00
parent 94b4a0ce66
commit 8211147b28
5 changed files with 363 additions and 119 deletions

View File

@@ -0,0 +1,64 @@
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());
luaNode.append("}");
start=false;
}
public void writeEnd()
{
luaNode.append("}");
}
}