类型
NC中有很多类型,都在一个npm包,norma-core中。它们是Coordinate、Position、BlockType、Block、Direction、Usage、Description、BuildInstruction。其中,Position、BlockType和Direction在 NC 中非常重要,因此被称为 NC 的三种基础类型。即使你是它的普通用户,你也会了解它们。 Usage、Description 很少使用但仍然支持。 Generator 已弃用,永远不会使用。
Position
Position 包含两个属性,其中之一是 coordinate。
你可以像new Position(new Coordinate(0, 0, 0))这样new一个position。你还可以使用像 {x:0, y:0, z:0} 这样的简单对象来代替使用 Coordinate。
BlockType
BlockType包含两个属性,blockIdentifier和blockState。
你可以像new BlockType("minecraft:air", {})这样new一个blockType。
目前它不能支持tiledata。正在考虑添加对 tiledata 的支持。
Direction
一个 Direction 包含两个属性,x 和 y。
你可以new一个像new Direction(0, 0)这样的方向。
在大多数情况下,你不会自己创建Position、BlockType或Direction,而是从state.positions、state.blockTypes、state.directions中使用。
Block 和 BuildInstruction 也很重要。这里将介绍Block。
Block
Block包含两个属性,position和blockType,它们的类型为Position和BlockType。
你可以像new Direction(position, blockType)这样new一个block,其中position是一个Position,blockType是一个BlockType。