minerender 2.1.0-alpha.33 → 2.1.0-alpha.35

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.
@@ -830,6 +830,8 @@ declare class BlockTints {
830
830
 
831
831
  interface Instanceable {
832
832
  nextInstance(): InstanceReference<SceneObject>;
833
+ removeInstanceAt(index: number): void;
834
+ isInstanceActive(index: number, reference: InstanceReference<Instanceable>): boolean;
833
835
  getMatrixAt(index: number, matrix?: Matrix4): Matrix4;
834
836
  setMatrixAt(index: number, matrix: Matrix4): void;
835
837
  setPositionRotationScaleAt(index: number, position?: Vector3, rotation?: Euler, scale?: Vector3): void;
@@ -842,12 +844,15 @@ interface Instanceable {
842
844
  }
843
845
  declare function isInstanceable(obj: any): obj is Instanceable;
844
846
 
845
- declare class InstanceReference<T extends Instanceable> implements Transformable {
847
+ declare class InstanceReference<T extends Instanceable> implements Transformable, Disposable {
846
848
  readonly instanceable: T;
847
849
  readonly index: number;
848
850
  readonly isInstanceReference: true;
849
851
  constructor(instanceable: T, index: number);
850
852
  nextInstance(): InstanceReference<SceneObject>;
853
+ private get activeInstanceable();
854
+ removeFromScene(): void;
855
+ dispose(): void;
851
856
  getMatrix(matrix?: Matrix4): Matrix4;
852
857
  setMatrix(matrix: Matrix4): void;
853
858
  setPositionRotationScale(position?: Vector3, rotation?: Euler, scale?: Vector3): void;
@@ -877,7 +882,6 @@ declare class ModelObject extends SceneObject {
877
882
  private meshesCreated;
878
883
  constructor(originalModel: Model, options?: Partial<ModelObjectOptions>);
879
884
  init(): Promise<void>;
880
- dispose(): void;
881
885
  get textureAtlas(): Maybe<TextureAtlas>;
882
886
  protected loadTextures(): Promise<void>;
883
887
  protected createMeshes(force?: boolean): void;
@@ -1011,6 +1015,9 @@ declare class SceneObject extends Object3D<Object3DEventMap & {
1011
1015
  private materialCallbacks;
1012
1016
  protected _isInstanced: boolean;
1013
1017
  _instanceCounter: number;
1018
+ protected instanceMesh?: InstancedMesh;
1019
+ private readonly instanceReferences;
1020
+ private readonly freeInstanceIndices;
1014
1021
  constructor(options?: Partial<SceneObjectOptions>);
1015
1022
  set scene(scene: MineRenderScene);
1016
1023
  get scene(): MineRenderScene;
@@ -1050,6 +1057,10 @@ declare class SceneObject extends Object3D<Object3DEventMap & {
1050
1057
  get instanceCounter(): number;
1051
1058
  protected constructInstanceReference(i: number): InstanceReference<SceneObject>;
1052
1059
  nextInstance(): InstanceReference<SceneObject>;
1060
+ isInstanceActive(index: number, reference: InstanceReference<Instanceable>): boolean;
1061
+ removeInstanceAt(index: number): void;
1062
+ private growInstances;
1063
+ protected activeInstanceIndices(): Iterable<number>;
1053
1064
  getMatrixAt(index: number, matrix?: Matrix4): Matrix4;
1054
1065
  setMatrixAt(index: number, matrix: Matrix4): void;
1055
1066
  setPositionRotationScaleAt(index: number, position?: Vector3, rotation?: Euler, scale?: Vector3): void;
@@ -1090,6 +1101,7 @@ declare class BlockObject extends SceneObject {
1090
1101
  init(): Promise<void>;
1091
1102
  dispose(): void;
1092
1103
  removeFromScene(): void;
1104
+ private clearModels;
1093
1105
  get state(): {
1094
1106
  [key: string]: string;
1095
1107
  };
@@ -1679,7 +1691,6 @@ declare class Chunk {
1679
1691
  readonly y: number;
1680
1692
  readonly z: number;
1681
1693
  private readonly _blocks;
1682
- private readonly _anchor;
1683
1694
  constructor(scene: MineRenderScene, x: number, y: number, z: number);
1684
1695
  getBlockAt(x: number, y: number, z: number): Maybe<BlockInfo>;
1685
1696
  getBlockAt(pos: Vector3): Maybe<BlockInfo>;
@@ -1691,11 +1702,12 @@ declare class Chunk {
1691
1702
  setBlockAt(pos: Vector3, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
1692
1703
  setBlockAt(pos: TripleArray, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
1693
1704
  /**
1694
- * Set block at a _chunk_ position (0-16)
1705
+ * Set a block at integer chunk-local coordinates from 0 to 15.
1695
1706
  */
1696
1707
  setBlockInChunkAt(pos: Vector3, block?: Block, worldPos?: Vector3): Promise<Maybe<BlockInfo>>;
1697
1708
  clear(): Promise<void>;
1698
1709
  dispose(): Promise<void>;
1710
+ static isAir(block: Maybe<Block>): boolean;
1699
1711
  static chunkPosToBlockIndex(pos: Vector3): number;
1700
1712
  worldPosToChunkPos(pos: Vector3): Vector3;
1701
1713
  chunkPosToWorldPos(pos: Vector3): Vector3;
@@ -1703,23 +1715,20 @@ declare class Chunk {
1703
1715
 
1704
1716
  declare class MineRenderWorld {
1705
1717
  readonly scene: MineRenderScene;
1706
- private _size;
1707
- private _blockSize;
1708
1718
  private readonly _chunks;
1709
1719
  constructor(scene: MineRenderScene);
1710
1720
  getBlockAt(x: number, y: number, z: number): Maybe<BlockInfo>;
1711
1721
  getBlockAt(pos: Vector3): Maybe<BlockInfo>;
1712
1722
  getBlockAt(pos: TripleArray): Maybe<BlockInfo>;
1713
- setBlockAt(x: number, y: number, z: number, block: Block): Promise<Maybe<BlockInfo>>;
1714
- setBlockAt(pos: Vector3, block: Block): Promise<Maybe<BlockInfo>>;
1715
- setBlockAt(pos: TripleArray, block: Block): Promise<Maybe<BlockInfo>>;
1723
+ setBlockAt(x: number, y: number, z: number, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
1724
+ setBlockAt(pos: Vector3, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
1725
+ setBlockAt(pos: TripleArray, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
1716
1726
  placeMultiBlock(multiblock: MultiBlockStructure, useBatches?: boolean, executor?: BatchedExecutor): Promise<void>;
1717
1727
  clear(): Promise<void>;
1718
1728
  private getOrCreateChunkAt;
1719
1729
  getChunkAt(pos: Vector3): Maybe<Chunk>;
1720
1730
  static worldToScenePosition(pos: Vector3): Vector3;
1721
1731
  static sceneToWorldPosition(pos: Vector3): Vector3;
1722
- worldPosToChunkIndex(pos: Vector3): number;
1723
1732
  worldPosToChunkKey(pos: Vector3): string;
1724
1733
  validatePosBounds(pos: Vector3): void;
1725
1734
  }
@@ -830,6 +830,8 @@ declare class BlockTints {
830
830
 
831
831
  interface Instanceable {
832
832
  nextInstance(): InstanceReference<SceneObject>;
833
+ removeInstanceAt(index: number): void;
834
+ isInstanceActive(index: number, reference: InstanceReference<Instanceable>): boolean;
833
835
  getMatrixAt(index: number, matrix?: Matrix4): Matrix4;
834
836
  setMatrixAt(index: number, matrix: Matrix4): void;
835
837
  setPositionRotationScaleAt(index: number, position?: Vector3, rotation?: Euler, scale?: Vector3): void;
@@ -842,12 +844,15 @@ interface Instanceable {
842
844
  }
843
845
  declare function isInstanceable(obj: any): obj is Instanceable;
844
846
 
845
- declare class InstanceReference<T extends Instanceable> implements Transformable {
847
+ declare class InstanceReference<T extends Instanceable> implements Transformable, Disposable {
846
848
  readonly instanceable: T;
847
849
  readonly index: number;
848
850
  readonly isInstanceReference: true;
849
851
  constructor(instanceable: T, index: number);
850
852
  nextInstance(): InstanceReference<SceneObject>;
853
+ private get activeInstanceable();
854
+ removeFromScene(): void;
855
+ dispose(): void;
851
856
  getMatrix(matrix?: Matrix4): Matrix4;
852
857
  setMatrix(matrix: Matrix4): void;
853
858
  setPositionRotationScale(position?: Vector3, rotation?: Euler, scale?: Vector3): void;
@@ -877,7 +882,6 @@ declare class ModelObject extends SceneObject {
877
882
  private meshesCreated;
878
883
  constructor(originalModel: Model, options?: Partial<ModelObjectOptions>);
879
884
  init(): Promise<void>;
880
- dispose(): void;
881
885
  get textureAtlas(): Maybe<TextureAtlas>;
882
886
  protected loadTextures(): Promise<void>;
883
887
  protected createMeshes(force?: boolean): void;
@@ -1011,6 +1015,9 @@ declare class SceneObject extends Object3D<Object3DEventMap & {
1011
1015
  private materialCallbacks;
1012
1016
  protected _isInstanced: boolean;
1013
1017
  _instanceCounter: number;
1018
+ protected instanceMesh?: InstancedMesh;
1019
+ private readonly instanceReferences;
1020
+ private readonly freeInstanceIndices;
1014
1021
  constructor(options?: Partial<SceneObjectOptions>);
1015
1022
  set scene(scene: MineRenderScene);
1016
1023
  get scene(): MineRenderScene;
@@ -1050,6 +1057,10 @@ declare class SceneObject extends Object3D<Object3DEventMap & {
1050
1057
  get instanceCounter(): number;
1051
1058
  protected constructInstanceReference(i: number): InstanceReference<SceneObject>;
1052
1059
  nextInstance(): InstanceReference<SceneObject>;
1060
+ isInstanceActive(index: number, reference: InstanceReference<Instanceable>): boolean;
1061
+ removeInstanceAt(index: number): void;
1062
+ private growInstances;
1063
+ protected activeInstanceIndices(): Iterable<number>;
1053
1064
  getMatrixAt(index: number, matrix?: Matrix4): Matrix4;
1054
1065
  setMatrixAt(index: number, matrix: Matrix4): void;
1055
1066
  setPositionRotationScaleAt(index: number, position?: Vector3, rotation?: Euler, scale?: Vector3): void;
@@ -1090,6 +1101,7 @@ declare class BlockObject extends SceneObject {
1090
1101
  init(): Promise<void>;
1091
1102
  dispose(): void;
1092
1103
  removeFromScene(): void;
1104
+ private clearModels;
1093
1105
  get state(): {
1094
1106
  [key: string]: string;
1095
1107
  };
@@ -1679,7 +1691,6 @@ declare class Chunk {
1679
1691
  readonly y: number;
1680
1692
  readonly z: number;
1681
1693
  private readonly _blocks;
1682
- private readonly _anchor;
1683
1694
  constructor(scene: MineRenderScene, x: number, y: number, z: number);
1684
1695
  getBlockAt(x: number, y: number, z: number): Maybe<BlockInfo>;
1685
1696
  getBlockAt(pos: Vector3): Maybe<BlockInfo>;
@@ -1691,11 +1702,12 @@ declare class Chunk {
1691
1702
  setBlockAt(pos: Vector3, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
1692
1703
  setBlockAt(pos: TripleArray, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
1693
1704
  /**
1694
- * Set block at a _chunk_ position (0-16)
1705
+ * Set a block at integer chunk-local coordinates from 0 to 15.
1695
1706
  */
1696
1707
  setBlockInChunkAt(pos: Vector3, block?: Block, worldPos?: Vector3): Promise<Maybe<BlockInfo>>;
1697
1708
  clear(): Promise<void>;
1698
1709
  dispose(): Promise<void>;
1710
+ static isAir(block: Maybe<Block>): boolean;
1699
1711
  static chunkPosToBlockIndex(pos: Vector3): number;
1700
1712
  worldPosToChunkPos(pos: Vector3): Vector3;
1701
1713
  chunkPosToWorldPos(pos: Vector3): Vector3;
@@ -1703,23 +1715,20 @@ declare class Chunk {
1703
1715
 
1704
1716
  declare class MineRenderWorld {
1705
1717
  readonly scene: MineRenderScene;
1706
- private _size;
1707
- private _blockSize;
1708
1718
  private readonly _chunks;
1709
1719
  constructor(scene: MineRenderScene);
1710
1720
  getBlockAt(x: number, y: number, z: number): Maybe<BlockInfo>;
1711
1721
  getBlockAt(pos: Vector3): Maybe<BlockInfo>;
1712
1722
  getBlockAt(pos: TripleArray): Maybe<BlockInfo>;
1713
- setBlockAt(x: number, y: number, z: number, block: Block): Promise<Maybe<BlockInfo>>;
1714
- setBlockAt(pos: Vector3, block: Block): Promise<Maybe<BlockInfo>>;
1715
- setBlockAt(pos: TripleArray, block: Block): Promise<Maybe<BlockInfo>>;
1723
+ setBlockAt(x: number, y: number, z: number, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
1724
+ setBlockAt(pos: Vector3, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
1725
+ setBlockAt(pos: TripleArray, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
1716
1726
  placeMultiBlock(multiblock: MultiBlockStructure, useBatches?: boolean, executor?: BatchedExecutor): Promise<void>;
1717
1727
  clear(): Promise<void>;
1718
1728
  private getOrCreateChunkAt;
1719
1729
  getChunkAt(pos: Vector3): Maybe<Chunk>;
1720
1730
  static worldToScenePosition(pos: Vector3): Vector3;
1721
1731
  static sceneToWorldPosition(pos: Vector3): Vector3;
1722
- worldPosToChunkIndex(pos: Vector3): number;
1723
1732
  worldPosToChunkKey(pos: Vector3): string;
1724
1733
  validatePosBounds(pos: Vector3): void;
1725
1734
  }