minerender 2.0.0-alpha.2 → 2.0.0-alpha.3
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.
- package/package.json +4 -4
- package/dist/cjs/AnimatorFunction.d.ts +0 -3
- package/dist/cjs/AnimatorFunction.js +0 -3
- package/dist/cjs/AnimatorFunction.js.map +0 -1
- package/dist/cjs/Axis.d.ts +0 -8
- package/dist/cjs/Axis.js +0 -23
- package/dist/cjs/Axis.js.map +0 -1
- package/dist/cjs/CubeFace.d.ts +0 -17
- package/dist/cjs/CubeFace.js +0 -23
- package/dist/cjs/CubeFace.js.map +0 -1
- package/dist/cjs/Disposable.d.ts +0 -4
- package/dist/cjs/Disposable.js +0 -8
- package/dist/cjs/Disposable.js.map +0 -1
- package/dist/cjs/Env.d.ts +0 -2
- package/dist/cjs/Env.js +0 -7
- package/dist/cjs/Env.js.map +0 -1
- package/dist/cjs/ExtractableImageData.d.ts +0 -5
- package/dist/cjs/ExtractableImageData.js +0 -3
- package/dist/cjs/ExtractableImageData.js.map +0 -1
- package/dist/cjs/Geometries.d.ts +0 -6
- package/dist/cjs/Geometries.js +0 -92
- package/dist/cjs/Geometries.js.map +0 -1
- package/dist/cjs/ListAsset.d.ts +0 -5
- package/dist/cjs/ListAsset.js +0 -3
- package/dist/cjs/ListAsset.js.map +0 -1
- package/dist/cjs/Materials.d.ts +0 -9
- package/dist/cjs/Materials.js +0 -151
- package/dist/cjs/Materials.js.map +0 -1
- package/dist/cjs/Meshes.d.ts +0 -6
- package/dist/cjs/Meshes.js +0 -21
- package/dist/cjs/Meshes.js.map +0 -1
- package/dist/cjs/MinecraftAsset.d.ts +0 -7
- package/dist/cjs/MinecraftAsset.js +0 -3
- package/dist/cjs/MinecraftAsset.js.map +0 -1
- package/dist/cjs/MinecraftCubeTexture.d.ts +0 -26
- package/dist/cjs/MinecraftCubeTexture.js +0 -104
- package/dist/cjs/MinecraftCubeTexture.js.map +0 -1
- package/dist/cjs/MinecraftTextureMeta.d.ts +0 -15
- package/dist/cjs/MinecraftTextureMeta.js +0 -3
- package/dist/cjs/MinecraftTextureMeta.js.map +0 -1
- package/dist/cjs/SceneStats.d.ts +0 -5
- package/dist/cjs/SceneStats.js +0 -12
- package/dist/cjs/SceneStats.js.map +0 -1
- package/dist/cjs/Serializable.d.ts +0 -3
- package/dist/cjs/Serializable.js +0 -3
- package/dist/cjs/Serializable.js.map +0 -1
- package/dist/cjs/Ticker.d.ts +0 -20
- package/dist/cjs/Ticker.js +0 -55
- package/dist/cjs/Ticker.js.map +0 -1
- package/dist/cjs/TintColors.d.ts +0 -1
- package/dist/cjs/TintColors.js +0 -5
- package/dist/cjs/TintColors.js.map +0 -1
- package/dist/cjs/Transformable.d.ts +0 -11
- package/dist/cjs/Transformable.js +0 -8
- package/dist/cjs/Transformable.js.map +0 -1
- package/dist/cjs/UVMapper.d.ts +0 -40
- package/dist/cjs/UVMapper.js +0 -434
- package/dist/cjs/UVMapper.js.map +0 -1
- package/dist/cjs/WrappedImage.d.ts +0 -17
- package/dist/cjs/WrappedImage.js +0 -50
- package/dist/cjs/WrappedImage.js.map +0 -1
- package/dist/cjs/_model/Cube.d.ts +0 -10
- package/dist/cjs/_model/Cube.js +0 -3
- package/dist/cjs/_model/Cube.js.map +0 -1
- package/dist/cjs/_model/Element.d.ts +0 -9
- package/dist/cjs/_model/Element.js +0 -3
- package/dist/cjs/_model/Element.js.map +0 -1
- package/dist/cjs/_model/Face.d.ts +0 -6
- package/dist/cjs/_model/Face.js +0 -3
- package/dist/cjs/_model/Face.js.map +0 -1
- package/dist/cjs/_model/Model.d.ts +0 -4
- package/dist/cjs/_model/Model.js +0 -3
- package/dist/cjs/_model/Model.js.map +0 -1
- package/dist/cjs/assets/AssetKey.d.ts +0 -26
- package/dist/cjs/assets/AssetKey.js +0 -83
- package/dist/cjs/assets/AssetKey.js.map +0 -1
- package/dist/cjs/assets/AssetLoader.d.ts +0 -26
- package/dist/cjs/assets/AssetLoader.js +0 -153
- package/dist/cjs/assets/AssetLoader.js.map +0 -1
- package/dist/cjs/assets/Assets.d.ts +0 -14
- package/dist/cjs/assets/Assets.js +0 -37
- package/dist/cjs/assets/Assets.js.map +0 -1
- package/dist/cjs/assets/BlockStates.d.ts +0 -11
- package/dist/cjs/assets/BlockStates.js +0 -75
- package/dist/cjs/assets/BlockStates.js.map +0 -1
- package/dist/cjs/assets/Entities.d.ts +0 -8
- package/dist/cjs/assets/Entities.js +0 -57
- package/dist/cjs/assets/Entities.js.map +0 -1
- package/dist/cjs/assets/ModelTextures.d.ts +0 -12
- package/dist/cjs/assets/ModelTextures.js +0 -66
- package/dist/cjs/assets/ModelTextures.js.map +0 -1
- package/dist/cjs/assets/Models.d.ts +0 -12
- package/dist/cjs/assets/Models.js +0 -95
- package/dist/cjs/assets/Models.js.map +0 -1
- package/dist/cjs/bedrock/BedrockEntityDescription.d.ts +0 -19
- package/dist/cjs/bedrock/BedrockEntityDescription.js +0 -3
- package/dist/cjs/bedrock/BedrockEntityDescription.js.map +0 -1
- package/dist/cjs/bedrock/BedrockEntityFile.d.ts +0 -7
- package/dist/cjs/bedrock/BedrockEntityFile.js +0 -3
- package/dist/cjs/bedrock/BedrockEntityFile.js.map +0 -1
- package/dist/cjs/bedrock/BedrockGeometry.d.ts +0 -27
- package/dist/cjs/bedrock/BedrockGeometry.js +0 -3
- package/dist/cjs/bedrock/BedrockGeometry.js.map +0 -1
- package/dist/cjs/bedrock/BedrockGeometryFile.d.ts +0 -5
- package/dist/cjs/bedrock/BedrockGeometryFile.js +0 -3
- package/dist/cjs/bedrock/BedrockGeometryFile.js.map +0 -1
- package/dist/cjs/cache/CacheKey.d.ts +0 -28
- package/dist/cjs/cache/CacheKey.js +0 -27
- package/dist/cjs/cache/CacheKey.js.map +0 -1
- package/dist/cjs/cache/Caching.d.ts +0 -29
- package/dist/cjs/cache/Caching.js +0 -93
- package/dist/cjs/cache/Caching.js.map +0 -1
- package/dist/cjs/cache/PersistentCache.d.ts +0 -15
- package/dist/cjs/cache/PersistentCache.js +0 -112
- package/dist/cjs/cache/PersistentCache.js.map +0 -1
- package/dist/cjs/canvas/CanvasCompat.d.ts +0 -5
- package/dist/cjs/canvas/CanvasCompat.js +0 -53
- package/dist/cjs/canvas/CanvasCompat.js.map +0 -1
- package/dist/cjs/canvas/CanvasImage.d.ts +0 -18
- package/dist/cjs/canvas/CanvasImage.js +0 -45
- package/dist/cjs/canvas/CanvasImage.js.map +0 -1
- package/dist/cjs/entity/EntityModel.d.ts +0 -7
- package/dist/cjs/entity/EntityModel.js +0 -3
- package/dist/cjs/entity/EntityModel.js.map +0 -1
- package/dist/cjs/entity/blockEntityModels.json +0 -1401
- package/dist/cjs/entity/entityModels.json +0 -20623
- package/dist/cjs/entity/scene/EntityObject.d.ts +0 -20
- package/dist/cjs/entity/scene/EntityObject.js +0 -131
- package/dist/cjs/entity/scene/EntityObject.js.map +0 -1
- package/dist/cjs/error/MineRenderError.d.ts +0 -4
- package/dist/cjs/error/MineRenderError.js +0 -15
- package/dist/cjs/error/MineRenderError.js.map +0 -1
- package/dist/cjs/gui/scene/GuiObject.d.ts +0 -6
- package/dist/cjs/gui/scene/GuiObject.js +0 -8
- package/dist/cjs/gui/scene/GuiObject.js.map +0 -1
- package/dist/cjs/image/ImageLoader.d.ts +0 -28
- package/dist/cjs/image/ImageLoader.js +0 -166
- package/dist/cjs/image/ImageLoader.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -28
- package/dist/cjs/index.js +0 -43
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/inspector/SceneInspector.d.ts +0 -27
- package/dist/cjs/inspector/SceneInspector.js +0 -366
- package/dist/cjs/inspector/SceneInspector.js.map +0 -1
- package/dist/cjs/inspector/SceneStats.d.ts +0 -22
- package/dist/cjs/inspector/SceneStats.js +0 -53
- package/dist/cjs/inspector/SceneStats.js.map +0 -1
- package/dist/cjs/instance/InstanceManager.d.ts +0 -14
- package/dist/cjs/instance/InstanceManager.js +0 -58
- package/dist/cjs/instance/InstanceManager.js.map +0 -1
- package/dist/cjs/instance/InstanceReference.d.ts +0 -21
- package/dist/cjs/instance/InstanceReference.js +0 -49
- package/dist/cjs/instance/InstanceReference.js.map +0 -1
- package/dist/cjs/instance/Instanceable.d.ts +0 -16
- package/dist/cjs/instance/Instanceable.js +0 -8
- package/dist/cjs/instance/Instanceable.js.map +0 -1
- package/dist/cjs/lib/OrbitControls.d.ts +0 -64
- package/dist/cjs/lib/OrbitControls.js +0 -658
- package/dist/cjs/lib/OrbitControls.js.map +0 -1
- package/dist/cjs/model/DisplayPosition.d.ts +0 -11
- package/dist/cjs/model/DisplayPosition.js +0 -16
- package/dist/cjs/model/DisplayPosition.js.map +0 -1
- package/dist/cjs/model/ElementFace.d.ts +0 -9
- package/dist/cjs/model/ElementFace.js +0 -3
- package/dist/cjs/model/ElementFace.js.map +0 -1
- package/dist/cjs/model/GuiLight.d.ts +0 -4
- package/dist/cjs/model/GuiLight.js +0 -9
- package/dist/cjs/model/GuiLight.js.map +0 -1
- package/dist/cjs/model/Model.d.ts +0 -46
- package/dist/cjs/model/Model.js +0 -20
- package/dist/cjs/model/Model.js.map +0 -1
- package/dist/cjs/model/ModelElement.d.ts +0 -21
- package/dist/cjs/model/ModelElement.js +0 -3
- package/dist/cjs/model/ModelElement.js.map +0 -1
- package/dist/cjs/model/ModelGenerator.d.ts +0 -6
- package/dist/cjs/model/ModelGenerator.js +0 -27
- package/dist/cjs/model/ModelGenerator.js.map +0 -1
- package/dist/cjs/model/ModelMerger.d.ts +0 -5
- package/dist/cjs/model/ModelMerger.js +0 -51
- package/dist/cjs/model/ModelMerger.js.map +0 -1
- package/dist/cjs/model/ModelPart.d.ts +0 -23
- package/dist/cjs/model/ModelPart.js +0 -3
- package/dist/cjs/model/ModelPart.js.map +0 -1
- package/dist/cjs/model/block/Block.d.ts +0 -6
- package/dist/cjs/model/block/Block.js +0 -3
- package/dist/cjs/model/block/Block.js.map +0 -1
- package/dist/cjs/model/block/BlockState.d.ts +0 -23
- package/dist/cjs/model/block/BlockState.js +0 -3
- package/dist/cjs/model/block/BlockState.js.map +0 -1
- package/dist/cjs/model/block/BlockStateProperties.d.ts +0 -13
- package/dist/cjs/model/block/BlockStateProperties.js +0 -3
- package/dist/cjs/model/block/BlockStateProperties.js.map +0 -1
- package/dist/cjs/model/block/scene/BlockObject.d.ts +0 -46
- package/dist/cjs/model/block/scene/BlockObject.js +0 -468
- package/dist/cjs/model/block/scene/BlockObject.js.map +0 -1
- package/dist/cjs/model/defaultBlockStates.json +0 -12337
- package/dist/cjs/model/multiblock/MultiBlockStructure.d.ts +0 -9
- package/dist/cjs/model/multiblock/MultiBlockStructure.js +0 -3
- package/dist/cjs/model/multiblock/MultiBlockStructure.js.map +0 -1
- package/dist/cjs/model/multiblock/SchematicParser.d.ts +0 -4
- package/dist/cjs/model/multiblock/SchematicParser.js +0 -23
- package/dist/cjs/model/multiblock/SchematicParser.js.map +0 -1
- package/dist/cjs/model/multiblock/StructureParser.d.ts +0 -70
- package/dist/cjs/model/multiblock/StructureParser.js +0 -52
- package/dist/cjs/model/multiblock/StructureParser.js.map +0 -1
- package/dist/cjs/model/scene/ModelObject.d.ts +0 -25
- package/dist/cjs/model/scene/ModelObject.js +0 -163
- package/dist/cjs/model/scene/ModelObject.js.map +0 -1
- package/dist/cjs/nbt/NBTHelper.d.ts +0 -8
- package/dist/cjs/nbt/NBTHelper.js +0 -42
- package/dist/cjs/nbt/NBTHelper.js.map +0 -1
- package/dist/cjs/renderer/MineRenderScene.d.ts +0 -35
- package/dist/cjs/renderer/MineRenderScene.js +0 -132
- package/dist/cjs/renderer/MineRenderScene.js.map +0 -1
- package/dist/cjs/renderer/Renderer.d.ts +0 -83
- package/dist/cjs/renderer/Renderer.js +0 -267
- package/dist/cjs/renderer/Renderer.js.map +0 -1
- package/dist/cjs/renderer/SceneObject.d.ts +0 -81
- package/dist/cjs/renderer/SceneObject.js +0 -400
- package/dist/cjs/renderer/SceneObject.js.map +0 -1
- package/dist/cjs/renderer/SceneObjectOptions.d.ts +0 -6
- package/dist/cjs/renderer/SceneObjectOptions.js +0 -3
- package/dist/cjs/renderer/SceneObjectOptions.js.map +0 -1
- package/dist/cjs/request/Requests.d.ts +0 -12
- package/dist/cjs/request/Requests.js +0 -39
- package/dist/cjs/request/Requests.js.map +0 -1
- package/dist/cjs/skin/SkinGeometries.d.ts +0 -5
- package/dist/cjs/skin/SkinGeometries.js +0 -39
- package/dist/cjs/skin/SkinGeometries.js.map +0 -1
- package/dist/cjs/skin/SkinPart.d.ts +0 -16
- package/dist/cjs/skin/SkinPart.js +0 -21
- package/dist/cjs/skin/SkinPart.js.map +0 -1
- package/dist/cjs/skin/SkinTextureCoordinates.d.ts +0 -5
- package/dist/cjs/skin/SkinTextureCoordinates.js +0 -751
- package/dist/cjs/skin/SkinTextureCoordinates.js.map +0 -1
- package/dist/cjs/skin/Skins.d.ts +0 -17
- package/dist/cjs/skin/Skins.js +0 -168
- package/dist/cjs/skin/Skins.js.map +0 -1
- package/dist/cjs/skin/scene/SkinObject.d.ts +0 -21
- package/dist/cjs/skin/scene/SkinObject.js +0 -119
- package/dist/cjs/skin/scene/SkinObject.js.map +0 -1
- package/dist/cjs/texture/TextureAtlas.d.ts +0 -29
- package/dist/cjs/texture/TextureAtlas.js +0 -26
- package/dist/cjs/texture/TextureAtlas.js.map +0 -1
- package/dist/cjs/texture/TextureLoader.d.ts +0 -6
- package/dist/cjs/texture/TextureLoader.js +0 -34
- package/dist/cjs/texture/TextureLoader.js.map +0 -1
- package/dist/cjs/texture/Textures.d.ts +0 -10
- package/dist/cjs/texture/Textures.js +0 -52
- package/dist/cjs/texture/Textures.js.map +0 -1
- package/dist/cjs/three/BufferGeometryUtils.d.ts +0 -44
- package/dist/cjs/three/BufferGeometryUtils.js +0 -554
- package/dist/cjs/three/BufferGeometryUtils.js.map +0 -1
- package/dist/cjs/three/OrbitControls.d.ts +0 -59
- package/dist/cjs/three/OrbitControls.js +0 -790
- package/dist/cjs/three/OrbitControls.js.map +0 -1
- package/dist/cjs/util/BatchedExecutor.d.ts +0 -12
- package/dist/cjs/util/BatchedExecutor.js +0 -26
- package/dist/cjs/util/BatchedExecutor.js.map +0 -1
- package/dist/cjs/util/log.d.ts +0 -1
- package/dist/cjs/util/log.js +0 -32
- package/dist/cjs/util/log.js.map +0 -1
- package/dist/cjs/util/model.d.ts +0 -11
- package/dist/cjs/util/model.js +0 -182
- package/dist/cjs/util/model.js.map +0 -1
- package/dist/cjs/util/performance.d.ts +0 -3
- package/dist/cjs/util/performance.js +0 -19
- package/dist/cjs/util/performance.js.map +0 -1
- package/dist/cjs/util/three.d.ts +0 -8
- package/dist/cjs/util/three.js +0 -28
- package/dist/cjs/util/three.js.map +0 -1
- package/dist/cjs/util/util.d.ts +0 -19
- package/dist/cjs/util/util.js +0 -143
- package/dist/cjs/util/util.js.map +0 -1
- package/dist/cjs/world/BlockInfo.d.ts +0 -6
- package/dist/cjs/world/BlockInfo.js +0 -3
- package/dist/cjs/world/BlockInfo.js.map +0 -1
- package/dist/cjs/world/Chunk.d.ts +0 -33
- package/dist/cjs/world/Chunk.js +0 -132
- package/dist/cjs/world/Chunk.js.map +0 -1
- package/dist/cjs/world/MineRenderWorld.d.ts +0 -31
- package/dist/cjs/world/MineRenderWorld.js +0 -133
- package/dist/cjs/world/MineRenderWorld.js.map +0 -1
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Block } from "../model/block/Block";
|
|
2
|
-
import { Vector3 } from "three";
|
|
3
|
-
import { Maybe } from "../util/util";
|
|
4
|
-
import { BlockInfo } from "./BlockInfo";
|
|
5
|
-
import { MineRenderScene } from "../renderer/MineRenderScene";
|
|
6
|
-
import { TripleArray } from "../model/Model";
|
|
7
|
-
export declare class Chunk {
|
|
8
|
-
readonly scene: MineRenderScene;
|
|
9
|
-
readonly x: number;
|
|
10
|
-
readonly y: number;
|
|
11
|
-
readonly z: number;
|
|
12
|
-
private readonly _blocks;
|
|
13
|
-
private readonly _anchor;
|
|
14
|
-
constructor(scene: MineRenderScene, x: number, y: number, z: number);
|
|
15
|
-
getBlockAt(x: number, y: number, z: number): Maybe<BlockInfo>;
|
|
16
|
-
getBlockAt(pos: Vector3): Maybe<BlockInfo>;
|
|
17
|
-
getBlockAt(pos: TripleArray): Maybe<BlockInfo>;
|
|
18
|
-
/**
|
|
19
|
-
* Set block at a _world_ position
|
|
20
|
-
*/
|
|
21
|
-
setBlockAt(x: number, y: number, z: number, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
|
|
22
|
-
setBlockAt(pos: Vector3, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
|
|
23
|
-
setBlockAt(pos: TripleArray, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
|
|
24
|
-
/**
|
|
25
|
-
* Set block at a _chunk_ position (0-16)
|
|
26
|
-
*/
|
|
27
|
-
setBlockInChunkAt(pos: Vector3, block?: Block, worldPos?: Vector3): Promise<Maybe<BlockInfo>>;
|
|
28
|
-
clear(): Promise<void>;
|
|
29
|
-
dispose(): Promise<void>;
|
|
30
|
-
static chunkPosToBlockIndex(pos: Vector3): number;
|
|
31
|
-
worldPosToChunkPos(pos: Vector3): Vector3;
|
|
32
|
-
chunkPosToWorldPos(pos: Vector3): Vector3;
|
|
33
|
-
}
|
package/dist/cjs/world/Chunk.js
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Chunk = void 0;
|
|
13
|
-
const three_1 = require("three");
|
|
14
|
-
const BlockStates_1 = require("../assets/BlockStates");
|
|
15
|
-
const AssetKey_1 = require("../assets/AssetKey");
|
|
16
|
-
const MineRenderWorld_1 = require("./MineRenderWorld");
|
|
17
|
-
const Model_1 = require("../model/Model");
|
|
18
|
-
const model_1 = require("../util/model");
|
|
19
|
-
const log_1 = require("../util/log");
|
|
20
|
-
const p = log_1.prefix("Chunk");
|
|
21
|
-
class Chunk {
|
|
22
|
-
constructor(scene, x, y, z) {
|
|
23
|
-
this._blocks = [];
|
|
24
|
-
this.scene = scene;
|
|
25
|
-
this.x = x;
|
|
26
|
-
this.y = y;
|
|
27
|
-
this.z = z;
|
|
28
|
-
//TODO: option to visualize chunks
|
|
29
|
-
let anchor = new three_1.Object3D();
|
|
30
|
-
this._anchor = anchor;
|
|
31
|
-
scene.add(anchor);
|
|
32
|
-
anchor.position.set((this.x * 256) + 128 - 8, (this.y * 256) + 128 - 8, (this.z * 256) + 128 - 8);
|
|
33
|
-
model_1.addBox3WireframeToObject(new three_1.Box3(new three_1.Vector3(0, 0, 0), new three_1.Vector3(256, 256, 256)), anchor, 0xffff00, 4);
|
|
34
|
-
}
|
|
35
|
-
getBlockAt(posOrX, y, z) {
|
|
36
|
-
if (typeof posOrX == "number") {
|
|
37
|
-
return this.getBlockAt(new three_1.Vector3(posOrX, y, z));
|
|
38
|
-
}
|
|
39
|
-
if (Model_1.isTripleArray(posOrX)) {
|
|
40
|
-
return this.getBlockAt(new three_1.Vector3(posOrX[0], posOrX[1], posOrX[2]));
|
|
41
|
-
}
|
|
42
|
-
const pos = this.worldPosToChunkPos(posOrX);
|
|
43
|
-
const index = Chunk.chunkPosToBlockIndex(pos);
|
|
44
|
-
return this._blocks[index];
|
|
45
|
-
}
|
|
46
|
-
setBlockAt(posOrX, yOrBlock, z, block) {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
if (typeof posOrX == "number") {
|
|
49
|
-
return this.setBlockAt(new three_1.Vector3(posOrX, yOrBlock, z), block);
|
|
50
|
-
}
|
|
51
|
-
if (Model_1.isTripleArray(posOrX)) {
|
|
52
|
-
return this.setBlockAt(new three_1.Vector3(posOrX[0], posOrX[1], posOrX[2]), yOrBlock);
|
|
53
|
-
}
|
|
54
|
-
const worldPos = posOrX;
|
|
55
|
-
const pos = this.worldPosToChunkPos(worldPos);
|
|
56
|
-
block = yOrBlock;
|
|
57
|
-
return this.setBlockInChunkAt(pos, block, worldPos);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Set block at a _chunk_ position (0-16)
|
|
62
|
-
*/
|
|
63
|
-
setBlockInChunkAt(pos, block, worldPos) {
|
|
64
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
-
if (typeof worldPos === "undefined") {
|
|
66
|
-
worldPos = this.chunkPosToWorldPos(pos);
|
|
67
|
-
}
|
|
68
|
-
const index = Chunk.chunkPosToBlockIndex(pos);
|
|
69
|
-
const current = this._blocks[index];
|
|
70
|
-
if (typeof current !== "undefined") {
|
|
71
|
-
console.debug(p, "deleting existing block at", pos, worldPos, index);
|
|
72
|
-
// current.object.setScale(new Vector3(0, 0, 0));//TODO
|
|
73
|
-
current.object.removeFromScene();
|
|
74
|
-
delete this._blocks[index];
|
|
75
|
-
}
|
|
76
|
-
if (typeof block === "undefined" || typeof block.type === "undefined" || block.type === "air")
|
|
77
|
-
return undefined; // only delete block
|
|
78
|
-
const blockState = yield BlockStates_1.BlockStates.get(AssetKey_1.AssetKey.parse("blockstates", block.type));
|
|
79
|
-
if (blockState) {
|
|
80
|
-
const blockObject = yield this.scene.addBlock(blockState, {
|
|
81
|
-
mergeMeshes: true,
|
|
82
|
-
instanceMeshes: true,
|
|
83
|
-
wireframe: true,
|
|
84
|
-
maxInstanceCount: 2000 //TODO: setting this to high kills FPS; increase on demand somehow?
|
|
85
|
-
}); //TODO
|
|
86
|
-
if (block.properties) {
|
|
87
|
-
yield blockObject.setState(block.properties);
|
|
88
|
-
}
|
|
89
|
-
const scenePos = MineRenderWorld_1.MineRenderWorld.worldToScenePosition(worldPos);
|
|
90
|
-
blockObject.setPosition(scenePos);
|
|
91
|
-
this._blocks[index] = {
|
|
92
|
-
block: block,
|
|
93
|
-
object: blockObject
|
|
94
|
-
};
|
|
95
|
-
return this._blocks[index];
|
|
96
|
-
}
|
|
97
|
-
return undefined;
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
clear() {
|
|
101
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
let promises = [];
|
|
103
|
-
let pos = new three_1.Vector3();
|
|
104
|
-
for (let x = 0; x < 16; x++) {
|
|
105
|
-
for (let z = 0; z < 16; z++) {
|
|
106
|
-
for (let y = 0; y < 16; y++) {
|
|
107
|
-
promises.push(this.setBlockInChunkAt(pos.set(x, y, z), undefined));
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return Promise.all(promises).then(ignored => {
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
dispose() {
|
|
116
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
-
yield this.clear();
|
|
118
|
-
this.scene.remove(this._anchor);
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
static chunkPosToBlockIndex(pos) {
|
|
122
|
-
return (pos.y * 16 * 16) + (pos.z * 16) + pos.x;
|
|
123
|
-
}
|
|
124
|
-
worldPosToChunkPos(pos) {
|
|
125
|
-
return new three_1.Vector3(pos.x - (this.x * 16), pos.y - (this.y * 16), pos.z - (this.z * 16));
|
|
126
|
-
}
|
|
127
|
-
chunkPosToWorldPos(pos) {
|
|
128
|
-
return new three_1.Vector3((this.x * 16) + pos.x, (this.y * 16) + pos.y, (this.z * 16) + pos.z);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
exports.Chunk = Chunk;
|
|
132
|
-
//# sourceMappingURL=Chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chunk.js","sourceRoot":"src/","sources":["world/Chunk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { MineRenderScene } from "../renderer/MineRenderScene";
|
|
2
|
-
import { Block } from "../model/block/Block";
|
|
3
|
-
import { Vector3 } from "three";
|
|
4
|
-
import { TripleArray } from "../model/Model";
|
|
5
|
-
import { Maybe } from "../util/util";
|
|
6
|
-
import { Chunk } from "./Chunk";
|
|
7
|
-
import { BlockInfo } from "./BlockInfo";
|
|
8
|
-
import { MultiBlockStructure } from "../model/multiblock/MultiBlockStructure";
|
|
9
|
-
import { BatchedExecutor } from "../util/BatchedExecutor";
|
|
10
|
-
export declare class MineRenderWorld {
|
|
11
|
-
readonly scene: MineRenderScene;
|
|
12
|
-
private _size;
|
|
13
|
-
private _blockSize;
|
|
14
|
-
private readonly _chunks;
|
|
15
|
-
constructor(scene: MineRenderScene);
|
|
16
|
-
getBlockAt(x: number, y: number, z: number): Maybe<BlockInfo>;
|
|
17
|
-
getBlockAt(pos: Vector3): Maybe<BlockInfo>;
|
|
18
|
-
getBlockAt(pos: TripleArray): Maybe<BlockInfo>;
|
|
19
|
-
setBlockAt(x: number, y: number, z: number, block: Block): Promise<Maybe<BlockInfo>>;
|
|
20
|
-
setBlockAt(pos: Vector3, block: Block): Promise<Maybe<BlockInfo>>;
|
|
21
|
-
setBlockAt(pos: TripleArray, block: Block): Promise<Maybe<BlockInfo>>;
|
|
22
|
-
placeMultiBlock(multiblock: MultiBlockStructure, useBatches?: boolean, executor?: BatchedExecutor): Promise<void>;
|
|
23
|
-
clear(): Promise<void>;
|
|
24
|
-
private getOrCreateChunkAt;
|
|
25
|
-
getChunkAt(pos: Vector3): Maybe<Chunk>;
|
|
26
|
-
static worldToScenePosition(pos: Vector3): Vector3;
|
|
27
|
-
static sceneToWorldPosition(pos: Vector3): Vector3;
|
|
28
|
-
worldPosToChunkIndex(pos: Vector3): number;
|
|
29
|
-
worldPosToChunkKey(pos: Vector3): string;
|
|
30
|
-
validatePosBounds(pos: Vector3): void;
|
|
31
|
-
}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.MineRenderWorld = void 0;
|
|
13
|
-
const three_1 = require("three");
|
|
14
|
-
const Model_1 = require("../model/Model");
|
|
15
|
-
const Chunk_1 = require("./Chunk");
|
|
16
|
-
const BatchedExecutor_1 = require("../util/BatchedExecutor");
|
|
17
|
-
const AssetKey_1 = require("../assets/AssetKey");
|
|
18
|
-
const BlockStates_1 = require("../assets/BlockStates");
|
|
19
|
-
//TODO: maybe make this an Object3D to add children
|
|
20
|
-
class MineRenderWorld {
|
|
21
|
-
constructor(scene) {
|
|
22
|
-
this._size = 4; //TODO: expandable
|
|
23
|
-
this._blockSize = this._size * 16;
|
|
24
|
-
this._chunks = new Map();
|
|
25
|
-
this.scene = scene;
|
|
26
|
-
}
|
|
27
|
-
getBlockAt(posOrX, y, z) {
|
|
28
|
-
if (typeof posOrX == "number") {
|
|
29
|
-
return this.getBlockAt(new three_1.Vector3(posOrX, y, z));
|
|
30
|
-
}
|
|
31
|
-
if (Model_1.isTripleArray(posOrX)) {
|
|
32
|
-
return this.getBlockAt(new three_1.Vector3(posOrX[0], posOrX[1], posOrX[2]));
|
|
33
|
-
}
|
|
34
|
-
const chunk = this.getChunkAt(posOrX);
|
|
35
|
-
if (typeof chunk === "undefined") {
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
this.validatePosBounds(posOrX);
|
|
39
|
-
return chunk.getBlockAt(posOrX);
|
|
40
|
-
}
|
|
41
|
-
setBlockAt(posOrX, yOrBlock, z, block) {
|
|
42
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
if (typeof posOrX == "number") {
|
|
44
|
-
return this.setBlockAt(new three_1.Vector3(posOrX, yOrBlock, z), block);
|
|
45
|
-
}
|
|
46
|
-
if (Model_1.isTripleArray(posOrX)) {
|
|
47
|
-
return this.setBlockAt(new three_1.Vector3(posOrX[0], posOrX[1], posOrX[2]), yOrBlock);
|
|
48
|
-
}
|
|
49
|
-
this.validatePosBounds(posOrX);
|
|
50
|
-
const chunk = this.getOrCreateChunkAt(posOrX);
|
|
51
|
-
return chunk.setBlockAt(posOrX, yOrBlock);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
placeMultiBlock(multiblock, useBatches = true, executor = new BatchedExecutor_1.BatchedExecutor()) {
|
|
55
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
// preload blockstates
|
|
57
|
-
const keys = new Set(multiblock.blocks.map(block => AssetKey_1.AssetKey.parse("blockstates", block.type)));
|
|
58
|
-
yield BlockStates_1.BlockStates.getAll(keys);
|
|
59
|
-
const place = (block) => __awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
if (useBatches && typeof executor !== "undefined") {
|
|
61
|
-
yield new Promise((resolve, reject) => {
|
|
62
|
-
executor.submit(() => {
|
|
63
|
-
this.setBlockAt(block.position, block).then(resolve).catch(reject);
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
yield this.setBlockAt(block.position, block);
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
for (let block of multiblock.blocks) {
|
|
72
|
-
yield place(block);
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
clear() {
|
|
77
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
-
console.log("CHUNKS", this._chunks);
|
|
79
|
-
for (let chunk of this._chunks.values()) {
|
|
80
|
-
console.log("dispose chunk", chunk);
|
|
81
|
-
yield (chunk === null || chunk === void 0 ? void 0 : chunk.dispose());
|
|
82
|
-
}
|
|
83
|
-
this._chunks.clear();
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
getOrCreateChunkAt(pos) {
|
|
87
|
-
const key = this.worldPosToChunkKey(pos);
|
|
88
|
-
let chunk = this._chunks.get(key);
|
|
89
|
-
if (typeof chunk === "undefined") {
|
|
90
|
-
chunk = new Chunk_1.Chunk(this.scene, Math.floor(pos.x / 16), Math.floor(pos.y / 16), Math.floor(pos.z / 16));
|
|
91
|
-
this._chunks.set(key, chunk);
|
|
92
|
-
}
|
|
93
|
-
return chunk;
|
|
94
|
-
}
|
|
95
|
-
getChunkAt(pos) {
|
|
96
|
-
const index = this.worldPosToChunkIndex(pos);
|
|
97
|
-
return this._chunks[index];
|
|
98
|
-
}
|
|
99
|
-
static worldToScenePosition(pos) {
|
|
100
|
-
return new three_1.Vector3(pos.x * 16.0, pos.y * 16.0, pos.z * 16.0);
|
|
101
|
-
}
|
|
102
|
-
static sceneToWorldPosition(pos) {
|
|
103
|
-
return new three_1.Vector3(pos.x / 16.0, pos.y / 16.0, pos.z / 16.0);
|
|
104
|
-
}
|
|
105
|
-
worldPosToChunkIndex(pos) {
|
|
106
|
-
const chunkX = Math.floor(pos.x / 16);
|
|
107
|
-
const chunkY = Math.floor(pos.y / 16);
|
|
108
|
-
const chunkZ = Math.floor(pos.z / 16);
|
|
109
|
-
return (chunkZ * this._size * this._size) + (chunkY * this._size) + chunkX;
|
|
110
|
-
}
|
|
111
|
-
worldPosToChunkKey(pos) {
|
|
112
|
-
const chunkX = Math.floor(pos.x / 16);
|
|
113
|
-
const chunkY = Math.floor(pos.y / 16);
|
|
114
|
-
const chunkZ = Math.floor(pos.z / 16);
|
|
115
|
-
return `${chunkX}_${chunkY}_${chunkZ}`;
|
|
116
|
-
}
|
|
117
|
-
validatePosBounds(pos) {
|
|
118
|
-
if (pos.x < 0)
|
|
119
|
-
throw new Error("x<0");
|
|
120
|
-
if (pos.y < 0)
|
|
121
|
-
throw new Error("y<0");
|
|
122
|
-
if (pos.z < 0)
|
|
123
|
-
throw new Error("z<0");
|
|
124
|
-
if (pos.x > this._blockSize)
|
|
125
|
-
throw new Error("x>" + this._blockSize);
|
|
126
|
-
if (pos.y > this._blockSize)
|
|
127
|
-
throw new Error("y>" + this._blockSize);
|
|
128
|
-
if (pos.z > this._blockSize)
|
|
129
|
-
throw new Error("z>" + this._blockSize);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
exports.MineRenderWorld = MineRenderWorld;
|
|
133
|
-
//# sourceMappingURL=MineRenderWorld.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MineRenderWorld.js","sourceRoot":"src/","sources":["world/MineRenderWorld.ts"],"names":[],"mappings":"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"}
|