@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
38 lines (37 loc) • 1.7 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AUTOGENERATED_WHOLEFILE_MCFUNCTION_SEPARATOR = void 0;
const Action_1 = __importDefault(require("../actions/Action"));
const ActionGroup_1 = __importDefault(require("../actions/ActionGroup"));
exports.AUTOGENERATED_WHOLEFILE_MCFUNCTION_SEPARATOR = "# ===== AUTOGENERATED FILE ===== CONTENT WITHIN THIS FILE WILL BE WIPED AND UPDATED WHEN USED IN TOOLING";
class ActionSetCommandGenerator {
static generateMCFunction(actionSet) {
const lines = ActionSetCommandGenerator.generateCommandLines(actionSet);
return exports.AUTOGENERATED_WHOLEFILE_MCFUNCTION_SEPARATOR + "\n" + lines.join("\n");
}
static generateCommandLines(actionSet) {
const lines = [];
ActionSetCommandGenerator.addCommandLines(actionSet, lines);
return lines;
}
static addCommandLines(actionSet, lines) {
this.addCommandGroupLines(actionSet, lines, 0, {});
}
static addCommandGroupLines(actionGroup, lines, indent, options) {
const req = {};
for (const action of actionGroup.actions) {
if (action instanceof Action_1.default) {
ActionGroup_1.default.mergeCommandRequirements(req, action.getCommandRequirements(options));
}
}
for (const action of actionGroup.actions) {
if (action instanceof Action_1.default) {
action.addCommandLines(lines, indent, options);
}
}
}
}
exports.default = ActionSetCommandGenerator;