UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

99 lines (98 loc) 2.81 kB
export default interface IModelGeometry { format_version: string; __comment__?: string; "minecraft:geometry": IGeometry[]; } export interface IGeometry { description: IGeometryDescription; bones: IGeometryBone[]; item_display_transforms?: ItemDisplayTransformsCollection; texturewidth?: number; textureheight?: number; visible_bounds_width?: number; visible_bounds_height?: number; visible_bounds_offset?: number[]; } export interface ItemDisplayTransformsCollection { thirdperson_righthand?: ItemDisplayTransforms; thirdperson_lefthand?: ItemDisplayTransforms; firstperson_righthand?: ItemDisplayTransforms; firstperson_lefthand?: ItemDisplayTransforms; head?: ItemDisplayTransforms; embedded?: ItemDisplayTransforms; gui?: ItemDisplayTransforms; ground?: ItemDisplayTransforms; fixed?: ItemDisplayTransforms; } export interface ItemDisplayTransforms { rotation?: number[]; translation?: number[]; scale?: number[]; rotation_pivot?: number[]; scale_pivot?: number[]; fit_to_frame?: boolean; } export interface IGeometryDescription { identifier: string; texture_width: number; texture_height: number; visible_bounds_width: number; visible_bounds_height: number; visible_bounds_offset: number[]; } export interface IGeometryPolyMesh { normalized_uvs?: boolean; positions?: number[][]; normals?: number[][]; uvs?: number[][]; polys?: number[][][] | "tri_list" | "quad_list"; } export interface IGeometryBone { name: string; pivot: number[]; rotation?: number[]; parent?: string; binding?: string; bind_pose_rotation?: number[]; cubes?: IGeometryBoneCube[]; locators?: { [name: string]: number[]; }; poly_mesh?: IGeometryPolyMesh; texture_meshes?: IGeometryBoneTextureMesh[]; } /** * A texture_mesh creates a flat billboard/sprite from a texture image. * Each pixel becomes a 1×1 unit (1/16 block) on a plane. * Used by attachables like bow, crossbow to render 2D item sprites in 3D. */ export interface IGeometryBoneTextureMesh { texture: string; local_pivot?: number[]; position?: number[]; rotation?: number[]; scale?: number[]; } export interface IGeometryBoneCube { origin: number[]; size: number[]; uv: number[] | IGeometryUVFaces; rotation?: number[]; pivot?: number[]; inflate?: number; mirror?: boolean; } export interface IGeometryUVFaces { north?: IGeometryUVFace; east?: IGeometryUVFace; south?: IGeometryUVFace; west?: IGeometryUVFace; up?: IGeometryUVFace; down?: IGeometryUVFace; } export interface IGeometryUVFace { uv: number[]; uv_size: number[]; uv_rotation?: number; material_instance?: string; }