bedrock-development
Version:
APIs for creating and editing files related to Minecraft Bedrock development.
57 lines (56 loc) • 1.73 kB
TypeScript
import { NameData } from "../../utils.js";
import { MinecraftDataType } from "../minecraft.js";
import { FormatVersion } from "../shared_types.js";
export type ClientACName = `controller.animation.${string}`;
export interface IClientAnimationController {
format_version: FormatVersion;
animation_controllers: {
[key: ClientACName]: IClientAC;
};
}
export interface IClientAC {
initial_state: string;
states: {
[key: string]: IClientACState;
};
}
export interface IClientACState {
on_entry?: string[];
animations?: (string | {
[key: string]: string;
})[];
transitions?: {
[key: string]: string;
}[];
on_exit?: string[];
blend_transition?: number;
blend_via_shortest_path?: boolean;
particle_effects?: IClientACParticleEffects[];
sound_effects?: IClientACSoundEffects[];
variables?: {
[key: string]: IClientACSoundVariable;
};
}
export interface IClientACParticleEffects {
bind_to_actor?: boolean;
effect: string;
locator?: string;
pre_effect_script?: string;
}
export interface IClientACSoundEffects {
effect: string;
}
export interface IClientACSoundVariable {
input: string;
remape_curve?: any;
}
export declare class ClientAnimationController extends MinecraftDataType implements IClientAnimationController {
format_version: FormatVersion;
animation_controllers: {
[key: ClientACName]: IClientAC;
};
static get DirectoryPath(): string;
constructor(filepath: string, template: IClientAnimationController);
static createFromTemplate(nameData: NameData): ClientAnimationController;
addAnimationController(key: ClientACName, controller: IClientAC): void;
}