nucleation 0.10.22 → 0.10.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/Schematic.d.mts +23 -0
- package/Schematic.d.ts +23 -0
- package/Schematic.mjs +70 -0
- package/nucleation.wasm +0 -0
- package/package.json +7 -2
- package/renderer/AnimationEffect.d.mts +44 -0
- package/renderer/AnimationEffect.d.ts +44 -0
- package/renderer/AnimationEffect.mjs +204 -0
- package/renderer/Autostack.d.mts +43 -0
- package/renderer/Autostack.d.ts +43 -0
- package/renderer/Autostack.mjs +134 -0
- package/renderer/BlockPos.d.mts +28 -0
- package/renderer/BlockPos.d.ts +28 -0
- package/renderer/BlockPos.mjs +130 -0
- package/renderer/BlockState.d.mts +39 -0
- package/renderer/BlockState.d.ts +39 -0
- package/renderer/BlockState.mjs +134 -0
- package/renderer/Blocks.d.mts +91 -0
- package/renderer/Blocks.d.ts +91 -0
- package/renderer/Blocks.mjs +308 -0
- package/renderer/Brush.d.mts +99 -0
- package/renderer/Brush.d.ts +99 -0
- package/renderer/Brush.mjs +335 -0
- package/renderer/BuildAnimation.d.mts +179 -0
- package/renderer/BuildAnimation.d.ts +179 -0
- package/renderer/BuildAnimation.mjs +1148 -0
- package/renderer/BuildingTool.d.mts +46 -0
- package/renderer/BuildingTool.d.ts +46 -0
- package/renderer/BuildingTool.mjs +121 -0
- package/renderer/CellExecutor.d.mts +51 -0
- package/renderer/CellExecutor.d.ts +51 -0
- package/renderer/CellExecutor.mjs +171 -0
- package/renderer/CellularSdfConfig.d.mts +22 -0
- package/renderer/CellularSdfConfig.d.ts +22 -0
- package/renderer/CellularSdfConfig.mjs +69 -0
- package/renderer/ChunkMeshResult.d.mts +75 -0
- package/renderer/ChunkMeshResult.d.ts +75 -0
- package/renderer/ChunkMeshResult.mjs +253 -0
- package/renderer/CircuitBuilder.d.mts +118 -0
- package/renderer/CircuitBuilder.d.ts +118 -0
- package/renderer/CircuitBuilder.mjs +516 -0
- package/renderer/Curve3D.d.mts +27 -0
- package/renderer/Curve3D.d.ts +27 -0
- package/renderer/Curve3D.mjs +101 -0
- package/renderer/DefinitionRegion.d.mts +274 -0
- package/renderer/DefinitionRegion.d.ts +274 -0
- package/renderer/DefinitionRegion.mjs +973 -0
- package/renderer/Design.d.mts +348 -0
- package/renderer/Design.d.ts +348 -0
- package/renderer/Design.mjs +1334 -0
- package/renderer/Diff.d.mts +88 -0
- package/renderer/Diff.d.ts +88 -0
- package/renderer/Diff.mjs +316 -0
- package/renderer/Dimensions.d.mts +28 -0
- package/renderer/Dimensions.d.ts +28 -0
- package/renderer/Dimensions.mjs +130 -0
- package/renderer/DistanceField.d.mts +39 -0
- package/renderer/DistanceField.d.ts +39 -0
- package/renderer/DistanceField.mjs +114 -0
- package/renderer/ExecutionMode.d.mts +42 -0
- package/renderer/ExecutionMode.d.ts +42 -0
- package/renderer/ExecutionMode.mjs +127 -0
- package/renderer/Field3.d.mts +40 -0
- package/renderer/Field3.d.ts +40 -0
- package/renderer/Field3.mjs +160 -0
- package/renderer/FieldProgram.d.mts +40 -0
- package/renderer/FieldProgram.d.ts +40 -0
- package/renderer/FieldProgram.mjs +167 -0
- package/renderer/FieldProgramBinaryOp.d.mts +42 -0
- package/renderer/FieldProgramBinaryOp.d.ts +42 -0
- package/renderer/FieldProgramBinaryOp.mjs +118 -0
- package/renderer/FieldProgramBuilder.d.mts +104 -0
- package/renderer/FieldProgramBuilder.d.ts +104 -0
- package/renderer/FieldProgramBuilder.mjs +486 -0
- package/renderer/FieldProgramDistanceKind.d.mts +26 -0
- package/renderer/FieldProgramDistanceKind.d.ts +26 -0
- package/renderer/FieldProgramDistanceKind.mjs +78 -0
- package/renderer/FieldProgramUnaryOp.d.mts +34 -0
- package/renderer/FieldProgramUnaryOp.d.ts +34 -0
- package/renderer/FieldProgramUnaryOp.mjs +102 -0
- package/renderer/FieldProgramValueType.d.mts +25 -0
- package/renderer/FieldProgramValueType.d.ts +25 -0
- package/renderer/FieldProgramValueType.mjs +75 -0
- package/renderer/FieldRange.d.mts +15 -0
- package/renderer/FieldRange.d.ts +15 -0
- package/renderer/FieldRange.mjs +109 -0
- package/renderer/Fingerprint.d.mts +44 -0
- package/renderer/Fingerprint.d.ts +44 -0
- package/renderer/Fingerprint.mjs +197 -0
- package/renderer/GeneratedChunk.d.mts +35 -0
- package/renderer/GeneratedChunk.d.ts +35 -0
- package/renderer/GeneratedChunk.mjs +178 -0
- package/renderer/GeneratedChunkCoverage.d.mts +25 -0
- package/renderer/GeneratedChunkCoverage.d.ts +25 -0
- package/renderer/GeneratedChunkCoverage.mjs +75 -0
- package/renderer/GeneratedChunkOverlayMode.d.mts +24 -0
- package/renderer/GeneratedChunkOverlayMode.d.ts +24 -0
- package/renderer/GeneratedChunkOverlayMode.mjs +72 -0
- package/renderer/GeneratedWorldStream.d.mts +28 -0
- package/renderer/GeneratedWorldStream.d.ts +28 -0
- package/renderer/GeneratedWorldStream.mjs +86 -0
- package/renderer/Geo.d.mts +41 -0
- package/renderer/Geo.d.ts +41 -0
- package/renderer/Geo.mjs +121 -0
- package/renderer/Hdl.d.mts +56 -0
- package/renderer/Hdl.d.ts +56 -0
- package/renderer/Hdl.mjs +163 -0
- package/renderer/InterpolationSpace.d.mts +25 -0
- package/renderer/InterpolationSpace.d.ts +25 -0
- package/renderer/InterpolationSpace.mjs +73 -0
- package/renderer/IoLayout.d.mts +26 -0
- package/renderer/IoLayout.d.ts +26 -0
- package/renderer/IoLayout.mjs +81 -0
- package/renderer/IoLayoutBuilder.d.mts +73 -0
- package/renderer/IoLayoutBuilder.d.ts +73 -0
- package/renderer/IoLayoutBuilder.mjs +315 -0
- package/renderer/IoType.d.mts +41 -0
- package/renderer/IoType.d.ts +41 -0
- package/renderer/IoType.mjs +125 -0
- package/renderer/ItemModelConfig.d.mts +65 -0
- package/renderer/ItemModelConfig.d.ts +65 -0
- package/renderer/ItemModelConfig.mjs +223 -0
- package/renderer/ItemModelPackBuilder.d.mts +32 -0
- package/renderer/ItemModelPackBuilder.d.ts +32 -0
- package/renderer/ItemModelPackBuilder.mjs +104 -0
- package/renderer/ItemModelResult.d.mts +72 -0
- package/renderer/ItemModelResult.d.ts +72 -0
- package/renderer/ItemModelResult.mjs +268 -0
- package/renderer/ItemScale.d.mts +31 -0
- package/renderer/ItemScale.d.ts +31 -0
- package/renderer/ItemScale.mjs +133 -0
- package/renderer/LayoutFunction.d.mts +52 -0
- package/renderer/LayoutFunction.d.ts +52 -0
- package/renderer/LayoutFunction.mjs +159 -0
- package/renderer/MchprsWorld.d.mts +131 -0
- package/renderer/MchprsWorld.d.ts +131 -0
- package/renderer/MchprsWorld.mjs +423 -0
- package/renderer/MeshBounds.d.mts +40 -0
- package/renderer/MeshBounds.d.ts +40 -0
- package/renderer/MeshBounds.mjs +181 -0
- package/renderer/MeshConfig.d.mts +101 -0
- package/renderer/MeshConfig.d.ts +101 -0
- package/renderer/MeshConfig.mjs +306 -0
- package/renderer/MeshJob.d.mts +44 -0
- package/renderer/MeshJob.d.ts +44 -0
- package/renderer/MeshJob.mjs +116 -0
- package/renderer/MeshPhase.d.mts +38 -0
- package/renderer/MeshPhase.d.ts +38 -0
- package/renderer/MeshPhase.mjs +90 -0
- package/renderer/MeshProgress.d.mts +32 -0
- package/renderer/MeshProgress.d.ts +32 -0
- package/renderer/MeshProgress.mjs +134 -0
- package/renderer/MeshResult.d.mts +76 -0
- package/renderer/MeshResult.d.ts +76 -0
- package/renderer/MeshResult.mjs +269 -0
- package/renderer/MultiMeshResult.d.mts +50 -0
- package/renderer/MultiMeshResult.d.ts +50 -0
- package/renderer/MultiMeshResult.mjs +166 -0
- package/renderer/Nbt.d.mts +50 -0
- package/renderer/Nbt.d.ts +50 -0
- package/renderer/Nbt.mjs +161 -0
- package/renderer/NucleationError.d.mts +53 -0
- package/renderer/NucleationError.d.ts +53 -0
- package/renderer/NucleationError.mjs +136 -0
- package/renderer/OutputCondition.d.mts +45 -0
- package/renderer/OutputCondition.d.ts +45 -0
- package/renderer/OutputCondition.mjs +129 -0
- package/renderer/Palette.d.mts +157 -0
- package/renderer/Palette.d.ts +157 -0
- package/renderer/Palette.mjs +487 -0
- package/renderer/PaletteBuilder.d.mts +119 -0
- package/renderer/PaletteBuilder.d.ts +119 -0
- package/renderer/PaletteBuilder.mjs +457 -0
- package/renderer/README.md +67 -0
- package/renderer/RawMeshExport.d.mts +74 -0
- package/renderer/RawMeshExport.d.ts +74 -0
- package/renderer/RawMeshExport.mjs +243 -0
- package/renderer/RedstoneGraph.d.mts +58 -0
- package/renderer/RedstoneGraph.d.ts +58 -0
- package/renderer/RedstoneGraph.mjs +242 -0
- package/renderer/RegionBounds.d.mts +41 -0
- package/renderer/RegionBounds.d.ts +41 -0
- package/renderer/RegionBounds.mjs +182 -0
- package/renderer/RenderConfig.d.mts +101 -0
- package/renderer/RenderConfig.d.ts +101 -0
- package/renderer/RenderConfig.mjs +271 -0
- package/renderer/Renderer.d.mts +51 -0
- package/renderer/Renderer.d.ts +51 -0
- package/renderer/Renderer.mjs +219 -0
- package/renderer/ResourcePack.d.mts +105 -0
- package/renderer/ResourcePack.d.ts +105 -0
- package/renderer/ResourcePack.mjs +447 -0
- package/renderer/ResourcePackList.d.mts +32 -0
- package/renderer/ResourcePackList.d.ts +32 -0
- package/renderer/ResourcePackList.mjs +96 -0
- package/renderer/Routing.d.mts +66 -0
- package/renderer/Routing.d.ts +66 -0
- package/renderer/Routing.mjs +220 -0
- package/renderer/Schematic.d.mts +977 -0
- package/renderer/Schematic.d.ts +977 -0
- package/renderer/Schematic.mjs +3820 -0
- package/renderer/SchematicBuilder.d.mts +103 -0
- package/renderer/SchematicBuilder.d.ts +103 -0
- package/renderer/SchematicBuilder.mjs +401 -0
- package/renderer/SchematicRegions.d.mts +93 -0
- package/renderer/SchematicRegions.d.ts +93 -0
- package/renderer/SchematicRegions.mjs +411 -0
- package/renderer/SchematicSplitResult.d.mts +26 -0
- package/renderer/SchematicSplitResult.d.ts +26 -0
- package/renderer/SchematicSplitResult.mjs +84 -0
- package/renderer/Scripting.d.mts +40 -0
- package/renderer/Scripting.d.ts +40 -0
- package/renderer/Scripting.mjs +138 -0
- package/renderer/Sdf.d.mts +234 -0
- package/renderer/Sdf.d.ts +234 -0
- package/renderer/Sdf.mjs +1234 -0
- package/renderer/SdfAxis.d.mts +25 -0
- package/renderer/SdfAxis.d.ts +25 -0
- package/renderer/SdfAxis.mjs +75 -0
- package/renderer/SdfBounds.d.mts +19 -0
- package/renderer/SdfBounds.d.ts +19 -0
- package/renderer/SdfBounds.mjs +161 -0
- package/renderer/SdfCellMode.d.mts +26 -0
- package/renderer/SdfCellMode.d.ts +26 -0
- package/renderer/SdfCellMode.mjs +78 -0
- package/renderer/SdfNormal.d.mts +16 -0
- package/renderer/SdfNormal.d.ts +16 -0
- package/renderer/SdfNormal.mjs +122 -0
- package/renderer/Shape.d.mts +143 -0
- package/renderer/Shape.d.ts +143 -0
- package/renderer/Shape.mjs +458 -0
- package/renderer/SortStrategy.d.mts +86 -0
- package/renderer/SortStrategy.d.ts +86 -0
- package/renderer/SortStrategy.mjs +272 -0
- package/renderer/Store.d.mts +83 -0
- package/renderer/Store.d.ts +83 -0
- package/renderer/Store.mjs +369 -0
- package/renderer/StoreIo.d.mts +71 -0
- package/renderer/StoreIo.d.ts +71 -0
- package/renderer/StoreIo.mjs +292 -0
- package/renderer/TextureAtlas.d.mts +40 -0
- package/renderer/TextureAtlas.d.ts +40 -0
- package/renderer/TextureAtlas.mjs +122 -0
- package/renderer/TextureInfo.d.mts +34 -0
- package/renderer/TextureInfo.d.ts +34 -0
- package/renderer/TextureInfo.mjs +149 -0
- package/renderer/TickSettleMode.d.mts +34 -0
- package/renderer/TickSettleMode.d.ts +34 -0
- package/renderer/TickSettleMode.mjs +84 -0
- package/renderer/TickSimulation.d.mts +572 -0
- package/renderer/TickSimulation.d.ts +572 -0
- package/renderer/TickSimulation.mjs +1299 -0
- package/renderer/TypedCircuitExecutor.d.mts +101 -0
- package/renderer/TypedCircuitExecutor.d.ts +101 -0
- package/renderer/TypedCircuitExecutor.mjs +378 -0
- package/renderer/Value.d.mts +73 -0
- package/renderer/Value.d.ts +73 -0
- package/renderer/Value.mjs +275 -0
- package/renderer/VideoConfig.d.mts +15 -0
- package/renderer/VideoConfig.d.ts +15 -0
- package/renderer/VideoConfig.mjs +44 -0
- package/renderer/VoxelModel.d.mts +34 -0
- package/renderer/VoxelModel.d.ts +34 -0
- package/renderer/VoxelModel.mjs +113 -0
- package/renderer/Voxelizer.d.mts +80 -0
- package/renderer/Voxelizer.d.ts +80 -0
- package/renderer/Voxelizer.mjs +261 -0
- package/renderer/WorldChunkView.d.mts +75 -0
- package/renderer/WorldChunkView.d.ts +75 -0
- package/renderer/WorldChunkView.mjs +224 -0
- package/renderer/WorldGenerator.d.mts +75 -0
- package/renderer/WorldGenerator.d.ts +75 -0
- package/renderer/WorldGenerator.mjs +255 -0
- package/renderer/WorldSink.d.mts +50 -0
- package/renderer/WorldSink.d.ts +50 -0
- package/renderer/WorldSink.mjs +177 -0
- package/renderer/WorldStream.d.mts +45 -0
- package/renderer/WorldStream.d.ts +45 -0
- package/renderer/WorldStream.mjs +184 -0
- package/renderer/WsPartitionHints.d.mts +29 -0
- package/renderer/WsPartitionHints.d.ts +29 -0
- package/renderer/WsPartitionHints.mjs +102 -0
- package/renderer/WsProfile.d.mts +46 -0
- package/renderer/WsProfile.d.ts +46 -0
- package/renderer/WsProfile.mjs +152 -0
- package/renderer/WsRunResult.d.mts +83 -0
- package/renderer/WsRunResult.d.ts +83 -0
- package/renderer/WsRunResult.mjs +326 -0
- package/renderer/WsSegmentJob.d.mts +28 -0
- package/renderer/WsSegmentJob.d.ts +28 -0
- package/renderer/WsSegmentJob.mjs +81 -0
- package/renderer/diplomat-runtime.d.mts +15 -0
- package/renderer/diplomat-runtime.d.ts +15 -0
- package/renderer/diplomat-runtime.mjs +779 -0
- package/renderer/diplomat-wasm.mjs +52 -0
- package/renderer/diplomat.config.mjs +5 -0
- package/renderer/index.d.mts +193 -0
- package/renderer/index.d.ts +193 -0
- package/renderer/index.mjs +196 -0
- package/renderer/nucleation.wasm +0 -0
- package/renderer/veneer/design.d.ts +167 -0
- package/renderer/veneer/design.mjs +480 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import { Schematic } from "./Schematic.mjs"
|
|
4
|
+
import wasm from "./diplomat-wasm.mjs";
|
|
5
|
+
import * as diplomatRuntime from "./diplomat-runtime.mjs";
|
|
6
|
+
|
|
7
|
+
const Autostack_box_destroy_registry = new FinalizationRegistry((ptr) => {
|
|
8
|
+
wasm.Autostack_destroy(ptr);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Free functions in the old ABI hung directly off `schematic_*`; here they get a
|
|
13
|
+
* namespacing opaque-less home via static methods on a zero-size type is not
|
|
14
|
+
* supported, so they live as static methods taking `&Schematic` explicitly.
|
|
15
|
+
*/
|
|
16
|
+
export class Autostack {
|
|
17
|
+
// Internal ptr reference:
|
|
18
|
+
#ptr = null;
|
|
19
|
+
|
|
20
|
+
// Lifetimes are only to keep dependencies alive.
|
|
21
|
+
// Since JS won't garbage collect until there are no incoming edges.
|
|
22
|
+
#selfEdge = [];
|
|
23
|
+
|
|
24
|
+
#internalConstructor(symbol, ptr, selfEdge) {
|
|
25
|
+
if (symbol !== diplomatRuntime.internalConstructor) {
|
|
26
|
+
console.error("Autostack is an Opaque type. You cannot call its constructor.");
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
this.#ptr = ptr;
|
|
30
|
+
this.#selfEdge = selfEdge;
|
|
31
|
+
|
|
32
|
+
// Are we being borrowed? If not, we can register.
|
|
33
|
+
if (this.#selfEdge.length === 0) {
|
|
34
|
+
Autostack_box_destroy_registry.register(this, this.#ptr);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
/** @internal */
|
|
40
|
+
get ffiValue() {
|
|
41
|
+
return this.#ptr;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Detect repeating structures (region coverage). Writes a JSON array string;
|
|
47
|
+
* each element has `mode`, `vectors`, `coverage`, `region_min`/`region_max`,
|
|
48
|
+
* `cell_min`/`cell_max`, `label`.
|
|
49
|
+
*/
|
|
50
|
+
static detectStructures(schematic) {
|
|
51
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
52
|
+
|
|
53
|
+
wasm.Autostack_detect_structures(schematic.ffiValue, write.buffer);
|
|
54
|
+
|
|
55
|
+
try {
|
|
56
|
+
return write.readString8();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
finally {
|
|
60
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
61
|
+
write.free();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Graph-based detection: recovers diagonal lattice periods via the redstone
|
|
67
|
+
* logic graph. Writes `"[]"` for non-redstone builds. Requires the
|
|
68
|
+
* `simulation` feature; writes `"[]"` when compiled without it.
|
|
69
|
+
*/
|
|
70
|
+
static detectStructuresGraph(schematic) {
|
|
71
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
72
|
+
|
|
73
|
+
wasm.Autostack_detect_structures_graph(schematic.ffiValue, write.buffer);
|
|
74
|
+
|
|
75
|
+
try {
|
|
76
|
+
return write.readString8();
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
finally {
|
|
80
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
81
|
+
write.free();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Resize a 1D / diagonal structure along its period vector.
|
|
87
|
+
*/
|
|
88
|
+
static resize1d(schematic, vx, vy, vz, units) {
|
|
89
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
const result = wasm.Autostack_resize_1d(diplomatReceive.buffer, schematic.ffiValue, vx, vy, vz, units);
|
|
93
|
+
|
|
94
|
+
try {
|
|
95
|
+
if (!diplomatReceive.resultFlag) {
|
|
96
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
97
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
98
|
+
}
|
|
99
|
+
return new Schematic(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
finally {
|
|
103
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
104
|
+
diplomatReceive.free();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Resize a 2D structure to `n1`×`n2` cells along the two period vectors.
|
|
110
|
+
*/
|
|
111
|
+
static resize2d(schematic, v1x, v1y, v1z, v2x, v2y, v2z, n1, n2) {
|
|
112
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
const result = wasm.Autostack_resize_2d(diplomatReceive.buffer, schematic.ffiValue, v1x, v1y, v1z, v2x, v2y, v2z, n1, n2);
|
|
116
|
+
|
|
117
|
+
try {
|
|
118
|
+
if (!diplomatReceive.resultFlag) {
|
|
119
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
120
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
121
|
+
}
|
|
122
|
+
return new Schematic(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
finally {
|
|
126
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
127
|
+
diplomatReceive.free();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
constructor(symbol, ptr, selfEdge) {
|
|
132
|
+
return this.#internalConstructor(...arguments)
|
|
133
|
+
}
|
|
134
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
3
|
+
|
|
4
|
+
export type BlockPos_obj = {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
z: number;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
export class BlockPos {
|
|
13
|
+
get x(): number;
|
|
14
|
+
set x(value: number);
|
|
15
|
+
get y(): number;
|
|
16
|
+
set y(value: number);
|
|
17
|
+
get z(): number;
|
|
18
|
+
set z(value: number);
|
|
19
|
+
/** @internal */
|
|
20
|
+
static fromFields(structObj : BlockPos_obj) : BlockPos;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Create `BlockPos` from an object that contains all of `BlockPos`s fields.
|
|
24
|
+
* Optional fields do not need to be included in the provided object.
|
|
25
|
+
*/
|
|
26
|
+
constructor(structObj: BlockPos_obj);
|
|
27
|
+
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
3
|
+
|
|
4
|
+
export type BlockPos_obj = {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
z: number;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
export class BlockPos {
|
|
13
|
+
get x(): number;
|
|
14
|
+
set x(value: number);
|
|
15
|
+
get y(): number;
|
|
16
|
+
set y(value: number);
|
|
17
|
+
get z(): number;
|
|
18
|
+
set z(value: number);
|
|
19
|
+
/** @internal */
|
|
20
|
+
static fromFields(structObj : BlockPos_obj) : BlockPos;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Create `BlockPos` from an object that contains all of `BlockPos`s fields.
|
|
24
|
+
* Optional fields do not need to be included in the provided object.
|
|
25
|
+
*/
|
|
26
|
+
constructor(structObj: BlockPos_obj);
|
|
27
|
+
|
|
28
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import wasm from "./diplomat-wasm.mjs";
|
|
3
|
+
import * as diplomatRuntime from "./diplomat-runtime.mjs";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export class BlockPos {
|
|
8
|
+
#x;
|
|
9
|
+
get x() {
|
|
10
|
+
return this.#x;
|
|
11
|
+
}
|
|
12
|
+
set x(value){
|
|
13
|
+
this.#x = value;
|
|
14
|
+
}
|
|
15
|
+
#y;
|
|
16
|
+
get y() {
|
|
17
|
+
return this.#y;
|
|
18
|
+
}
|
|
19
|
+
set y(value){
|
|
20
|
+
this.#y = value;
|
|
21
|
+
}
|
|
22
|
+
#z;
|
|
23
|
+
get z() {
|
|
24
|
+
return this.#z;
|
|
25
|
+
}
|
|
26
|
+
set z(value){
|
|
27
|
+
this.#z = value;
|
|
28
|
+
}
|
|
29
|
+
/** @internal */
|
|
30
|
+
static fromFields(structObj) {
|
|
31
|
+
return new BlockPos(structObj);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
#internalConstructor(structObj) {
|
|
35
|
+
if (typeof structObj !== "object") {
|
|
36
|
+
throw new Error("BlockPos's constructor takes an object of BlockPos's fields.");
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if ("x" in structObj) {
|
|
40
|
+
this.#x = structObj.x;
|
|
41
|
+
} else {
|
|
42
|
+
throw new Error("Missing required field x.");
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if ("y" in structObj) {
|
|
46
|
+
this.#y = structObj.y;
|
|
47
|
+
} else {
|
|
48
|
+
throw new Error("Missing required field y.");
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if ("z" in structObj) {
|
|
52
|
+
this.#z = structObj.z;
|
|
53
|
+
} else {
|
|
54
|
+
throw new Error("Missing required field z.");
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Return this struct in FFI function friendly format.
|
|
61
|
+
// Returns an array that can be expanded with spread syntax (...)
|
|
62
|
+
_intoFFI(
|
|
63
|
+
dst,
|
|
64
|
+
functionCleanupArena,
|
|
65
|
+
appendArrayMap
|
|
66
|
+
) {
|
|
67
|
+
|
|
68
|
+
this._writeToArrayBuffer(wasm.memory.buffer, dst, functionCleanupArena, appendArrayMap);
|
|
69
|
+
|
|
70
|
+
return dst;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
static get _sizeBytes() {
|
|
74
|
+
return 12;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/// Currently unused, we may want to use later on though:
|
|
78
|
+
static get _sizeAlign() {
|
|
79
|
+
return 4;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
static _fromSuppliedValue(internalConstructor, obj) {
|
|
83
|
+
if (internalConstructor !== diplomatRuntime.internalConstructor) {
|
|
84
|
+
throw new Error("_fromSuppliedValue cannot be called externally.");
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (obj instanceof BlockPos) {
|
|
88
|
+
return obj;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return BlockPos.fromFields(obj);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
_writeToArrayBuffer(
|
|
95
|
+
arrayBuffer,
|
|
96
|
+
offset,
|
|
97
|
+
functionCleanupArena,
|
|
98
|
+
appendArrayMap
|
|
99
|
+
) {
|
|
100
|
+
diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 0, this.#x, Int32Array);
|
|
101
|
+
diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 4, this.#y, Int32Array);
|
|
102
|
+
diplomatRuntime.writeToArrayBuffer(arrayBuffer, offset + 8, this.#z, Int32Array);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// This struct contains borrowed fields, so this takes in a list of
|
|
106
|
+
// "edges" corresponding to where each lifetime's data may have been borrowed from
|
|
107
|
+
// and passes it down to individual fields containing the borrow.
|
|
108
|
+
// This method does not attempt to handle any dependencies between lifetimes, the caller
|
|
109
|
+
// should handle this when constructing edge arrays.
|
|
110
|
+
static _fromFFI(internalConstructor, ptr) {
|
|
111
|
+
ptr >>>= 0; // unsigned wasm32 address; field values retain their signedness.
|
|
112
|
+
if (internalConstructor !== diplomatRuntime.internalConstructor) {
|
|
113
|
+
throw new Error("BlockPos._fromFFI is not meant to be called externally. Please use the default constructor.");
|
|
114
|
+
}
|
|
115
|
+
let structObj = {};
|
|
116
|
+
const xDeref = (new Int32Array(wasm.memory.buffer, ptr, 1))[0];
|
|
117
|
+
structObj.x = xDeref;
|
|
118
|
+
const yDeref = (new Int32Array(wasm.memory.buffer, ptr + 4, 1))[0];
|
|
119
|
+
structObj.y = yDeref;
|
|
120
|
+
const zDeref = (new Int32Array(wasm.memory.buffer, ptr + 8, 1))[0];
|
|
121
|
+
structObj.z = zDeref;
|
|
122
|
+
|
|
123
|
+
return new BlockPos(structObj);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
constructor(structObj) {
|
|
128
|
+
return this.#internalConstructor(...arguments)
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A block state: a block name plus its properties. Port of the old
|
|
9
|
+
* `BlockStateWrapper` / `blockstate_*` fns.
|
|
10
|
+
*/
|
|
11
|
+
export class BlockState {
|
|
12
|
+
/** @internal */
|
|
13
|
+
get ffiValue(): pointer;
|
|
14
|
+
/** @internal */
|
|
15
|
+
constructor();
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a block state with the given name and no properties.
|
|
20
|
+
*/
|
|
21
|
+
static create(name: string): BlockState;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A copy of this block state with `key=value` set; the original is
|
|
25
|
+
* unchanged.
|
|
26
|
+
*/
|
|
27
|
+
withProperty(key: string, value: string): BlockState;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The block name (e.g. `minecraft:stone`).
|
|
31
|
+
*/
|
|
32
|
+
name(): string;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The properties as a JSON object of string→string (the old
|
|
36
|
+
* `CPropertyArray`).
|
|
37
|
+
*/
|
|
38
|
+
propertiesJson(): string;
|
|
39
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A block state: a block name plus its properties. Port of the old
|
|
9
|
+
* `BlockStateWrapper` / `blockstate_*` fns.
|
|
10
|
+
*/
|
|
11
|
+
export class BlockState {
|
|
12
|
+
/** @internal */
|
|
13
|
+
get ffiValue(): pointer;
|
|
14
|
+
/** @internal */
|
|
15
|
+
constructor();
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a block state with the given name and no properties.
|
|
20
|
+
*/
|
|
21
|
+
static create(name: string): BlockState;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A copy of this block state with `key=value` set; the original is
|
|
25
|
+
* unchanged.
|
|
26
|
+
*/
|
|
27
|
+
withProperty(key: string, value: string): BlockState;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The block name (e.g. `minecraft:stone`).
|
|
31
|
+
*/
|
|
32
|
+
name(): string;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The properties as a JSON object of string→string (the old
|
|
36
|
+
* `CPropertyArray`).
|
|
37
|
+
*/
|
|
38
|
+
propertiesJson(): string;
|
|
39
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import wasm from "./diplomat-wasm.mjs";
|
|
4
|
+
import * as diplomatRuntime from "./diplomat-runtime.mjs";
|
|
5
|
+
|
|
6
|
+
const BlockState_box_destroy_registry = new FinalizationRegistry((ptr) => {
|
|
7
|
+
wasm.BlockState_destroy(ptr);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A block state: a block name plus its properties. Port of the old
|
|
12
|
+
* `BlockStateWrapper` / `blockstate_*` fns.
|
|
13
|
+
*/
|
|
14
|
+
export class BlockState {
|
|
15
|
+
// Internal ptr reference:
|
|
16
|
+
#ptr = null;
|
|
17
|
+
|
|
18
|
+
// Lifetimes are only to keep dependencies alive.
|
|
19
|
+
// Since JS won't garbage collect until there are no incoming edges.
|
|
20
|
+
#selfEdge = [];
|
|
21
|
+
|
|
22
|
+
#internalConstructor(symbol, ptr, selfEdge) {
|
|
23
|
+
if (symbol !== diplomatRuntime.internalConstructor) {
|
|
24
|
+
console.error("BlockState is an Opaque type. You cannot call its constructor.");
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.#ptr = ptr;
|
|
28
|
+
this.#selfEdge = selfEdge;
|
|
29
|
+
|
|
30
|
+
// Are we being borrowed? If not, we can register.
|
|
31
|
+
if (this.#selfEdge.length === 0) {
|
|
32
|
+
BlockState_box_destroy_registry.register(this, this.#ptr);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
/** @internal */
|
|
38
|
+
get ffiValue() {
|
|
39
|
+
return this.#ptr;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Create a block state with the given name and no properties.
|
|
45
|
+
*/
|
|
46
|
+
static create(name) {
|
|
47
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
48
|
+
|
|
49
|
+
const nameSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, name)));
|
|
50
|
+
|
|
51
|
+
const result = wasm.BlockState_create(nameSlice.ptr);
|
|
52
|
+
|
|
53
|
+
try {
|
|
54
|
+
return new BlockState(diplomatRuntime.internalConstructor, result, []);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
finally {
|
|
58
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
59
|
+
functionCleanupArena.free();
|
|
60
|
+
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* A copy of this block state with `key=value` set; the original is
|
|
66
|
+
* unchanged.
|
|
67
|
+
*/
|
|
68
|
+
withProperty(key, value) {
|
|
69
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
70
|
+
|
|
71
|
+
const keySlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, key)));
|
|
72
|
+
const valueSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, value)));
|
|
73
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
const result = wasm.BlockState_with_property(diplomatReceive.buffer, this.ffiValue, keySlice.ptr, valueSlice.ptr);
|
|
77
|
+
|
|
78
|
+
try {
|
|
79
|
+
if (!diplomatReceive.resultFlag) {
|
|
80
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
81
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
82
|
+
}
|
|
83
|
+
return new BlockState(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
finally {
|
|
87
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
88
|
+
functionCleanupArena.free();
|
|
89
|
+
|
|
90
|
+
diplomatReceive.free();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* The block name (e.g. `minecraft:stone`).
|
|
96
|
+
*/
|
|
97
|
+
name() {
|
|
98
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
99
|
+
|
|
100
|
+
wasm.BlockState_name(this.ffiValue, write.buffer);
|
|
101
|
+
|
|
102
|
+
try {
|
|
103
|
+
return write.readString8();
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
finally {
|
|
107
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
108
|
+
write.free();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* The properties as a JSON object of string→string (the old
|
|
114
|
+
* `CPropertyArray`).
|
|
115
|
+
*/
|
|
116
|
+
propertiesJson() {
|
|
117
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
118
|
+
|
|
119
|
+
wasm.BlockState_properties_json(this.ffiValue, write.buffer);
|
|
120
|
+
|
|
121
|
+
try {
|
|
122
|
+
return write.readString8();
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
finally {
|
|
126
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
127
|
+
write.free();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
constructor(symbol, ptr, selfEdge) {
|
|
132
|
+
return this.#internalConstructor(...arguments)
|
|
133
|
+
}
|
|
134
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Namespace for read-only queries over the built-in block table
|
|
9
|
+
* (Java 26.2 blocks + official semantics extracted from the vanilla
|
|
10
|
+
* jars: definition kinds, base-block links, block tags, model
|
|
11
|
+
* geometry). All list results are JSON array strings sorted by id;
|
|
12
|
+
* block/tag/kind arguments accept both `minecraft:`-prefixed and
|
|
13
|
+
* short forms (`minecraft:oak_stairs` / `oak_stairs`).
|
|
14
|
+
*/
|
|
15
|
+
export class Blocks {
|
|
16
|
+
/** @internal */
|
|
17
|
+
get ffiValue(): pointer;
|
|
18
|
+
/** @internal */
|
|
19
|
+
constructor();
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Full facts for one block as a JSON object:
|
|
24
|
+
* `{id, kind, base_block, tags: [...], full_cube, transparent,
|
|
25
|
+
* color: [r, g, b] | null, properties: {name: [values...]},
|
|
26
|
+
* default_state: {name: value}}`. `kind` is the official
|
|
27
|
+
* definition kind (`minecraft:stair`, plain full blocks are
|
|
28
|
+
* `minecraft:block`); `base_block` is the block this one is a
|
|
29
|
+
* shape variant of (or `null`); `color` is the texture-derived
|
|
30
|
+
* average RGB. Errors with `NotFound` for unknown ids.
|
|
31
|
+
*/
|
|
32
|
+
static getJson(id: string): string;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* All known block ids as a sorted JSON array string.
|
|
36
|
+
*/
|
|
37
|
+
static idsJson(): string;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Ids of every block carrying the vanilla block tag, as a sorted
|
|
41
|
+
* Blocks whose measured texture color is within `max_distance`
|
|
42
|
+
* (Oklab; ~0.05 = same color family, ~0.15 = generous) of the given
|
|
43
|
+
* RGB, as a JSON array of `{"id", "color": [r,g,b], "distance"}`
|
|
44
|
+
* sorted nearest-first. Blocks without color data never match.
|
|
45
|
+
*/
|
|
46
|
+
static byColorJson(r: number, g: number, b: number, maxDistance: number): string;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* JSON array string (`[]` for unknown tags). Accepts
|
|
50
|
+
* `minecraft:wool` and short `wool` forms, including nested paths
|
|
51
|
+
* like `mineable/pickaxe`.
|
|
52
|
+
*/
|
|
53
|
+
static byTagJson(tag: string): string;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Ids of every block of the given official definition kind
|
|
57
|
+
* (`minecraft:stair`, `minecraft:slab`, `minecraft:door`, ...), as
|
|
58
|
+
* a sorted JSON array string (`[]` for unknown kinds).
|
|
59
|
+
*/
|
|
60
|
+
static byKindJson(kind: string): string;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* The base block followed by all its shape variants — blocks whose
|
|
64
|
+
* `base_block` is `base_id` (stairs, slabs, walls, fences of the
|
|
65
|
+
* base) — as a JSON array string. The base itself is always first;
|
|
66
|
+
* variants follow sorted by id. Errors with `NotFound` for unknown
|
|
67
|
+
* base ids.
|
|
68
|
+
*/
|
|
69
|
+
static variantsOfJson(baseId: string): string;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* All known vanilla block tag names as a sorted JSON array string
|
|
73
|
+
* (`minecraft:`-prefixed, e.g. `minecraft:wool`).
|
|
74
|
+
*/
|
|
75
|
+
static tagsJson(): string;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Every property-value combination of the block as a JSON array of
|
|
79
|
+
* `{prop: value}` objects (a single `{}` entry for property-less
|
|
80
|
+
* blocks). Errors with `NotFound` for unknown ids and with
|
|
81
|
+
* `InvalidArgument` if the combination count exceeds 4096 (guard
|
|
82
|
+
* against pathological output; the current data tops out at 1350
|
|
83
|
+
* for `minecraft:note_block`).
|
|
84
|
+
*/
|
|
85
|
+
static statesJson(id: string): string;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Total number of blocks in the table.
|
|
89
|
+
*/
|
|
90
|
+
static count(): number;
|
|
91
|
+
}
|