@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
50 lines (49 loc) • 2.69 kB
TypeScript
import { IErrorMessage, IErrorable } from "../core/IErrorable";
import LevelDb from "../minecraft/LevelDb";
import MCWorld from "../minecraft/MCWorld";
import WorldLevelDat from "../minecraft/WorldLevelDat";
import IFile from "../storage/IFile";
import IFolder from "../storage/IFolder";
import CreatorTools from "./CreatorTools";
import { ProjectItemType } from "./IProjectItemData";
import Project from "./Project";
export interface IProjectIntegratorWorld {
currentFile?: IFile;
currentManifest?: string;
levelDatFile?: IProjectIntegratorCandidateFile;
manifestFiles: IProjectIntegratorCandidateFile[];
ldbFiles: IProjectIntegratorCandidateFile[];
logFiles: IProjectIntegratorCandidateFile[];
seedFromLevelDb?: string | undefined;
}
export interface IProjectIntegratorCandidateFile {
isUsed?: boolean;
file: IFile;
index?: number;
type: ProjectItemType;
levelDbSubset?: LevelDb;
levelDat?: WorldLevelDat;
mcworld?: MCWorld;
}
export default class ProjectIntegrator implements IErrorable {
candidateFiles: {
[storagePath: string]: IProjectIntegratorCandidateFile;
};
worlds: IProjectIntegratorWorld[];
isInErrorState?: boolean;
errorMessages?: IErrorMessage[];
private _pushError;
static createProjectFromFolder(creatorTools: CreatorTools, newProjectName: string, folder: IFolder, operationDescriptor?: string, log?: (message: string) => Promise<void>): Promise<Project | undefined>;
static extendProjectFromCollectionFolder(creatorTools: CreatorTools, project: Project, folder: IFolder, operationDescriptor?: string, log?: (message: string) => Promise<void>): Promise<void>;
attachWorldDataToWorlds(): Promise<void>;
processResults(project: Project, operationDescriptor?: string, log?: (message: string) => Promise<void>): Promise<void>;
addToWorldByManifestData(world: IProjectIntegratorWorld): Promise<void>;
addToWorldByFileIds(world: IProjectIntegratorWorld): Promise<void>;
findLevelDat(world: IProjectIntegratorWorld): Promise<void>;
copyFilesToWorld(world: IProjectIntegratorWorld, project: Project, worldsFolder: IFolder, index: number): Promise<void>;
addFromFolder(project: Project, sourceFolder: IFolder, processSubFolders: boolean, log?: (message: string) => Promise<void>): Promise<void>;
addLooseFiles(project: Project, files: IFile[], log?: (message: string) => Promise<void>): Promise<void>;
considerCURRENTFile(file: IFile, log?: (message: string) => Promise<void>): Promise<void>;
static getIndexFromString(fileName: string): number;
considerMANIFESTFile(file: IFile, log?: (message: string) => Promise<void>): Promise<void>;
}