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