Files
Emil 89c53d7058 Expand material support and checkpoint the completed building toolkit
Expose the runtime block/item registry through compact material search and
single-material descriptions. Preserve private block-entity data through
checked edits and durable undo without sending payloads to model context.

Include the completed terrain tools, isolated world/map plugin, station lift,
ACP streaming and guidance fixes, local camera auto-connect, construction
scripts, and their public documentation, references and verification records.
Active station decoration and private runtime data remain outside this commit.

Validation: 145 Maven tests, 47 Bridge tests, successful camera Gradle build,
and isolated Paper verification of all 1,196 block defaults plus 5,392
independent property cases for placement, same-material edits and restoration.
2026-09-13 16:59:13 +03:00

20 lines
1.1 KiB
Java

import com.google.gson.JsonParser;
import io.github.minecraftbuilder.core.TerrainRecipe;
import java.io.*;
import java.nio.file.*;
/** Offline composition experiment, not a world writer or a production recipe. */
public final class NaturalTerrainStudy {
private static final io.github.minecraftbuilder.terrainworld.NaturalTerrain terrain =
new io.github.minecraftbuilder.terrainworld.NaturalTerrain(28092005);
static float height(int x,int z) { return terrain.height(x,z); }
public static void main(String[] args) throws Exception {
var old=new TerrainRecipe(JsonParser.parseString(Files.readString(Path.of(args[0]))).getAsJsonObject());
Path output=Path.of(args[1]);Files.createDirectories(output);
try(var a=new DataOutputStream(new BufferedOutputStream(Files.newOutputStream(output.resolve("before.f32"))));
var b=new DataOutputStream(new BufferedOutputStream(Files.newOutputStream(output.resolve("natural.f32"))))) {
for(int z=-384;z<384;z++)for(int x=-384;x<384;x++) {a.writeFloat(old.surfaceHeight(x,z));b.writeFloat(height(x,z));}
}
}
}