@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
64 lines (63 loc) • 2.27 kB
TypeScript
import IFile from "../storage/IFile";
import { IEventHandler } from "ste-events";
import IDefinition from "./IDefinition";
import ProjectItem from "../app/ProjectItem";
import Project from "../app/Project";
export type ImageCoords = {
x1: number;
y1: number;
x2: number;
y2: number;
};
export declare const VibrantVisualsFileExtensionVariants: string[];
export default class TextureDefinition implements IDefinition {
private _file?;
private _isLoaded;
private _isContentProcessed;
private _width;
private _height;
private _errorMessage;
private _errorProcessing;
private _imageData;
private _onLoaded;
id: string | undefined;
get width(): number;
get height(): number;
get errorMessage(): string;
get errorProcessing(): boolean;
get imageData(): Uint8Array<ArrayBufferLike>;
get data(): Uint8Array<ArrayBufferLike>;
get isLoaded(): boolean;
get file(): IFile | undefined;
get onLoaded(): import("ste-events").IEvent<TextureDefinition, TextureDefinition>;
set file(newFile: IFile | undefined);
getPixel(x: number, y: number): {
r: number;
g: number;
b: number;
a: number;
};
get isContentProcessed(): boolean;
processContent(): Promise<void>;
unloadContent(): void;
/**
* Decode image data (PNG or TGA) to raw RGBA pixels.
* This is a shared utility method for use by Model2DRenderer, ModelMeshFactory, etc.
*
* @param data Raw image file bytes
* @param fileType File extension ('png' or 'tga')
* @returns Decoded pixels with width, height, and RGBA data, or undefined if decoding fails
*/
static decodeToPixels(data: Uint8Array, fileType: string): Promise<{
width: number;
height: number;
pixels: Uint8Array;
} | undefined>;
static ensureOnFile(file: IFile, loadHandler?: IEventHandler<TextureDefinition, TextureDefinition>): Promise<TextureDefinition>;
getReferencePath(): string;
static canonicalizeTexturePath(projectPath: string | undefined): string;
static getTexturePath(projectPath: string): string;
persist(): boolean;
load(): Promise<void>;
addChildItems(project: Project, item: ProjectItem): Promise<void>;
}