minerender 2.1.0-alpha.60 → 2.1.0-alpha.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -448,7 +448,24 @@ interface ItemModel extends Model {
448
448
  textures?: ItemModelTextures;
449
449
  gui_light?: GuiLight;
450
450
  special?: SpecialItemRenderer;
451
+ tints?: ItemTintSource[];
451
452
  }
453
+ type ItemTintColor = number | TripleArray;
454
+ type ItemTintSource = {
455
+ type: "constant" | "minecraft:constant";
456
+ value: ItemTintColor;
457
+ } | {
458
+ type: "grass" | "minecraft:grass";
459
+ temperature: number;
460
+ downfall: number;
461
+ } | {
462
+ type: "dye" | "minecraft:dye" | "potion" | "minecraft:potion" | "map_color" | "minecraft:map_color" | "firework" | "minecraft:firework" | "team" | "minecraft:team";
463
+ default: ItemTintColor;
464
+ } | {
465
+ type: "custom_model_data" | "minecraft:custom_model_data";
466
+ index?: number;
467
+ default: ItemTintColor;
468
+ };
452
469
  type SpecialItemRenderer = {
453
470
  type: "chest" | "minecraft:chest";
454
471
  texture: string;
@@ -884,7 +901,7 @@ declare class DefaultBlockStates implements MinecraftAsset {
884
901
  [k: string]: BlockStatePropertyDefaults;
885
902
  }
886
903
 
887
- /** `entity-models/animations/<namespace>/<model id>.json`: vanilla's keyframe animations of one model. */
904
+ /** `entity-models/animations/<namespace>/<model id>.json`: native and sampled vanilla animation clips. */
888
905
  interface EntityAnimationFile extends MinecraftAsset {
889
906
  id: string;
890
907
  animations: Record<string, EntityAnimation>;
@@ -893,6 +910,8 @@ interface EntityAnimation {
893
910
  /** Seconds. */
894
911
  length: number;
895
912
  loop: boolean;
913
+ /** Geometry layer targeted by this clip; defaults to `main`. */
914
+ layer?: string;
896
915
  /** Part name anywhere in a layer; `root` is the layer's root part. */
897
916
  bones: Record<string, EntityAnimationBone>;
898
917
  }
@@ -930,7 +949,7 @@ declare class Entities {
930
949
  static getPassList(modelKey: BasicAssetKey): Promise<EntityModelPass[]>;
931
950
  static getEntity(modelKey: BasicAssetKey, textureKey?: BasicAssetKey, options?: EntityModelOptions): Promise<Maybe<EntityModel>>;
932
951
  /**
933
- * Vanilla's keyframe animations of a model by name, or undefined when the model or the selected version has none.
952
+ * Native and sampled vanilla clips by name, or undefined when the model or selected version has none.
934
953
  */
935
954
  static getAnimations(modelKey: BasicAssetKey): Promise<Maybe<Record<string, EntityAnimation>>>;
936
955
  static resolveTexture(modelKey: BasicAssetKey): Promise<Maybe<AssetKey>>;
@@ -973,6 +992,12 @@ declare class DisplayTransforms {
973
992
  static apply(geometry: BufferGeometry, matrix: Matrix4): void;
974
993
  }
975
994
 
995
+ declare class ItemTints {
996
+ /** Resolves preview colors from item definitions; explicit per-index colors take precedence. */
997
+ static get(model: Model, tints?: Record<number, number>): Promise<Record<number, number> | undefined>;
998
+ private static rgb;
999
+ }
1000
+
976
1001
  declare class ModelCulling {
977
1002
  static toLocalMask(worldMask: number, rotation: Euler): number;
978
1003
  static isOpaqueFullCube(atlas: Maybe<TextureAtlas>): boolean;
@@ -1021,7 +1046,6 @@ declare class BlockStateResolver {
1021
1046
  declare class BlockTints {
1022
1047
  /** Resolves block preview colors without biome context; explicit tints take precedence. */
1023
1048
  static get(key: AssetKey | undefined, state: BlockStateProperties, model: Model, tints?: Record<number, number>): Promise<Record<number, number> | undefined>;
1024
- private static grassColor;
1025
1049
  }
1026
1050
 
1027
1051
  interface Instanceable {
@@ -1187,11 +1211,11 @@ declare class EntityAnimationPlayer {
1187
1211
  get animation(): EntityAnimation | undefined;
1188
1212
  get time(): number;
1189
1213
  /**
1190
- * Starts an animation on the named parts below each layer root. The current pose of a part becomes its default;
1191
- * bones without a matching part are skipped.
1214
+ * Starts an animation on matching named parts. Supplied baked poses are the baseline for offsets;
1215
+ * without them, the current pose is used. Stopping restores the pose from before playback.
1192
1216
  */
1193
- play(layers: Object3D[], animation: EntityAnimation, options?: EntityAnimationOptions): void;
1194
- /** Restores the default poses. Returns whether an animation was active. */
1217
+ play(layers: Object3D[], animation: EntityAnimation, options?: EntityAnimationOptions, poses?: ReadonlyMap<Object3D, EntityModelPart["pose"]>): void;
1218
+ /** Restores the poses from before playback. Returns whether an animation was active. */
1195
1219
  stop(): boolean;
1196
1220
  /** Forgets the animation without touching the parts, for parts that no longer exist. */
1197
1221
  clear(): void;
@@ -1213,7 +1237,8 @@ declare class EntityObject extends SceneObject {
1213
1237
  private scrollTicker;
1214
1238
  /** Entity age in ticks, as vanilla's `ageInTicks`; drives the scrolling render modes. */
1215
1239
  age: number;
1216
- private readonly animationPlayer;
1240
+ private readonly animationPlayers;
1241
+ private readonly partPoses;
1217
1242
  constructor(entity: EntityModel, options?: Partial<EntityObjectOptions>);
1218
1243
  init(): Promise<void>;
1219
1244
  dispose(): void;
@@ -1222,17 +1247,21 @@ declare class EntityObject extends SceneObject {
1222
1247
  private updateScrollSubscription;
1223
1248
  /** Applies the entity age to the scrolling materials; the ticker calls this 20 times per second. */
1224
1249
  private updateScroll;
1225
- /** The animation started by {@link playAnimation}, until {@link stopAnimation} or disposal. */
1250
+ /** The first active clip, until playback is stopped or the object is disposed. */
1226
1251
  get animation(): Maybe<EntityAnimation>;
1252
+ /** Clips playing together, each targeting a separate geometry layer. */
1253
+ get activeAnimations(): readonly EntityAnimation[];
1227
1254
  /** Seconds since the animation started, before looping. */
1228
1255
  get animationTime(): number;
1229
1256
  /**
1230
- * Poses the object from a keyframe animation of {@link Entities.getAnimations}, replacing the current one.
1231
- * Parts of every layer are matched by name and their current pose is the default the offsets add to.
1257
+ * Plays a clip from {@link Entities.getAnimations}, replacing all active clips.
1258
+ * Offsets apply to the baked pose in the clip's layer (`main` by default), including repeated draws of that layer.
1232
1259
  * The object owns no clock: call {@link advanceAnimation} per frame, or {@link setAnimationTime}.
1233
1260
  */
1234
1261
  playAnimation(animation: EntityAnimation, options?: EntityAnimationOptions): void;
1235
- /** Stops the animation and restores the default pose. */
1262
+ /** Plays one clip per selected geometry layer, with a shared clock and no blending between clips. */
1263
+ playAnimations(animations: readonly EntityAnimation[], options?: EntityAnimationOptions): void;
1264
+ /** Stops all clips and restores the poses from before playback. */
1236
1265
  stopAnimation(): void;
1237
1266
  /** Poses the object at an explicit time in seconds. Has no effect without an animation. */
1238
1267
  setAnimationTime(seconds: number): void;
@@ -2160,6 +2189,11 @@ declare class Skins {
2160
2189
  private static getMcProxyCapeUrl;
2161
2190
  }
2162
2191
 
2192
+ declare class Colormaps {
2193
+ /** Samples the selected resource pack's grass colormap using Minecraft's climate coordinates. */
2194
+ static grassColor(origin?: AssetKey, temperature?: number, downfall?: number): Promise<number>;
2195
+ }
2196
+
2163
2197
  declare class TextureLoader {
2164
2198
  private static readonly failedTextures;
2165
2199
  /** Reports whether image loading failed, so cached textures can be retried. */
@@ -2371,4 +2405,4 @@ declare class BrowserCache extends PersistentCache<LocalForage> {
2371
2405
  */
2372
2406
  declare function probeImageSize(data: Uint8Array): ImageSizeInfo;
2373
2407
 
2374
- export { AXES, type AnimationFrame, type AnimationMeta, type AnimatorFunction, type AnvilChunk, AnvilParser, type AnvilRegion, ArchiveAssetSource, type ArchiveEntry, type ArchiveProxy, AssetKey, AssetLoadError, AssetLoader, AssetParser, AssetSource, type AssetType, Assets, Axis, BUILTIN_ENTITY, BUILTIN_GENERATED, BasicAssetKey, type BasicMinecraftAsset, BatchedExecutor, type BedrockBone, type BedrockCube, type BedrockEntityDescription, type BedrockEntityFile, type BedrockGeometry, type BedrockGeometryFile, type Block, BlockEntities, type BlockEntityEntry, type BlockEntityIndex, type BlockEntityPart, type BlockEntityRotation, type BlockFluidState, type BlockInfo, type BlockModel, type BlockModelTextures, BlockObject, type BlockObjectOptions, type BlockState, type BlockStateMultipart, type BlockStateProperties, type BlockStateProperty, type BlockStatePropertyDefaults, type BlockStatePropertyValue, BlockStateResolver, type BlockStateVariant, type BlockStateVariants, BlockStates, BlockTints, type BoxGeometryKey, BrowserArchiveProxy, BrowserCache, BrowserEnv, CUBE_FACES, CUBE_FACE_OFFSETS, type CacheKey, Caching, type CameraOptions, CanvasImage, type CapeLayout, Chunk, ChunkData, type CompatCanvas, type CompatImage, type ComposerOptions, type ControlsOptions, CubeFace, CubeFaceIndex, DEFAULT_ELEMENTS, DEFAULT_NAMESPACE, DEFAULT_ROOT, DEFAULT_UV, DISPLAY_POSITIONS, type DebugOptions, type DeepPartial, DefaultBlockStates, DisplayPosition, DisplayTransforms, type Disposable, type DoubleArray, ENTITY_ANIMATION_CHANNELS, type ElementFace, type ElementRotation, Entities, type EntityAnimation, type EntityAnimationBone, type EntityAnimationChannel, type EntityAnimationFile, type EntityAnimationKeyframe, type EntityAnimationOptions, EntityAnimationPlayer, type EntityAnimationPose, type EntityLayer, type EntityModel, type EntityModelCube, type EntityModelFile, type EntityModelLayer, type EntityModelOptions, type EntityModelPart, type EntityModelPass, EntityObject, type EntityObjectOptions, type EntityRenderMode, type EntityTransformOp, Env, type EnvProvider, type ExtractableImageData, type FluidKind, FluidModelObject, type FluidSample, type FluidSampler, type FrameCallback, type FromTo, Geometries, GuiHelper, type GuiItemLayer, type GuiLayer, GuiLight, GuiObject, type GuiObjectOptions, type GuiRecipe, type GuiRecipeIngredient, type GuiRecipeOptions, type GuiTextureLayer, HostedAssetSource, type IModelTextures, ITEM_GENERATED, type ImageInfo, ImageLoader, type ImageSizeInfo, InstanceManager, InstanceReference, type Instanceable, type ItemModel, type ItemModelTextures, type ListAsset, MapControls, type MaterialKey, Materials, type Maybe, type MeshKey, Meshes, MineRenderError, MineRenderScene, type MineRenderSceneOptions, MineRenderWorld, type MineRenderWorldOptions, type MinecraftAsset, MinecraftCubeTexture, MinecraftFaceUV, type MinecraftTextureMeta, type Model, ModelCulling, type ModelDisplay, type ModelElement, type ModelFaces, ModelGenerator, ModelMerger, ModelObject, type ModelObjectOptions, ModelTextures, Models, type MultiBlockBlock, type MultiBlockEntity, type MultiBlockStructure, type MultipartCondition, type NBTAsset, NBTHelper, OrbitControls, PersistentCache, type QuadArray, type RawImageKey, type RenderOptions, Renderer, type RendererFrame, type RendererOptions, type RequestConfig, RequestError, type RequestResponse, Requests, type ResolvedBlockEntity, type ResponseParser, SKIN_PARTS, SceneExporter, type SceneGLTFExportOptions, SceneInspector, SceneObject, type SceneObjectOptions, SceneStats, SceneStatsDisplay, SchematicParser, SectionMesh, type SectionMeshEntry, type SectionMeshTemplate, SectionModels, type Serializable, type SkinGeometries, SkinImage, SkinObject, type SkinObjectOptions, SkinPart, type SkinTexture, type SkinTextureCoordinates, SkinTextures, Skins, type SpecialItemPart, type SpecialItemRenderer, SpecialItems, type StructureNBT, StructureParser, type TextureAsset, TextureAtlas, type TextureKey, TextureLoader, Textures, Ticker, type TickerFunction, TintColors, type Transformable, type TripleArray, UVMapper, WrappedImage, addBox3WireframeToObject, addWireframeToMesh, addWireframeToObject, applyElementRotation, applyGenericRotation, axisToVec3, base64decode, base64encode, capeTextureSizes, captureException, changeEvent, clampRotationDegrees, classicSkinGeometries, classicSkinTextureCoordinates, computeMorphedAttributes, createCanvas, createFluidGeometry, createImage, entityAnimationTime, estimateBytesUsed, getBlockFluidState, getFluidKind, interleaveAttributes, isAssetKey, isBasicAssetKey, isBlockObject, isDisposable, isDoubleArray, isEntityObject, isGuiObject, isInstanceManager, isInstanceReference, isInstanceable, isInstancedMesh, isMesh, isMineRenderScene, isModelObject, isObject3D, isOrthographicCamera, isPerspectiveCamera, isQuadArray, isSceneObject, isTransformable, isTripleArray, isVector3, md5, mergeBufferAttributes, mergeBufferGeometries, mergeVertices, prefix, probeImageSize, registerBrowserEnv, sampleEntityAnimation, sampleEntityKeyframes, sampleFluid, serializeBoxGeometryKey, serializeImageKey, serializeMaterialKey, serializeMeshKey, serializeTextureKey, sha1, sha256, sha512, shutdown, sleep, slimSkinGeometries, slimSkinTextureCoordinates, timingEnd, timingStart, toDegrees, toRadians, toTrianglesDrawMode, trimCanvas };
2408
+ export { AXES, type AnimationFrame, type AnimationMeta, type AnimatorFunction, type AnvilChunk, AnvilParser, type AnvilRegion, ArchiveAssetSource, type ArchiveEntry, type ArchiveProxy, AssetKey, AssetLoadError, AssetLoader, AssetParser, AssetSource, type AssetType, Assets, Axis, BUILTIN_ENTITY, BUILTIN_GENERATED, BasicAssetKey, type BasicMinecraftAsset, BatchedExecutor, type BedrockBone, type BedrockCube, type BedrockEntityDescription, type BedrockEntityFile, type BedrockGeometry, type BedrockGeometryFile, type Block, BlockEntities, type BlockEntityEntry, type BlockEntityIndex, type BlockEntityPart, type BlockEntityRotation, type BlockFluidState, type BlockInfo, type BlockModel, type BlockModelTextures, BlockObject, type BlockObjectOptions, type BlockState, type BlockStateMultipart, type BlockStateProperties, type BlockStateProperty, type BlockStatePropertyDefaults, type BlockStatePropertyValue, BlockStateResolver, type BlockStateVariant, type BlockStateVariants, BlockStates, BlockTints, type BoxGeometryKey, BrowserArchiveProxy, BrowserCache, BrowserEnv, CUBE_FACES, CUBE_FACE_OFFSETS, type CacheKey, Caching, type CameraOptions, CanvasImage, type CapeLayout, Chunk, ChunkData, Colormaps, type CompatCanvas, type CompatImage, type ComposerOptions, type ControlsOptions, CubeFace, CubeFaceIndex, DEFAULT_ELEMENTS, DEFAULT_NAMESPACE, DEFAULT_ROOT, DEFAULT_UV, DISPLAY_POSITIONS, type DebugOptions, type DeepPartial, DefaultBlockStates, DisplayPosition, DisplayTransforms, type Disposable, type DoubleArray, ENTITY_ANIMATION_CHANNELS, type ElementFace, type ElementRotation, Entities, type EntityAnimation, type EntityAnimationBone, type EntityAnimationChannel, type EntityAnimationFile, type EntityAnimationKeyframe, type EntityAnimationOptions, EntityAnimationPlayer, type EntityAnimationPose, type EntityLayer, type EntityModel, type EntityModelCube, type EntityModelFile, type EntityModelLayer, type EntityModelOptions, type EntityModelPart, type EntityModelPass, EntityObject, type EntityObjectOptions, type EntityRenderMode, type EntityTransformOp, Env, type EnvProvider, type ExtractableImageData, type FluidKind, FluidModelObject, type FluidSample, type FluidSampler, type FrameCallback, type FromTo, Geometries, GuiHelper, type GuiItemLayer, type GuiLayer, GuiLight, GuiObject, type GuiObjectOptions, type GuiRecipe, type GuiRecipeIngredient, type GuiRecipeOptions, type GuiTextureLayer, HostedAssetSource, type IModelTextures, ITEM_GENERATED, type ImageInfo, ImageLoader, type ImageSizeInfo, InstanceManager, InstanceReference, type Instanceable, type ItemModel, type ItemModelTextures, type ItemTintColor, type ItemTintSource, ItemTints, type ListAsset, MapControls, type MaterialKey, Materials, type Maybe, type MeshKey, Meshes, MineRenderError, MineRenderScene, type MineRenderSceneOptions, MineRenderWorld, type MineRenderWorldOptions, type MinecraftAsset, MinecraftCubeTexture, MinecraftFaceUV, type MinecraftTextureMeta, type Model, ModelCulling, type ModelDisplay, type ModelElement, type ModelFaces, ModelGenerator, ModelMerger, ModelObject, type ModelObjectOptions, ModelTextures, Models, type MultiBlockBlock, type MultiBlockEntity, type MultiBlockStructure, type MultipartCondition, type NBTAsset, NBTHelper, OrbitControls, PersistentCache, type QuadArray, type RawImageKey, type RenderOptions, Renderer, type RendererFrame, type RendererOptions, type RequestConfig, RequestError, type RequestResponse, Requests, type ResolvedBlockEntity, type ResponseParser, SKIN_PARTS, SceneExporter, type SceneGLTFExportOptions, SceneInspector, SceneObject, type SceneObjectOptions, SceneStats, SceneStatsDisplay, SchematicParser, SectionMesh, type SectionMeshEntry, type SectionMeshTemplate, SectionModels, type Serializable, type SkinGeometries, SkinImage, SkinObject, type SkinObjectOptions, SkinPart, type SkinTexture, type SkinTextureCoordinates, SkinTextures, Skins, type SpecialItemPart, type SpecialItemRenderer, SpecialItems, type StructureNBT, StructureParser, type TextureAsset, TextureAtlas, type TextureKey, TextureLoader, Textures, Ticker, type TickerFunction, TintColors, type Transformable, type TripleArray, UVMapper, WrappedImage, addBox3WireframeToObject, addWireframeToMesh, addWireframeToObject, applyElementRotation, applyGenericRotation, axisToVec3, base64decode, base64encode, capeTextureSizes, captureException, changeEvent, clampRotationDegrees, classicSkinGeometries, classicSkinTextureCoordinates, computeMorphedAttributes, createCanvas, createFluidGeometry, createImage, entityAnimationTime, estimateBytesUsed, getBlockFluidState, getFluidKind, interleaveAttributes, isAssetKey, isBasicAssetKey, isBlockObject, isDisposable, isDoubleArray, isEntityObject, isGuiObject, isInstanceManager, isInstanceReference, isInstanceable, isInstancedMesh, isMesh, isMineRenderScene, isModelObject, isObject3D, isOrthographicCamera, isPerspectiveCamera, isQuadArray, isSceneObject, isTransformable, isTripleArray, isVector3, md5, mergeBufferAttributes, mergeBufferGeometries, mergeVertices, prefix, probeImageSize, registerBrowserEnv, sampleEntityAnimation, sampleEntityKeyframes, sampleFluid, serializeBoxGeometryKey, serializeImageKey, serializeMaterialKey, serializeMeshKey, serializeTextureKey, sha1, sha256, sha512, shutdown, sleep, slimSkinGeometries, slimSkinTextureCoordinates, timingEnd, timingStart, toDegrees, toRadians, toTrianglesDrawMode, trimCanvas };
@@ -448,7 +448,24 @@ interface ItemModel extends Model {
448
448
  textures?: ItemModelTextures;
449
449
  gui_light?: GuiLight;
450
450
  special?: SpecialItemRenderer;
451
+ tints?: ItemTintSource[];
451
452
  }
453
+ type ItemTintColor = number | TripleArray;
454
+ type ItemTintSource = {
455
+ type: "constant" | "minecraft:constant";
456
+ value: ItemTintColor;
457
+ } | {
458
+ type: "grass" | "minecraft:grass";
459
+ temperature: number;
460
+ downfall: number;
461
+ } | {
462
+ type: "dye" | "minecraft:dye" | "potion" | "minecraft:potion" | "map_color" | "minecraft:map_color" | "firework" | "minecraft:firework" | "team" | "minecraft:team";
463
+ default: ItemTintColor;
464
+ } | {
465
+ type: "custom_model_data" | "minecraft:custom_model_data";
466
+ index?: number;
467
+ default: ItemTintColor;
468
+ };
452
469
  type SpecialItemRenderer = {
453
470
  type: "chest" | "minecraft:chest";
454
471
  texture: string;
@@ -884,7 +901,7 @@ declare class DefaultBlockStates implements MinecraftAsset {
884
901
  [k: string]: BlockStatePropertyDefaults;
885
902
  }
886
903
 
887
- /** `entity-models/animations/<namespace>/<model id>.json`: vanilla's keyframe animations of one model. */
904
+ /** `entity-models/animations/<namespace>/<model id>.json`: native and sampled vanilla animation clips. */
888
905
  interface EntityAnimationFile extends MinecraftAsset {
889
906
  id: string;
890
907
  animations: Record<string, EntityAnimation>;
@@ -893,6 +910,8 @@ interface EntityAnimation {
893
910
  /** Seconds. */
894
911
  length: number;
895
912
  loop: boolean;
913
+ /** Geometry layer targeted by this clip; defaults to `main`. */
914
+ layer?: string;
896
915
  /** Part name anywhere in a layer; `root` is the layer's root part. */
897
916
  bones: Record<string, EntityAnimationBone>;
898
917
  }
@@ -930,7 +949,7 @@ declare class Entities {
930
949
  static getPassList(modelKey: BasicAssetKey): Promise<EntityModelPass[]>;
931
950
  static getEntity(modelKey: BasicAssetKey, textureKey?: BasicAssetKey, options?: EntityModelOptions): Promise<Maybe<EntityModel>>;
932
951
  /**
933
- * Vanilla's keyframe animations of a model by name, or undefined when the model or the selected version has none.
952
+ * Native and sampled vanilla clips by name, or undefined when the model or selected version has none.
934
953
  */
935
954
  static getAnimations(modelKey: BasicAssetKey): Promise<Maybe<Record<string, EntityAnimation>>>;
936
955
  static resolveTexture(modelKey: BasicAssetKey): Promise<Maybe<AssetKey>>;
@@ -973,6 +992,12 @@ declare class DisplayTransforms {
973
992
  static apply(geometry: BufferGeometry, matrix: Matrix4): void;
974
993
  }
975
994
 
995
+ declare class ItemTints {
996
+ /** Resolves preview colors from item definitions; explicit per-index colors take precedence. */
997
+ static get(model: Model, tints?: Record<number, number>): Promise<Record<number, number> | undefined>;
998
+ private static rgb;
999
+ }
1000
+
976
1001
  declare class ModelCulling {
977
1002
  static toLocalMask(worldMask: number, rotation: Euler): number;
978
1003
  static isOpaqueFullCube(atlas: Maybe<TextureAtlas>): boolean;
@@ -1021,7 +1046,6 @@ declare class BlockStateResolver {
1021
1046
  declare class BlockTints {
1022
1047
  /** Resolves block preview colors without biome context; explicit tints take precedence. */
1023
1048
  static get(key: AssetKey | undefined, state: BlockStateProperties, model: Model, tints?: Record<number, number>): Promise<Record<number, number> | undefined>;
1024
- private static grassColor;
1025
1049
  }
1026
1050
 
1027
1051
  interface Instanceable {
@@ -1187,11 +1211,11 @@ declare class EntityAnimationPlayer {
1187
1211
  get animation(): EntityAnimation | undefined;
1188
1212
  get time(): number;
1189
1213
  /**
1190
- * Starts an animation on the named parts below each layer root. The current pose of a part becomes its default;
1191
- * bones without a matching part are skipped.
1214
+ * Starts an animation on matching named parts. Supplied baked poses are the baseline for offsets;
1215
+ * without them, the current pose is used. Stopping restores the pose from before playback.
1192
1216
  */
1193
- play(layers: Object3D[], animation: EntityAnimation, options?: EntityAnimationOptions): void;
1194
- /** Restores the default poses. Returns whether an animation was active. */
1217
+ play(layers: Object3D[], animation: EntityAnimation, options?: EntityAnimationOptions, poses?: ReadonlyMap<Object3D, EntityModelPart["pose"]>): void;
1218
+ /** Restores the poses from before playback. Returns whether an animation was active. */
1195
1219
  stop(): boolean;
1196
1220
  /** Forgets the animation without touching the parts, for parts that no longer exist. */
1197
1221
  clear(): void;
@@ -1213,7 +1237,8 @@ declare class EntityObject extends SceneObject {
1213
1237
  private scrollTicker;
1214
1238
  /** Entity age in ticks, as vanilla's `ageInTicks`; drives the scrolling render modes. */
1215
1239
  age: number;
1216
- private readonly animationPlayer;
1240
+ private readonly animationPlayers;
1241
+ private readonly partPoses;
1217
1242
  constructor(entity: EntityModel, options?: Partial<EntityObjectOptions>);
1218
1243
  init(): Promise<void>;
1219
1244
  dispose(): void;
@@ -1222,17 +1247,21 @@ declare class EntityObject extends SceneObject {
1222
1247
  private updateScrollSubscription;
1223
1248
  /** Applies the entity age to the scrolling materials; the ticker calls this 20 times per second. */
1224
1249
  private updateScroll;
1225
- /** The animation started by {@link playAnimation}, until {@link stopAnimation} or disposal. */
1250
+ /** The first active clip, until playback is stopped or the object is disposed. */
1226
1251
  get animation(): Maybe<EntityAnimation>;
1252
+ /** Clips playing together, each targeting a separate geometry layer. */
1253
+ get activeAnimations(): readonly EntityAnimation[];
1227
1254
  /** Seconds since the animation started, before looping. */
1228
1255
  get animationTime(): number;
1229
1256
  /**
1230
- * Poses the object from a keyframe animation of {@link Entities.getAnimations}, replacing the current one.
1231
- * Parts of every layer are matched by name and their current pose is the default the offsets add to.
1257
+ * Plays a clip from {@link Entities.getAnimations}, replacing all active clips.
1258
+ * Offsets apply to the baked pose in the clip's layer (`main` by default), including repeated draws of that layer.
1232
1259
  * The object owns no clock: call {@link advanceAnimation} per frame, or {@link setAnimationTime}.
1233
1260
  */
1234
1261
  playAnimation(animation: EntityAnimation, options?: EntityAnimationOptions): void;
1235
- /** Stops the animation and restores the default pose. */
1262
+ /** Plays one clip per selected geometry layer, with a shared clock and no blending between clips. */
1263
+ playAnimations(animations: readonly EntityAnimation[], options?: EntityAnimationOptions): void;
1264
+ /** Stops all clips and restores the poses from before playback. */
1236
1265
  stopAnimation(): void;
1237
1266
  /** Poses the object at an explicit time in seconds. Has no effect without an animation. */
1238
1267
  setAnimationTime(seconds: number): void;
@@ -2160,6 +2189,11 @@ declare class Skins {
2160
2189
  private static getMcProxyCapeUrl;
2161
2190
  }
2162
2191
 
2192
+ declare class Colormaps {
2193
+ /** Samples the selected resource pack's grass colormap using Minecraft's climate coordinates. */
2194
+ static grassColor(origin?: AssetKey, temperature?: number, downfall?: number): Promise<number>;
2195
+ }
2196
+
2163
2197
  declare class TextureLoader {
2164
2198
  private static readonly failedTextures;
2165
2199
  /** Reports whether image loading failed, so cached textures can be retried. */
@@ -2371,4 +2405,4 @@ declare class BrowserCache extends PersistentCache<LocalForage> {
2371
2405
  */
2372
2406
  declare function probeImageSize(data: Uint8Array): ImageSizeInfo;
2373
2407
 
2374
- export { AXES, type AnimationFrame, type AnimationMeta, type AnimatorFunction, type AnvilChunk, AnvilParser, type AnvilRegion, ArchiveAssetSource, type ArchiveEntry, type ArchiveProxy, AssetKey, AssetLoadError, AssetLoader, AssetParser, AssetSource, type AssetType, Assets, Axis, BUILTIN_ENTITY, BUILTIN_GENERATED, BasicAssetKey, type BasicMinecraftAsset, BatchedExecutor, type BedrockBone, type BedrockCube, type BedrockEntityDescription, type BedrockEntityFile, type BedrockGeometry, type BedrockGeometryFile, type Block, BlockEntities, type BlockEntityEntry, type BlockEntityIndex, type BlockEntityPart, type BlockEntityRotation, type BlockFluidState, type BlockInfo, type BlockModel, type BlockModelTextures, BlockObject, type BlockObjectOptions, type BlockState, type BlockStateMultipart, type BlockStateProperties, type BlockStateProperty, type BlockStatePropertyDefaults, type BlockStatePropertyValue, BlockStateResolver, type BlockStateVariant, type BlockStateVariants, BlockStates, BlockTints, type BoxGeometryKey, BrowserArchiveProxy, BrowserCache, BrowserEnv, CUBE_FACES, CUBE_FACE_OFFSETS, type CacheKey, Caching, type CameraOptions, CanvasImage, type CapeLayout, Chunk, ChunkData, type CompatCanvas, type CompatImage, type ComposerOptions, type ControlsOptions, CubeFace, CubeFaceIndex, DEFAULT_ELEMENTS, DEFAULT_NAMESPACE, DEFAULT_ROOT, DEFAULT_UV, DISPLAY_POSITIONS, type DebugOptions, type DeepPartial, DefaultBlockStates, DisplayPosition, DisplayTransforms, type Disposable, type DoubleArray, ENTITY_ANIMATION_CHANNELS, type ElementFace, type ElementRotation, Entities, type EntityAnimation, type EntityAnimationBone, type EntityAnimationChannel, type EntityAnimationFile, type EntityAnimationKeyframe, type EntityAnimationOptions, EntityAnimationPlayer, type EntityAnimationPose, type EntityLayer, type EntityModel, type EntityModelCube, type EntityModelFile, type EntityModelLayer, type EntityModelOptions, type EntityModelPart, type EntityModelPass, EntityObject, type EntityObjectOptions, type EntityRenderMode, type EntityTransformOp, Env, type EnvProvider, type ExtractableImageData, type FluidKind, FluidModelObject, type FluidSample, type FluidSampler, type FrameCallback, type FromTo, Geometries, GuiHelper, type GuiItemLayer, type GuiLayer, GuiLight, GuiObject, type GuiObjectOptions, type GuiRecipe, type GuiRecipeIngredient, type GuiRecipeOptions, type GuiTextureLayer, HostedAssetSource, type IModelTextures, ITEM_GENERATED, type ImageInfo, ImageLoader, type ImageSizeInfo, InstanceManager, InstanceReference, type Instanceable, type ItemModel, type ItemModelTextures, type ListAsset, MapControls, type MaterialKey, Materials, type Maybe, type MeshKey, Meshes, MineRenderError, MineRenderScene, type MineRenderSceneOptions, MineRenderWorld, type MineRenderWorldOptions, type MinecraftAsset, MinecraftCubeTexture, MinecraftFaceUV, type MinecraftTextureMeta, type Model, ModelCulling, type ModelDisplay, type ModelElement, type ModelFaces, ModelGenerator, ModelMerger, ModelObject, type ModelObjectOptions, ModelTextures, Models, type MultiBlockBlock, type MultiBlockEntity, type MultiBlockStructure, type MultipartCondition, type NBTAsset, NBTHelper, OrbitControls, PersistentCache, type QuadArray, type RawImageKey, type RenderOptions, Renderer, type RendererFrame, type RendererOptions, type RequestConfig, RequestError, type RequestResponse, Requests, type ResolvedBlockEntity, type ResponseParser, SKIN_PARTS, SceneExporter, type SceneGLTFExportOptions, SceneInspector, SceneObject, type SceneObjectOptions, SceneStats, SceneStatsDisplay, SchematicParser, SectionMesh, type SectionMeshEntry, type SectionMeshTemplate, SectionModels, type Serializable, type SkinGeometries, SkinImage, SkinObject, type SkinObjectOptions, SkinPart, type SkinTexture, type SkinTextureCoordinates, SkinTextures, Skins, type SpecialItemPart, type SpecialItemRenderer, SpecialItems, type StructureNBT, StructureParser, type TextureAsset, TextureAtlas, type TextureKey, TextureLoader, Textures, Ticker, type TickerFunction, TintColors, type Transformable, type TripleArray, UVMapper, WrappedImage, addBox3WireframeToObject, addWireframeToMesh, addWireframeToObject, applyElementRotation, applyGenericRotation, axisToVec3, base64decode, base64encode, capeTextureSizes, captureException, changeEvent, clampRotationDegrees, classicSkinGeometries, classicSkinTextureCoordinates, computeMorphedAttributes, createCanvas, createFluidGeometry, createImage, entityAnimationTime, estimateBytesUsed, getBlockFluidState, getFluidKind, interleaveAttributes, isAssetKey, isBasicAssetKey, isBlockObject, isDisposable, isDoubleArray, isEntityObject, isGuiObject, isInstanceManager, isInstanceReference, isInstanceable, isInstancedMesh, isMesh, isMineRenderScene, isModelObject, isObject3D, isOrthographicCamera, isPerspectiveCamera, isQuadArray, isSceneObject, isTransformable, isTripleArray, isVector3, md5, mergeBufferAttributes, mergeBufferGeometries, mergeVertices, prefix, probeImageSize, registerBrowserEnv, sampleEntityAnimation, sampleEntityKeyframes, sampleFluid, serializeBoxGeometryKey, serializeImageKey, serializeMaterialKey, serializeMeshKey, serializeTextureKey, sha1, sha256, sha512, shutdown, sleep, slimSkinGeometries, slimSkinTextureCoordinates, timingEnd, timingStart, toDegrees, toRadians, toTrianglesDrawMode, trimCanvas };
2408
+ export { AXES, type AnimationFrame, type AnimationMeta, type AnimatorFunction, type AnvilChunk, AnvilParser, type AnvilRegion, ArchiveAssetSource, type ArchiveEntry, type ArchiveProxy, AssetKey, AssetLoadError, AssetLoader, AssetParser, AssetSource, type AssetType, Assets, Axis, BUILTIN_ENTITY, BUILTIN_GENERATED, BasicAssetKey, type BasicMinecraftAsset, BatchedExecutor, type BedrockBone, type BedrockCube, type BedrockEntityDescription, type BedrockEntityFile, type BedrockGeometry, type BedrockGeometryFile, type Block, BlockEntities, type BlockEntityEntry, type BlockEntityIndex, type BlockEntityPart, type BlockEntityRotation, type BlockFluidState, type BlockInfo, type BlockModel, type BlockModelTextures, BlockObject, type BlockObjectOptions, type BlockState, type BlockStateMultipart, type BlockStateProperties, type BlockStateProperty, type BlockStatePropertyDefaults, type BlockStatePropertyValue, BlockStateResolver, type BlockStateVariant, type BlockStateVariants, BlockStates, BlockTints, type BoxGeometryKey, BrowserArchiveProxy, BrowserCache, BrowserEnv, CUBE_FACES, CUBE_FACE_OFFSETS, type CacheKey, Caching, type CameraOptions, CanvasImage, type CapeLayout, Chunk, ChunkData, Colormaps, type CompatCanvas, type CompatImage, type ComposerOptions, type ControlsOptions, CubeFace, CubeFaceIndex, DEFAULT_ELEMENTS, DEFAULT_NAMESPACE, DEFAULT_ROOT, DEFAULT_UV, DISPLAY_POSITIONS, type DebugOptions, type DeepPartial, DefaultBlockStates, DisplayPosition, DisplayTransforms, type Disposable, type DoubleArray, ENTITY_ANIMATION_CHANNELS, type ElementFace, type ElementRotation, Entities, type EntityAnimation, type EntityAnimationBone, type EntityAnimationChannel, type EntityAnimationFile, type EntityAnimationKeyframe, type EntityAnimationOptions, EntityAnimationPlayer, type EntityAnimationPose, type EntityLayer, type EntityModel, type EntityModelCube, type EntityModelFile, type EntityModelLayer, type EntityModelOptions, type EntityModelPart, type EntityModelPass, EntityObject, type EntityObjectOptions, type EntityRenderMode, type EntityTransformOp, Env, type EnvProvider, type ExtractableImageData, type FluidKind, FluidModelObject, type FluidSample, type FluidSampler, type FrameCallback, type FromTo, Geometries, GuiHelper, type GuiItemLayer, type GuiLayer, GuiLight, GuiObject, type GuiObjectOptions, type GuiRecipe, type GuiRecipeIngredient, type GuiRecipeOptions, type GuiTextureLayer, HostedAssetSource, type IModelTextures, ITEM_GENERATED, type ImageInfo, ImageLoader, type ImageSizeInfo, InstanceManager, InstanceReference, type Instanceable, type ItemModel, type ItemModelTextures, type ItemTintColor, type ItemTintSource, ItemTints, type ListAsset, MapControls, type MaterialKey, Materials, type Maybe, type MeshKey, Meshes, MineRenderError, MineRenderScene, type MineRenderSceneOptions, MineRenderWorld, type MineRenderWorldOptions, type MinecraftAsset, MinecraftCubeTexture, MinecraftFaceUV, type MinecraftTextureMeta, type Model, ModelCulling, type ModelDisplay, type ModelElement, type ModelFaces, ModelGenerator, ModelMerger, ModelObject, type ModelObjectOptions, ModelTextures, Models, type MultiBlockBlock, type MultiBlockEntity, type MultiBlockStructure, type MultipartCondition, type NBTAsset, NBTHelper, OrbitControls, PersistentCache, type QuadArray, type RawImageKey, type RenderOptions, Renderer, type RendererFrame, type RendererOptions, type RequestConfig, RequestError, type RequestResponse, Requests, type ResolvedBlockEntity, type ResponseParser, SKIN_PARTS, SceneExporter, type SceneGLTFExportOptions, SceneInspector, SceneObject, type SceneObjectOptions, SceneStats, SceneStatsDisplay, SchematicParser, SectionMesh, type SectionMeshEntry, type SectionMeshTemplate, SectionModels, type Serializable, type SkinGeometries, SkinImage, SkinObject, type SkinObjectOptions, SkinPart, type SkinTexture, type SkinTextureCoordinates, SkinTextures, Skins, type SpecialItemPart, type SpecialItemRenderer, SpecialItems, type StructureNBT, StructureParser, type TextureAsset, TextureAtlas, type TextureKey, TextureLoader, Textures, Ticker, type TickerFunction, TintColors, type Transformable, type TripleArray, UVMapper, WrappedImage, addBox3WireframeToObject, addWireframeToMesh, addWireframeToObject, applyElementRotation, applyGenericRotation, axisToVec3, base64decode, base64encode, capeTextureSizes, captureException, changeEvent, clampRotationDegrees, classicSkinGeometries, classicSkinTextureCoordinates, computeMorphedAttributes, createCanvas, createFluidGeometry, createImage, entityAnimationTime, estimateBytesUsed, getBlockFluidState, getFluidKind, interleaveAttributes, isAssetKey, isBasicAssetKey, isBlockObject, isDisposable, isDoubleArray, isEntityObject, isGuiObject, isInstanceManager, isInstanceReference, isInstanceable, isInstancedMesh, isMesh, isMineRenderScene, isModelObject, isObject3D, isOrthographicCamera, isPerspectiveCamera, isQuadArray, isSceneObject, isTransformable, isTripleArray, isVector3, md5, mergeBufferAttributes, mergeBufferGeometries, mergeVertices, prefix, probeImageSize, registerBrowserEnv, sampleEntityAnimation, sampleEntityKeyframes, sampleFluid, serializeBoxGeometryKey, serializeImageKey, serializeMaterialKey, serializeMeshKey, serializeTextureKey, sha1, sha256, sha512, shutdown, sleep, slimSkinGeometries, slimSkinTextureCoordinates, timingEnd, timingStart, toDegrees, toRadians, toTrianglesDrawMode, trimCanvas };