UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

278 lines (277 loc) 14.4 kB
import IFile from "../storage/IFile"; import IFolder from "../storage/IFolder"; import IStorage from "../storage/IStorage"; import ICreatorToolsData, { CreatorToolsEditorViewMode, RemoteServerAccessLevel, MinecraftFlavor, DedicatedServerMode, MinecraftGameConnectionMode, MinecraftTrack, CreatorToolsEditPreference, ThemePreference } from "./ICreatorToolsData"; import Project from "./Project"; import { ProjectFocus, ProjectScriptLanguage } from "./IProjectData"; import IStatus, { StatusTopic } from "./Status"; import GitHubManager from "../github/GitHubManager"; import IGallery from "./IGallery"; import ILocalUtilities from "../core/ILocalUtilities"; import IMinecraft from "./IMinecraft"; import RemoteMinecraft from "./RemoteMinecraft"; import MinecraftPush from "./MinecraftPush"; import Package from "./Package"; import ZipStorage from "../storage/ZipStorage"; import { ProjectItemType } from "./IProjectItemData"; import IGalleryItem, { GalleryItemType } from "./IGalleryItem"; import DeploymentTarget, { DeploymentTargetType } from "./DeploymentTarget"; export declare enum CreatorToolsMinecraftState { none = 0, initializing = 1,// for phserver, this is starting to auto-download initialized = 2, preparing = 3, prepared = 4, starting = 5,// for phserver, the server is starting started = 6,// for phserver, the server is up and ready stopping = 7, stopped = 8, error = 9, newMinecraft = 10, disconnected = 11 } export declare enum CreatorToolsMinecraftErrorStatus { none = 0, actionInProgress = 1, serverUnavailable = 2, serverError = 3, loginFailed = 4, generalError = 5, configuration = 6 } export declare const CreatorToolsTargetSettings: string[]; export declare const SidePaneMaxWidth = 880; export declare const SidePaneMinWidth = 280; export declare const DefaultCreatorName = "Minecraft Creator"; export default class CreatorTools { #private; private _isLoaded; private _userGitHub; private _anonGitHub; contentRoot: string; processHostedMinecraft: IMinecraft | undefined; deploymentStorageMinecraft: IMinecraft | undefined; gameMinecraft: IMinecraft | undefined; remoteMinecraft: RemoteMinecraft | undefined; activeMinecraft: IMinecraft | undefined; prefsStorage: IStorage; projectsStorage: IStorage; deploymentStorage: IStorage[]; worldStorage: IStorage | null; packStorage: IStorage | null; workingStorage: IStorage | null; deploymentTargets: DeploymentTarget[]; localFolderExists: ((path: string) => Promise<boolean>) | undefined; localFileExists: ((path: string) => Promise<boolean>) | undefined; ensureLocalFolder: ((path: string) => IFolder) | undefined; createMinecraft: ((flavor: MinecraftFlavor, creatorTools: CreatorTools) => IMinecraft | undefined) | undefined; canCreateMinecraft: ((flavor: MinecraftFlavor) => boolean) | undefined; private _pendingPackLoadRequests; private _arePacksLoading; private _remoteServerAuthToken?; private _remoteServerEulaAccepted?; local: ILocalUtilities | undefined; projects: Project[]; status: IStatus[]; activeOperations: IStatus[]; packs?: Package[]; mcLogs: { [name: string]: string[] | undefined; }; _gallery?: IGallery; _galleryLoaded: boolean; isDeployingToMinecraft: boolean; hasAttemptedPersistentBrowserStorageSwitch: boolean; private _onDeploymentStorageChanged; private _onMinecraftStateChanged; private _onMinecraftRefreshed; private _onPropertyChanged; private _onLoaded; private _onStatusAdded; private _onOperationCompleted; private _onStatusAddedAsync; private _onGalleryLoaded; get defaultDeploymentTargetType(): DeploymentTargetType; set defaultDeploymentTargetType(newType: DeploymentTargetType); get isLoaded(): boolean; get collapsedTypes(): number[]; get data(): ICreatorToolsData; get defaultDeploymentStorage(): IStorage; get defaultDeploymentTarget(): DeploymentTarget; set collapsedTypes(newCollapsedTypes: number[]); get showMruPane(): boolean; set showMruPane(newValue: boolean); get mruItemPaths(): string[]; set mruItemPaths(newPaths: string[]); get viewAsFiles(): boolean; set viewAsFiles(newValue: boolean); /** * Adds a project item path to the MRU list. * Moves existing entries to front and maintains max 10 items. */ addToMru(projectPath: string): void; /** * Removes a project item path from the MRU list. */ removeFromMru(projectPath: string): void; get editPreference(): CreatorToolsEditPreference | undefined; set editPreference(newValue: CreatorToolsEditPreference | undefined); get disableFirstRun(): boolean; set disableFirstRun(newValue: boolean); get themePreference(): ThemePreference | undefined; set themePreference(newValue: ThemePreference | undefined); get worldSettings(): import("../minecraft/IWorldSettings").IWorldSettings; get editorWorldSettings(): import("../minecraft/IWorldSettings").IWorldSettings; get activeMinecraftState(): CreatorToolsMinecraftState; get onMinecraftStateChanged(): import("ste-events").IEvent<IMinecraft, CreatorToolsMinecraftState>; get onDeploymentStorageChanged(): import("ste-events").IEvent<CreatorTools, IStorage>; get formatBeforeSave(): boolean; set formatBeforeSave(newValue: boolean); get showLivePreview(): boolean; set showLivePreview(newValue: boolean); get conversionJarPath(): string | undefined; set conversionJarPath(newValue: string | undefined); get preferredTextSize(): number; set preferredTextSize(newValue: number); get livePreviewWidth(): number; set livePreviewWidth(newValue: number); get itemSidePaneWidth(): number; set itemSidePaneWidth(newValue: number); get toolPaneWidth(): number; set toolPaneWidth(newValue: number); get preferredSuite(): number | undefined; set preferredSuite(newValue: number | undefined); get track(): MinecraftTrack | undefined; set track(newTrack: MinecraftTrack | undefined); get effectiveTrack(): MinecraftTrack; get useEditor(): boolean | undefined; set useEditor(newUseEditor: boolean | undefined); get windowX(): number | undefined; set windowX(newVal: number | undefined); get windowY(): number | undefined; set windowY(newVal: number | undefined); get windowWidth(): number | undefined; set windowWidth(newVal: number | undefined); get windowHeight(): number | undefined; set windowHeight(newVal: number | undefined); get windowSlot(): number | undefined; set windowSlot(newVal: number | undefined); get creator(): string | undefined; set creator(newCreator: string | undefined); get windowState(): number | undefined; set windowState(newVal: number | undefined); get lastActiveMinecraftFlavor(): MinecraftFlavor | undefined; set lastActiveMinecraftFlavor(lastActiveMinecraftFlavor: MinecraftFlavor | undefined); get remoteServerUrl(): string | undefined; get fullRemoteServerUrl(): string; set remoteServerUrl(newPath: string | undefined); get iAgreeToTheMinecraftEndUserLicenseAgreementAndPrivacyStatementAtMinecraftDotNetSlashEula(): boolean | undefined; set iAgreeToTheMinecraftEndUserLicenseAgreementAndPrivacyStatementAtMinecraftDotNetSlashEula(newPort: boolean | undefined); get dedicatedServerSlotCount(): number | undefined; set dedicatedServerSlotCount(newPort: number | undefined); get dedicatedServerMode(): DedicatedServerMode | undefined; set dedicatedServerMode(newMode: DedicatedServerMode | undefined); get dedicatedServerPath(): string | undefined; set minecraftGameMode(newMode: MinecraftGameConnectionMode | undefined); get minecraftGameMode(): MinecraftGameConnectionMode | undefined; set dedicatedServerPath(newPath: string | undefined); get remoteServerPort(): number | undefined; set remoteServerPort(newPort: number | undefined); get remoteServerAccessLevel(): RemoteServerAccessLevel | undefined; set remoteServerAccessLevel(newAccessLevel: RemoteServerAccessLevel | undefined); get remoteServerPasscode(): string | undefined; set remoteServerPasscode(newPath: string | undefined); get remoteServerAuthToken(): string | undefined; set remoteServerAuthToken(newToken: string | undefined); get remoteServerEulaAccepted(): boolean | undefined; set remoteServerEulaAccepted(newValue: boolean | undefined); get editorViewMode(): CreatorToolsEditorViewMode; set editorViewMode(newViewMode: CreatorToolsEditorViewMode); get gallery(): IGallery; get galleryLoaded(): boolean; get userGitHub(): GitHubManager; get anonGitHub(): GitHubManager; get onLoaded(): import("ste-events").IEvent<CreatorTools, CreatorTools>; get onGalleryLoaded(): import("ste-events").IEvent<CreatorTools, IGallery>; get onPropertyChanged(): import("ste-events").IEvent<CreatorTools, string>; get onStatusAdded(): import("ste-events").IEvent<CreatorTools, IStatus>; get onOperationCompleted(): import("ste-events").IEvent<CreatorTools, number>; get successfullyConnectedWebSocketToMinecraft(): boolean; set successfullyConnectedWebSocketToMinecraft(newValue: boolean); get successfullyStartedMinecraftServer(): boolean; set successfullyStartedMinecraftServer(newValue: boolean); get successfullyConnectedToRemoteMinecraft(): boolean; set successfullyConnectedToRemoteMinecraft(newValue: boolean); get defaultMinecraftFlavor(): MinecraftFlavor; subscribeStatusAddedAsync(fn: (creatorTools: CreatorTools, status: IStatus) => Promise<void>): void; unsubscribeStatusAddedAsync(fn: (creatorTools: CreatorTools, status: IStatus) => Promise<void>): void; setMinecraftFlavor(newValue: MinecraftFlavor): void; get autoStartMinecraft(): boolean; set autoStartMinecraft(newValue: boolean); get file(): IFile; get prefsProjectsFolder(): IFolder; constructor(settingsStorage: IStorage, projectsStorage: IStorage, deploymentsStorage: IStorage[], worldStorage: IStorage | null, packStorage: IStorage | null, workingStorage: IStorage | null, contentRoot: string | null); initializeWorldSettings(): void; getDeploymentTarget(target: DeploymentTargetType): DeploymentTarget | undefined; private ensureDefaultWorldName; initializeEditorWorldSettings(): void; private ensureDefaultEditorWorldName; getCustomTool(index: number): import("./ICustomTool").default; get defaultFunction(): string; set defaultFunction(newFunction: string); runCommand(command: string, project?: Project): Promise<import("./ICommand").ICommandResult>; runMinecraftCommand(command: string): Promise<string>; loadPacks(): Promise<void>; ensureAllTypesCollapsedExcept(itemType: ProjectItemType): void; ensureTypeIsCollapsed(itemType: ProjectItemType): void; ensureTypeIsNotCollapsed(itemType: ProjectItemType): void; loadPacksFromFolder(folder: IFolder): Promise<void>; getPackByName(packName: string, isWorldFocused?: boolean): Package; getPackageByNameAndHash(packName: string, hash?: string): Package; ensurePackForFile(file: IFile): Promise<Package>; _ensurePack(storagePath: string): Package; _handleMessageFromAppService(command: string, data: string): void; _handleLogFileUpdated(fileName: string, contents: string): void; notifyStatusUpdate(message: string, topic?: StatusTopic): Promise<void>; private ensureStatusArrayIsTrimmed; callStatusAddedListeners(status: IStatus): Promise<void>; notifyExternalStatus(status: IStatus): number; notifyOperationUpdate(updateOperationId: number, message: string, topic?: StatusTopic): Promise<void>; notifyOperationStarted(message: string, topic?: StatusTopic): Promise<number>; notifyOperationEnded(endedOperationId: number, message?: string, topic?: StatusTopic, endedWithErrors?: boolean): Promise<void>; updateOperation(id: number, newMessage: string): void; removeOperation(id: number): void; save(): Promise<void>; loadGallery(): Promise<IGallery>; getGalleryProjectByGitHub(repoName: string, owner: string, branch?: string, folder?: string, withFiles?: boolean): Promise<IGalleryItem>; getGalleryProjectById(galleryProjectId: string): Promise<IGalleryItem>; getGalleryProjectByCaption(galleryProjectTitle: string): Promise<IGalleryItem>; getGalleryProjectByType(itemType: GalleryItemType): IGalleryItem[]; getNewProjectName(seedName: string): Promise<string>; createNewProject(newProjectName: string, newProjectPath: string | undefined, newProjectFolder: IFolder | undefined, newProjectFolderTitle: string | undefined, focus: ProjectFocus, includeDefaultItems: boolean, projectLanguage?: ProjectScriptLanguage): Promise<Project>; createProjectFromContent(jsonStringOrBase64ZipContent: string): Promise<string | Project>; createAndDeployProjectFromPath(path: string): Promise<Project | string | null>; createProjectFromPath(path: string): Promise<string | Project>; createProjectFromFolder(folder: IFolder): Promise<Project>; createProjectFromFolderPath(path: string): Promise<Project>; deleteProjectByName(projectName: string): Promise<void>; removeProjectByName(projectName: string): Promise<void>; removeProject(project: Project): void; getProjectByName(projectName: string): Project; getProjectByMainLocalFolderPath(localPath: string): Project; ensureProjectFromLocalStoragePath(messageProjectPath: string): Promise<Project>; ensureProjectForLocalFolder(folderPath: string, newProjectName?: string, openDirect?: boolean): Promise<Project>; getExportZip(): Promise<ZipStorage>; load(force?: boolean): Promise<void>; considerStartingMinecraft(): Promise<void>; connectToMinecraft(): Promise<void>; canPrepareAndStartMinecraft(): boolean; prepareAndStartToMinecraft(push: MinecraftPush): Promise<void>; private _bubbleMinecraftRefreshed; private _bubbleMinecraftStateChanged; ensureRemoteMinecraft(): RemoteMinecraft; ensureProcessHostedMinecraft(): IMinecraft; ensureDeploymentStorageMinecraft(): IMinecraft; ensureGameMinecraft(): IMinecraft; ensureMinecraft(flavor: MinecraftFlavor): IMinecraft; }