// generated by diplomat-tool import type { NucleationError } from "./NucleationError.mjs" import type { Schematic } from "./Schematic.mjs" import type { pointer, codepoint } from "./diplomat-runtime.d.ts"; /** * Namespace for the geodata entry points (no network — data goes in, * blocks come out). */ export class Geo { /** @internal */ get ffiValue(): pointer; /** @internal */ constructor(); /** * Extrude building footprints into a massed schematic. `buildings_json` * is a JSON array of objects: * `{"polygon": [[x, z], ...], "height": , "block": "minecraft:...", * "min_y": }`. Footprints are stamped * tallest-last, so overlaps keep the tallest occupant per column. * `base_block` (empty string = none) lays a ground slab at y=0 under the * whole extent. Errors `Parse` on bad JSON, `InvalidArgument` on non-UTF-8. */ static extrudeFootprints(buildingsJson: string, baseBlock: string, name: string): Schematic; /** * Raise terrain from a heightmap. `heights_json` is a flat row-major * JSON array of per-column heights (blocks); `width` is columns per row. * `surface_blocks_json` is a JSON array of block names — one entry (the * same surface everywhere) or one per column, row-major and the same * length as `heights`, for elevation/slope banding. Each column's top * `surface_depth` blocks are its surface block, the rest are * `subsurface_block`. Errors `Parse` on bad JSON, `InvalidArgument` on a * non-positive width, empty surface list, or non-UTF-8. */ static heightmapTerrain(heightsJson: string, width: number, surfaceBlocksJson: string, subsurfaceBlock: string, surfaceDepth: number, name: string): Schematic; }