import * as Blockly from "blockly"; import { Order } from "blockly/javascript"; import type { BlockDef } from "../toolbox"; export const dposValue: BlockDef = { category: 'Values', block: { init(this: Blockly.Block) { this.appendDummyInput() .appendField('Direction [') .appendField(new Blockly.FieldNumber(0, -Infinity, Infinity, 0.01), 'X') .appendField(',') .appendField(new Blockly.FieldNumber(0, -Infinity, Infinity, 0.01), 'Y') .appendField(',') .appendField(new Blockly.FieldNumber(0, -Infinity, Infinity, 0.01), 'Z'); this.appendDummyInput().appendField(']'); this.setInputsInline(true); this.setOutput(true, 'DPos'); this.setTooltip('Direction [dx,dy,dz]'); } }, code(block, _generator) { const x = block.getFieldValue('X'); const y = block.getFieldValue('Y'); const z = block.getFieldValue('Z'); return [`[${x},${y},${z}]`, Order.ATOMIC]; } };