UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

53 lines (52 loc) 1.83 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ActionGroup_1 = __importDefault(require("./ActionGroup")); const GroupAction_1 = __importDefault(require("./GroupAction")); const IScriptGenerationContext_1 = require("./IScriptGenerationContext"); class TickGroupAction extends GroupAction_1.default { get typeTitle() { return "Tick"; } get typeId() { return "tick"; } get title() { return this.typeTitle; } get ticks() { return this.getArgumentAsNumber("ticks"); } validate() { this.validateArgumentIsType("ticks", "number"); return true; } getScriptRequirements(options) { return { needsTest: true, }; } getCommandRequirements(options) { return {}; } addCommandLines(lines, indent, optons) { } addScriptLines(lines, options, context, placement) { if (placement === IScriptGenerationContext_1.ScriptGenerationPlacement.blockStart) { let functionLine = "export function " + this.group.name + "() {"; lines.push(functionLine); } else if (placement === IScriptGenerationContext_1.ScriptGenerationPlacement.blockEnd) { lines.push("}"); } if (placement === IScriptGenerationContext_1.ScriptGenerationPlacement.initInSequence) { let ticks = this.getProperty("everyNTicks"); if (!ticks) { ticks = 1; } ActionGroup_1.default.addLine(lines, context.indent, "mc.system.runInterval(" + this.group.name + ", " + ticks + ");"); } } } exports.default = TickGroupAction;