// generated by diplomat-tool import type { Brush } from "./Brush.mjs" import type { NucleationError } from "./NucleationError.mjs" import type { Schematic } from "./Schematic.mjs" import type { Shape } from "./Shape.mjs" import type { pointer, codepoint } from "./diplomat-runtime.d.ts"; /** * Namespace for the fill operations that combine a schematic, a shape and a * brush (the old `buildingtool_*` free functions). */ export class BuildingTool { /** @internal */ get ffiValue(): pointer; /** @internal */ constructor(); /** * Fill `shape` into `schematic` using `brush`. */ static fill(schematic: Schematic, shape: Shape, brush: Brush): void; /** * Fill `count` copies of `shape`, each offset by `offset * i`. */ static rstack(schematic: Schematic, shape: Shape, brush: Brush, count: number, offsetX: number, offsetY: number, offsetZ: number): void; /** * Masked fill that preserves everything already placed: `brush` is * only written where `schematic` currently has air (or nothing at * all), so existing structures inside `shape` survive untouched. */ static fillOnlyAir(schematic: Schematic, shape: Shape, brush: Brush): void; /** * Masked fill that only overwrites the listed blocks: `targets_json` * is a JSON array of block ids (e.g. `["minecraft:stone"]`, state * properties ignored) and every cell of `shape` whose current block * id is in the list is replaced by `brush` — everything else, * including air, is left alone. */ static fillReplacing(schematic: Schematic, shape: Shape, brush: Brush, targetsJson: string): void; }