minerender 1.4.11 → 2.0.0-alpha.1
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/.esdoc.json +0 -0
- package/.github/FUNDING.yml +0 -0
- package/.github/stale.yml +0 -0
- package/.github/workflows/nodejs.yml +0 -0
- package/.travis.yml +0 -0
- package/CNAME +0 -0
- package/LICENSE +0 -0
- package/README.md +0 -0
- package/build.mjs +20 -0
- package/demo/model/index.html +0 -0
- package/demo/skin/index.html +0 -0
- package/dist/bundle.js +106338 -0
- package/dist/cjs/AnimatorFunction.d.ts +3 -0
- package/dist/cjs/AnimatorFunction.js +3 -0
- package/dist/cjs/AnimatorFunction.js.map +1 -0
- package/dist/cjs/Axis.d.ts +8 -0
- package/dist/cjs/Axis.js +23 -0
- package/dist/cjs/Axis.js.map +1 -0
- package/dist/cjs/CubeFace.d.ts +17 -0
- package/dist/cjs/CubeFace.js +23 -0
- package/dist/cjs/CubeFace.js.map +1 -0
- package/dist/cjs/Disposable.d.ts +4 -0
- package/dist/cjs/Disposable.js +8 -0
- package/dist/cjs/Disposable.js.map +1 -0
- package/dist/cjs/Env.d.ts +2 -0
- package/dist/cjs/Env.js +7 -0
- package/dist/cjs/Env.js.map +1 -0
- package/dist/cjs/ExtractableImageData.d.ts +5 -0
- package/dist/cjs/ExtractableImageData.js +3 -0
- package/dist/cjs/ExtractableImageData.js.map +1 -0
- package/dist/cjs/Geometries.d.ts +6 -0
- package/dist/cjs/Geometries.js +92 -0
- package/dist/cjs/Geometries.js.map +1 -0
- package/dist/cjs/ListAsset.d.ts +5 -0
- package/dist/cjs/ListAsset.js +3 -0
- package/dist/cjs/ListAsset.js.map +1 -0
- package/dist/cjs/Materials.d.ts +9 -0
- package/dist/cjs/Materials.js +151 -0
- package/dist/cjs/Materials.js.map +1 -0
- package/dist/cjs/Meshes.d.ts +6 -0
- package/dist/cjs/Meshes.js +21 -0
- package/dist/cjs/Meshes.js.map +1 -0
- package/dist/cjs/MinecraftAsset.d.ts +7 -0
- package/dist/cjs/MinecraftAsset.js +3 -0
- package/dist/cjs/MinecraftAsset.js.map +1 -0
- package/dist/cjs/MinecraftCubeTexture.d.ts +26 -0
- package/dist/cjs/MinecraftCubeTexture.js +104 -0
- package/dist/cjs/MinecraftCubeTexture.js.map +1 -0
- package/dist/cjs/MinecraftTextureMeta.d.ts +15 -0
- package/dist/cjs/MinecraftTextureMeta.js +3 -0
- package/dist/cjs/MinecraftTextureMeta.js.map +1 -0
- package/dist/cjs/SceneStats.d.ts +5 -0
- package/dist/cjs/SceneStats.js +12 -0
- package/dist/cjs/SceneStats.js.map +1 -0
- package/dist/cjs/Serializable.d.ts +3 -0
- package/dist/cjs/Serializable.js +3 -0
- package/dist/cjs/Serializable.js.map +1 -0
- package/dist/cjs/Ticker.d.ts +20 -0
- package/dist/cjs/Ticker.js +55 -0
- package/dist/cjs/Ticker.js.map +1 -0
- package/dist/cjs/TintColors.d.ts +1 -0
- package/dist/cjs/TintColors.js +5 -0
- package/dist/cjs/TintColors.js.map +1 -0
- package/dist/cjs/Transformable.d.ts +11 -0
- package/dist/cjs/Transformable.js +8 -0
- package/dist/cjs/Transformable.js.map +1 -0
- package/dist/cjs/UVMapper.d.ts +40 -0
- package/dist/cjs/UVMapper.js +434 -0
- package/dist/cjs/UVMapper.js.map +1 -0
- package/dist/cjs/WrappedImage.d.ts +17 -0
- package/dist/cjs/WrappedImage.js +50 -0
- package/dist/cjs/WrappedImage.js.map +1 -0
- package/dist/cjs/_model/Cube.d.ts +10 -0
- package/dist/cjs/_model/Cube.js +3 -0
- package/dist/cjs/_model/Cube.js.map +1 -0
- package/dist/cjs/_model/Element.d.ts +9 -0
- package/dist/cjs/_model/Element.js +3 -0
- package/dist/cjs/_model/Element.js.map +1 -0
- package/dist/cjs/_model/Face.d.ts +6 -0
- package/dist/cjs/_model/Face.js +3 -0
- package/dist/cjs/_model/Face.js.map +1 -0
- package/dist/cjs/_model/Model.d.ts +4 -0
- package/dist/cjs/_model/Model.js +3 -0
- package/dist/cjs/_model/Model.js.map +1 -0
- package/dist/cjs/assets/AssetKey.d.ts +26 -0
- package/dist/cjs/assets/AssetKey.js +83 -0
- package/dist/cjs/assets/AssetKey.js.map +1 -0
- package/dist/cjs/assets/AssetLoader.d.ts +26 -0
- package/dist/cjs/assets/AssetLoader.js +153 -0
- package/dist/cjs/assets/AssetLoader.js.map +1 -0
- package/dist/cjs/assets/Assets.d.ts +14 -0
- package/dist/cjs/assets/Assets.js +37 -0
- package/dist/cjs/assets/Assets.js.map +1 -0
- package/dist/cjs/assets/BlockStates.d.ts +11 -0
- package/dist/cjs/assets/BlockStates.js +75 -0
- package/dist/cjs/assets/BlockStates.js.map +1 -0
- package/dist/cjs/assets/Entities.d.ts +8 -0
- package/dist/cjs/assets/Entities.js +57 -0
- package/dist/cjs/assets/Entities.js.map +1 -0
- package/dist/cjs/assets/ModelTextures.d.ts +12 -0
- package/dist/cjs/assets/ModelTextures.js +66 -0
- package/dist/cjs/assets/ModelTextures.js.map +1 -0
- package/dist/cjs/assets/Models.d.ts +12 -0
- package/dist/cjs/assets/Models.js +95 -0
- package/dist/cjs/assets/Models.js.map +1 -0
- package/dist/cjs/bedrock/BedrockEntityDescription.d.ts +19 -0
- package/dist/cjs/bedrock/BedrockEntityDescription.js +3 -0
- package/dist/cjs/bedrock/BedrockEntityDescription.js.map +1 -0
- package/dist/cjs/bedrock/BedrockEntityFile.d.ts +7 -0
- package/dist/cjs/bedrock/BedrockEntityFile.js +3 -0
- package/dist/cjs/bedrock/BedrockEntityFile.js.map +1 -0
- package/dist/cjs/bedrock/BedrockGeometry.d.ts +27 -0
- package/dist/cjs/bedrock/BedrockGeometry.js +3 -0
- package/dist/cjs/bedrock/BedrockGeometry.js.map +1 -0
- package/dist/cjs/bedrock/BedrockGeometryFile.d.ts +5 -0
- package/dist/cjs/bedrock/BedrockGeometryFile.js +3 -0
- package/dist/cjs/bedrock/BedrockGeometryFile.js.map +1 -0
- package/dist/cjs/cache/CacheKey.d.ts +28 -0
- package/dist/cjs/cache/CacheKey.js +27 -0
- package/dist/cjs/cache/CacheKey.js.map +1 -0
- package/dist/cjs/cache/Caching.d.ts +29 -0
- package/dist/cjs/cache/Caching.js +93 -0
- package/dist/cjs/cache/Caching.js.map +1 -0
- package/dist/cjs/cache/PersistentCache.d.ts +15 -0
- package/dist/cjs/cache/PersistentCache.js +112 -0
- package/dist/cjs/cache/PersistentCache.js.map +1 -0
- package/dist/cjs/canvas/CanvasCompat.d.ts +5 -0
- package/dist/cjs/canvas/CanvasCompat.js +53 -0
- package/dist/cjs/canvas/CanvasCompat.js.map +1 -0
- package/dist/cjs/canvas/CanvasImage.d.ts +18 -0
- package/dist/cjs/canvas/CanvasImage.js +45 -0
- package/dist/cjs/canvas/CanvasImage.js.map +1 -0
- package/dist/cjs/entity/EntityModel.d.ts +7 -0
- package/dist/cjs/entity/EntityModel.js +3 -0
- package/dist/cjs/entity/EntityModel.js.map +1 -0
- package/dist/cjs/entity/blockEntityModels.json +1401 -0
- package/dist/cjs/entity/entityModels.json +20623 -0
- package/dist/cjs/entity/scene/EntityObject.d.ts +20 -0
- package/dist/cjs/entity/scene/EntityObject.js +131 -0
- package/dist/cjs/entity/scene/EntityObject.js.map +1 -0
- package/dist/cjs/error/MineRenderError.d.ts +4 -0
- package/dist/cjs/error/MineRenderError.js +15 -0
- package/dist/cjs/error/MineRenderError.js.map +1 -0
- package/dist/cjs/gui/scene/GuiObject.d.ts +6 -0
- package/dist/cjs/gui/scene/GuiObject.js +8 -0
- package/dist/cjs/gui/scene/GuiObject.js.map +1 -0
- package/dist/cjs/image/ImageLoader.d.ts +28 -0
- package/dist/cjs/image/ImageLoader.js +166 -0
- package/dist/cjs/image/ImageLoader.js.map +1 -0
- package/dist/cjs/index.d.ts +28 -0
- package/dist/cjs/index.js +43 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/inspector/SceneInspector.d.ts +27 -0
- package/dist/cjs/inspector/SceneInspector.js +366 -0
- package/dist/cjs/inspector/SceneInspector.js.map +1 -0
- package/dist/cjs/inspector/SceneStats.d.ts +22 -0
- package/dist/cjs/inspector/SceneStats.js +53 -0
- package/dist/cjs/inspector/SceneStats.js.map +1 -0
- package/dist/cjs/instance/InstanceManager.d.ts +14 -0
- package/dist/cjs/instance/InstanceManager.js +58 -0
- package/dist/cjs/instance/InstanceManager.js.map +1 -0
- package/dist/cjs/instance/InstanceReference.d.ts +21 -0
- package/dist/cjs/instance/InstanceReference.js +49 -0
- package/dist/cjs/instance/InstanceReference.js.map +1 -0
- package/dist/cjs/instance/Instanceable.d.ts +16 -0
- package/dist/cjs/instance/Instanceable.js +8 -0
- package/dist/cjs/instance/Instanceable.js.map +1 -0
- package/dist/cjs/lib/OrbitControls.d.ts +64 -0
- package/dist/cjs/lib/OrbitControls.js +658 -0
- package/dist/cjs/lib/OrbitControls.js.map +1 -0
- package/dist/cjs/model/DisplayPosition.d.ts +11 -0
- package/dist/cjs/model/DisplayPosition.js +16 -0
- package/dist/cjs/model/DisplayPosition.js.map +1 -0
- package/dist/cjs/model/ElementFace.d.ts +9 -0
- package/dist/cjs/model/ElementFace.js +3 -0
- package/dist/cjs/model/ElementFace.js.map +1 -0
- package/dist/cjs/model/GuiLight.d.ts +4 -0
- package/dist/cjs/model/GuiLight.js +9 -0
- package/dist/cjs/model/GuiLight.js.map +1 -0
- package/dist/cjs/model/Model.d.ts +46 -0
- package/dist/cjs/model/Model.js +20 -0
- package/dist/cjs/model/Model.js.map +1 -0
- package/dist/cjs/model/ModelElement.d.ts +21 -0
- package/dist/cjs/model/ModelElement.js +3 -0
- package/dist/cjs/model/ModelElement.js.map +1 -0
- package/dist/cjs/model/ModelGenerator.d.ts +6 -0
- package/dist/cjs/model/ModelGenerator.js +27 -0
- package/dist/cjs/model/ModelGenerator.js.map +1 -0
- package/dist/cjs/model/ModelMerger.d.ts +5 -0
- package/dist/cjs/model/ModelMerger.js +51 -0
- package/dist/cjs/model/ModelMerger.js.map +1 -0
- package/dist/cjs/model/ModelPart.d.ts +23 -0
- package/dist/cjs/model/ModelPart.js +3 -0
- package/dist/cjs/model/ModelPart.js.map +1 -0
- package/dist/cjs/model/block/Block.d.ts +6 -0
- package/dist/cjs/model/block/Block.js +3 -0
- package/dist/cjs/model/block/Block.js.map +1 -0
- package/dist/cjs/model/block/BlockState.d.ts +23 -0
- package/dist/cjs/model/block/BlockState.js +3 -0
- package/dist/cjs/model/block/BlockState.js.map +1 -0
- package/dist/cjs/model/block/BlockStateProperties.d.ts +13 -0
- package/dist/cjs/model/block/BlockStateProperties.js +3 -0
- package/dist/cjs/model/block/BlockStateProperties.js.map +1 -0
- package/dist/cjs/model/block/scene/BlockObject.d.ts +46 -0
- package/dist/cjs/model/block/scene/BlockObject.js +468 -0
- package/dist/cjs/model/block/scene/BlockObject.js.map +1 -0
- package/dist/cjs/model/defaultBlockStates.json +12337 -0
- package/dist/cjs/model/multiblock/MultiBlockStructure.d.ts +9 -0
- package/dist/cjs/model/multiblock/MultiBlockStructure.js +3 -0
- package/dist/cjs/model/multiblock/MultiBlockStructure.js.map +1 -0
- package/dist/cjs/model/multiblock/SchematicParser.d.ts +4 -0
- package/dist/cjs/model/multiblock/SchematicParser.js +23 -0
- package/dist/cjs/model/multiblock/SchematicParser.js.map +1 -0
- package/dist/cjs/model/multiblock/StructureParser.d.ts +70 -0
- package/dist/cjs/model/multiblock/StructureParser.js +52 -0
- package/dist/cjs/model/multiblock/StructureParser.js.map +1 -0
- package/dist/cjs/model/scene/ModelObject.d.ts +25 -0
- package/dist/cjs/model/scene/ModelObject.js +163 -0
- package/dist/cjs/model/scene/ModelObject.js.map +1 -0
- package/dist/cjs/nbt/NBTHelper.d.ts +8 -0
- package/dist/cjs/nbt/NBTHelper.js +42 -0
- package/dist/cjs/nbt/NBTHelper.js.map +1 -0
- package/dist/cjs/renderer/MineRenderScene.d.ts +35 -0
- package/dist/cjs/renderer/MineRenderScene.js +132 -0
- package/dist/cjs/renderer/MineRenderScene.js.map +1 -0
- package/dist/cjs/renderer/Renderer.d.ts +83 -0
- package/dist/cjs/renderer/Renderer.js +267 -0
- package/dist/cjs/renderer/Renderer.js.map +1 -0
- package/dist/cjs/renderer/SceneObject.d.ts +81 -0
- package/dist/cjs/renderer/SceneObject.js +400 -0
- package/dist/cjs/renderer/SceneObject.js.map +1 -0
- package/dist/cjs/renderer/SceneObjectOptions.d.ts +6 -0
- package/dist/cjs/renderer/SceneObjectOptions.js +3 -0
- package/dist/cjs/renderer/SceneObjectOptions.js.map +1 -0
- package/dist/cjs/request/Requests.d.ts +12 -0
- package/dist/cjs/request/Requests.js +39 -0
- package/dist/cjs/request/Requests.js.map +1 -0
- package/dist/cjs/skin/SkinGeometries.d.ts +5 -0
- package/dist/cjs/skin/SkinGeometries.js +39 -0
- package/dist/cjs/skin/SkinGeometries.js.map +1 -0
- package/dist/cjs/skin/SkinPart.d.ts +16 -0
- package/dist/cjs/skin/SkinPart.js +21 -0
- package/dist/cjs/skin/SkinPart.js.map +1 -0
- package/dist/cjs/skin/SkinTextureCoordinates.d.ts +5 -0
- package/dist/cjs/skin/SkinTextureCoordinates.js +751 -0
- package/dist/cjs/skin/SkinTextureCoordinates.js.map +1 -0
- package/dist/cjs/skin/Skins.d.ts +17 -0
- package/dist/cjs/skin/Skins.js +168 -0
- package/dist/cjs/skin/Skins.js.map +1 -0
- package/dist/cjs/skin/scene/SkinObject.d.ts +21 -0
- package/dist/cjs/skin/scene/SkinObject.js +119 -0
- package/dist/cjs/skin/scene/SkinObject.js.map +1 -0
- package/dist/cjs/texture/TextureAtlas.d.ts +29 -0
- package/dist/cjs/texture/TextureAtlas.js +26 -0
- package/dist/cjs/texture/TextureAtlas.js.map +1 -0
- package/dist/cjs/texture/TextureLoader.d.ts +6 -0
- package/dist/cjs/texture/TextureLoader.js +34 -0
- package/dist/cjs/texture/TextureLoader.js.map +1 -0
- package/dist/cjs/texture/Textures.d.ts +10 -0
- package/dist/cjs/texture/Textures.js +52 -0
- package/dist/cjs/texture/Textures.js.map +1 -0
- package/dist/cjs/three/BufferGeometryUtils.d.ts +44 -0
- package/dist/cjs/three/BufferGeometryUtils.js +554 -0
- package/dist/cjs/three/BufferGeometryUtils.js.map +1 -0
- package/dist/cjs/three/OrbitControls.d.ts +59 -0
- package/dist/cjs/three/OrbitControls.js +790 -0
- package/dist/cjs/three/OrbitControls.js.map +1 -0
- package/dist/cjs/util/BatchedExecutor.d.ts +12 -0
- package/dist/cjs/util/BatchedExecutor.js +26 -0
- package/dist/cjs/util/BatchedExecutor.js.map +1 -0
- package/dist/cjs/util/log.d.ts +1 -0
- package/dist/cjs/util/log.js +32 -0
- package/dist/cjs/util/log.js.map +1 -0
- package/dist/cjs/util/model.d.ts +11 -0
- package/dist/cjs/util/model.js +182 -0
- package/dist/cjs/util/model.js.map +1 -0
- package/dist/cjs/util/performance.d.ts +3 -0
- package/dist/cjs/util/performance.js +19 -0
- package/dist/cjs/util/performance.js.map +1 -0
- package/dist/cjs/util/three.d.ts +8 -0
- package/dist/cjs/util/three.js +28 -0
- package/dist/cjs/util/three.js.map +1 -0
- package/dist/cjs/util/util.d.ts +19 -0
- package/dist/cjs/util/util.js +143 -0
- package/dist/cjs/util/util.js.map +1 -0
- package/dist/cjs/world/BlockInfo.d.ts +6 -0
- package/dist/cjs/world/BlockInfo.js +3 -0
- package/dist/cjs/world/BlockInfo.js.map +1 -0
- package/dist/cjs/world/Chunk.d.ts +33 -0
- package/dist/cjs/world/Chunk.js +132 -0
- package/dist/cjs/world/Chunk.js.map +1 -0
- package/dist/cjs/world/MineRenderWorld.d.ts +31 -0
- package/dist/cjs/world/MineRenderWorld.js +133 -0
- package/dist/cjs/world/MineRenderWorld.js.map +1 -0
- package/dist/esm/AnimatorFunction.d.ts +3 -0
- package/dist/esm/AnimatorFunction.js +2 -0
- package/dist/esm/AnimatorFunction.js.map +1 -0
- package/dist/esm/Axis.d.ts +8 -0
- package/dist/esm/Axis.js +19 -0
- package/dist/esm/Axis.js.map +1 -0
- package/dist/esm/CubeFace.d.ts +17 -0
- package/dist/esm/CubeFace.js +20 -0
- package/dist/esm/CubeFace.js.map +1 -0
- package/dist/esm/Disposable.d.ts +4 -0
- package/dist/esm/Disposable.js +4 -0
- package/dist/esm/Disposable.js.map +1 -0
- package/dist/esm/Env.d.ts +2 -0
- package/dist/esm/Env.js +3 -0
- package/dist/esm/Env.js.map +1 -0
- package/dist/esm/ExtractableImageData.d.ts +5 -0
- package/dist/esm/ExtractableImageData.js +2 -0
- package/dist/esm/ExtractableImageData.js.map +1 -0
- package/dist/esm/Geometries.d.ts +6 -0
- package/dist/esm/Geometries.js +88 -0
- package/dist/esm/Geometries.js.map +1 -0
- package/dist/esm/ListAsset.d.ts +5 -0
- package/dist/esm/ListAsset.js +2 -0
- package/dist/esm/ListAsset.js.map +1 -0
- package/dist/esm/Materials.d.ts +9 -0
- package/dist/esm/Materials.js +147 -0
- package/dist/esm/Materials.js.map +1 -0
- package/dist/esm/Meshes.d.ts +6 -0
- package/dist/esm/Meshes.js +17 -0
- package/dist/esm/Meshes.js.map +1 -0
- package/dist/esm/MinecraftAsset.d.ts +7 -0
- package/dist/esm/MinecraftAsset.js +2 -0
- package/dist/esm/MinecraftAsset.js.map +1 -0
- package/dist/esm/MinecraftCubeTexture.d.ts +26 -0
- package/dist/esm/MinecraftCubeTexture.js +100 -0
- package/dist/esm/MinecraftCubeTexture.js.map +1 -0
- package/dist/esm/MinecraftTextureMeta.d.ts +15 -0
- package/dist/esm/MinecraftTextureMeta.js +2 -0
- package/dist/esm/MinecraftTextureMeta.js.map +1 -0
- package/dist/esm/SceneStats.d.ts +5 -0
- package/dist/esm/SceneStats.js +8 -0
- package/dist/esm/SceneStats.js.map +1 -0
- package/dist/esm/Serializable.d.ts +3 -0
- package/dist/esm/Serializable.js +2 -0
- package/dist/esm/Serializable.js.map +1 -0
- package/dist/esm/Ticker.d.ts +20 -0
- package/dist/esm/Ticker.js +51 -0
- package/dist/esm/Ticker.js.map +1 -0
- package/dist/esm/TintColors.d.ts +1 -0
- package/dist/esm/TintColors.js +2 -0
- package/dist/esm/TintColors.js.map +1 -0
- package/dist/esm/Transformable.d.ts +11 -0
- package/dist/esm/Transformable.js +4 -0
- package/dist/esm/Transformable.js.map +1 -0
- package/dist/esm/UVMapper.d.ts +40 -0
- package/dist/esm/UVMapper.js +429 -0
- package/dist/esm/UVMapper.js.map +1 -0
- package/dist/esm/WrappedImage.d.ts +17 -0
- package/dist/esm/WrappedImage.js +46 -0
- package/dist/esm/WrappedImage.js.map +1 -0
- package/dist/esm/_model/Cube.d.ts +10 -0
- package/dist/esm/_model/Cube.js +2 -0
- package/dist/esm/_model/Cube.js.map +1 -0
- package/dist/esm/_model/Element.d.ts +9 -0
- package/dist/esm/_model/Element.js +2 -0
- package/dist/esm/_model/Element.js.map +1 -0
- package/dist/esm/_model/Face.d.ts +6 -0
- package/dist/esm/_model/Face.js +2 -0
- package/dist/esm/_model/Face.js.map +1 -0
- package/dist/esm/_model/Model.d.ts +4 -0
- package/dist/esm/_model/Model.js +2 -0
- package/dist/esm/_model/Model.js.map +1 -0
- package/dist/esm/assets/AssetKey.d.ts +26 -0
- package/dist/esm/assets/AssetKey.js +76 -0
- package/dist/esm/assets/AssetKey.js.map +1 -0
- package/dist/esm/assets/AssetLoader.d.ts +26 -0
- package/dist/esm/assets/AssetLoader.js +149 -0
- package/dist/esm/assets/AssetLoader.js.map +1 -0
- package/dist/esm/assets/Assets.d.ts +14 -0
- package/dist/esm/assets/Assets.js +33 -0
- package/dist/esm/assets/Assets.js.map +1 -0
- package/dist/esm/assets/BlockStates.d.ts +11 -0
- package/dist/esm/assets/BlockStates.js +68 -0
- package/dist/esm/assets/BlockStates.js.map +1 -0
- package/dist/esm/assets/Entities.d.ts +8 -0
- package/dist/esm/assets/Entities.js +50 -0
- package/dist/esm/assets/Entities.js.map +1 -0
- package/dist/esm/assets/ModelTextures.d.ts +12 -0
- package/dist/esm/assets/ModelTextures.js +62 -0
- package/dist/esm/assets/ModelTextures.js.map +1 -0
- package/dist/esm/assets/Models.d.ts +12 -0
- package/dist/esm/assets/Models.js +91 -0
- package/dist/esm/assets/Models.js.map +1 -0
- package/dist/esm/bedrock/BedrockEntityDescription.d.ts +19 -0
- package/dist/esm/bedrock/BedrockEntityDescription.js +2 -0
- package/dist/esm/bedrock/BedrockEntityDescription.js.map +1 -0
- package/dist/esm/bedrock/BedrockEntityFile.d.ts +7 -0
- package/dist/esm/bedrock/BedrockEntityFile.js +2 -0
- package/dist/esm/bedrock/BedrockEntityFile.js.map +1 -0
- package/dist/esm/bedrock/BedrockGeometry.d.ts +27 -0
- package/dist/esm/bedrock/BedrockGeometry.js +2 -0
- package/dist/esm/bedrock/BedrockGeometry.js.map +1 -0
- package/dist/esm/bedrock/BedrockGeometryFile.d.ts +5 -0
- package/dist/esm/bedrock/BedrockGeometryFile.js +2 -0
- package/dist/esm/bedrock/BedrockGeometryFile.js.map +1 -0
- package/dist/esm/cache/CacheKey.d.ts +28 -0
- package/dist/esm/cache/CacheKey.js +19 -0
- package/dist/esm/cache/CacheKey.js.map +1 -0
- package/dist/esm/cache/Caching.d.ts +29 -0
- package/dist/esm/cache/Caching.js +89 -0
- package/dist/esm/cache/Caching.js.map +1 -0
- package/dist/esm/cache/PersistentCache.d.ts +15 -0
- package/dist/esm/cache/PersistentCache.js +105 -0
- package/dist/esm/cache/PersistentCache.js.map +1 -0
- package/dist/esm/canvas/CanvasCompat.d.ts +5 -0
- package/dist/esm/canvas/CanvasCompat.js +29 -0
- package/dist/esm/canvas/CanvasCompat.js.map +1 -0
- package/dist/esm/canvas/CanvasImage.d.ts +18 -0
- package/dist/esm/canvas/CanvasImage.js +41 -0
- package/dist/esm/canvas/CanvasImage.js.map +1 -0
- package/dist/esm/entity/EntityModel.d.ts +7 -0
- package/dist/esm/entity/EntityModel.js +2 -0
- package/dist/esm/entity/EntityModel.js.map +1 -0
- package/dist/esm/entity/blockEntityModels.json +1401 -0
- package/dist/esm/entity/entityModels.json +20623 -0
- package/dist/esm/entity/scene/EntityObject.d.ts +20 -0
- package/dist/esm/entity/scene/EntityObject.js +104 -0
- package/dist/esm/entity/scene/EntityObject.js.map +1 -0
- package/dist/esm/error/MineRenderError.d.ts +4 -0
- package/dist/esm/error/MineRenderError.js +11 -0
- package/dist/esm/error/MineRenderError.js.map +1 -0
- package/dist/esm/gui/scene/GuiObject.d.ts +6 -0
- package/dist/esm/gui/scene/GuiObject.js +4 -0
- package/dist/esm/gui/scene/GuiObject.js.map +1 -0
- package/dist/esm/image/ImageLoader.d.ts +28 -0
- package/dist/esm/image/ImageLoader.js +159 -0
- package/dist/esm/image/ImageLoader.js.map +1 -0
- package/dist/esm/index.d.ts +28 -0
- package/dist/esm/index.js +31 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/inspector/SceneInspector.d.ts +27 -0
- package/dist/esm/inspector/SceneInspector.js +362 -0
- package/dist/esm/inspector/SceneInspector.js.map +1 -0
- package/dist/esm/inspector/SceneStats.d.ts +22 -0
- package/dist/esm/inspector/SceneStats.js +49 -0
- package/dist/esm/inspector/SceneStats.js.map +1 -0
- package/dist/esm/instance/InstanceManager.d.ts +14 -0
- package/dist/esm/instance/InstanceManager.js +53 -0
- package/dist/esm/instance/InstanceManager.js.map +1 -0
- package/dist/esm/instance/InstanceReference.d.ts +21 -0
- package/dist/esm/instance/InstanceReference.js +44 -0
- package/dist/esm/instance/InstanceReference.js.map +1 -0
- package/dist/esm/instance/Instanceable.d.ts +16 -0
- package/dist/esm/instance/Instanceable.js +4 -0
- package/dist/esm/instance/Instanceable.js.map +1 -0
- package/dist/esm/lib/OrbitControls.d.ts +64 -0
- package/dist/esm/lib/OrbitControls.js +636 -0
- package/dist/esm/lib/OrbitControls.js.map +1 -0
- package/dist/esm/model/DisplayPosition.d.ts +11 -0
- package/dist/esm/model/DisplayPosition.js +13 -0
- package/dist/esm/model/DisplayPosition.js.map +1 -0
- package/dist/esm/model/ElementFace.d.ts +9 -0
- package/dist/esm/model/ElementFace.js +2 -0
- package/dist/esm/model/ElementFace.js.map +1 -0
- package/dist/esm/model/GuiLight.d.ts +4 -0
- package/dist/esm/model/GuiLight.js +6 -0
- package/dist/esm/model/GuiLight.js.map +1 -0
- package/dist/esm/model/Model.d.ts +46 -0
- package/dist/esm/model/Model.js +14 -0
- package/dist/esm/model/Model.js.map +1 -0
- package/dist/esm/model/ModelElement.d.ts +21 -0
- package/dist/esm/model/ModelElement.js +2 -0
- package/dist/esm/model/ModelElement.js.map +1 -0
- package/dist/esm/model/ModelGenerator.d.ts +6 -0
- package/dist/esm/model/ModelGenerator.js +23 -0
- package/dist/esm/model/ModelGenerator.js.map +1 -0
- package/dist/esm/model/ModelMerger.d.ts +5 -0
- package/dist/esm/model/ModelMerger.js +44 -0
- package/dist/esm/model/ModelMerger.js.map +1 -0
- package/dist/esm/model/ModelPart.d.ts +23 -0
- package/dist/esm/model/ModelPart.js +2 -0
- package/dist/esm/model/ModelPart.js.map +1 -0
- package/dist/esm/model/block/Block.d.ts +6 -0
- package/dist/esm/model/block/Block.js +2 -0
- package/dist/esm/model/block/Block.js.map +1 -0
- package/dist/esm/model/block/BlockState.d.ts +23 -0
- package/dist/esm/model/block/BlockState.js +2 -0
- package/dist/esm/model/block/BlockState.js.map +1 -0
- package/dist/esm/model/block/BlockStateProperties.d.ts +13 -0
- package/dist/esm/model/block/BlockStateProperties.js +2 -0
- package/dist/esm/model/block/BlockStateProperties.js.map +1 -0
- package/dist/esm/model/block/scene/BlockObject.d.ts +46 -0
- package/dist/esm/model/block/scene/BlockObject.js +460 -0
- package/dist/esm/model/block/scene/BlockObject.js.map +1 -0
- package/dist/esm/model/defaultBlockStates.json +12337 -0
- package/dist/esm/model/multiblock/MultiBlockStructure.d.ts +9 -0
- package/dist/esm/model/multiblock/MultiBlockStructure.js +2 -0
- package/dist/esm/model/multiblock/MultiBlockStructure.js.map +1 -0
- package/dist/esm/model/multiblock/SchematicParser.d.ts +4 -0
- package/dist/esm/model/multiblock/SchematicParser.js +19 -0
- package/dist/esm/model/multiblock/SchematicParser.js.map +1 -0
- package/dist/esm/model/multiblock/StructureParser.d.ts +70 -0
- package/dist/esm/model/multiblock/StructureParser.js +48 -0
- package/dist/esm/model/multiblock/StructureParser.js.map +1 -0
- package/dist/esm/model/scene/ModelObject.d.ts +25 -0
- package/dist/esm/model/scene/ModelObject.js +155 -0
- package/dist/esm/model/scene/ModelObject.js.map +1 -0
- package/dist/esm/nbt/NBTHelper.d.ts +8 -0
- package/dist/esm/nbt/NBTHelper.js +19 -0
- package/dist/esm/nbt/NBTHelper.js.map +1 -0
- package/dist/esm/renderer/MineRenderScene.d.ts +35 -0
- package/dist/esm/renderer/MineRenderScene.js +124 -0
- package/dist/esm/renderer/MineRenderScene.js.map +1 -0
- package/dist/esm/renderer/Renderer.d.ts +83 -0
- package/dist/esm/renderer/Renderer.js +260 -0
- package/dist/esm/renderer/Renderer.js.map +1 -0
- package/dist/esm/renderer/SceneObject.d.ts +81 -0
- package/dist/esm/renderer/SceneObject.js +392 -0
- package/dist/esm/renderer/SceneObject.js.map +1 -0
- package/dist/esm/renderer/SceneObjectOptions.d.ts +6 -0
- package/dist/esm/renderer/SceneObjectOptions.js +2 -0
- package/dist/esm/renderer/SceneObjectOptions.js.map +1 -0
- package/dist/esm/request/Requests.d.ts +12 -0
- package/dist/esm/request/Requests.js +32 -0
- package/dist/esm/request/Requests.js.map +1 -0
- package/dist/esm/skin/SkinGeometries.d.ts +5 -0
- package/dist/esm/skin/SkinGeometries.js +33 -0
- package/dist/esm/skin/SkinGeometries.js.map +1 -0
- package/dist/esm/skin/SkinPart.d.ts +16 -0
- package/dist/esm/skin/SkinPart.js +18 -0
- package/dist/esm/skin/SkinPart.js.map +1 -0
- package/dist/esm/skin/SkinTextureCoordinates.d.ts +5 -0
- package/dist/esm/skin/SkinTextureCoordinates.js +748 -0
- package/dist/esm/skin/SkinTextureCoordinates.js.map +1 -0
- package/dist/esm/skin/Skins.d.ts +17 -0
- package/dist/esm/skin/Skins.js +164 -0
- package/dist/esm/skin/Skins.js.map +1 -0
- package/dist/esm/skin/scene/SkinObject.d.ts +21 -0
- package/dist/esm/skin/scene/SkinObject.js +112 -0
- package/dist/esm/skin/scene/SkinObject.js.map +1 -0
- package/dist/esm/texture/TextureAtlas.d.ts +29 -0
- package/dist/esm/texture/TextureAtlas.js +22 -0
- package/dist/esm/texture/TextureAtlas.js.map +1 -0
- package/dist/esm/texture/TextureLoader.d.ts +6 -0
- package/dist/esm/texture/TextureLoader.js +30 -0
- package/dist/esm/texture/TextureLoader.js.map +1 -0
- package/dist/esm/texture/Textures.d.ts +10 -0
- package/dist/esm/texture/Textures.js +29 -0
- package/dist/esm/texture/Textures.js.map +1 -0
- package/dist/esm/three/BufferGeometryUtils.d.ts +44 -0
- package/dist/esm/three/BufferGeometryUtils.js +544 -0
- package/dist/esm/three/BufferGeometryUtils.js.map +1 -0
- package/dist/esm/three/OrbitControls.d.ts +59 -0
- package/dist/esm/three/OrbitControls.js +786 -0
- package/dist/esm/three/OrbitControls.js.map +1 -0
- package/dist/esm/util/BatchedExecutor.d.ts +12 -0
- package/dist/esm/util/BatchedExecutor.js +22 -0
- package/dist/esm/util/BatchedExecutor.js.map +1 -0
- package/dist/esm/util/log.d.ts +1 -0
- package/dist/esm/util/log.js +28 -0
- package/dist/esm/util/log.js.map +1 -0
- package/dist/esm/util/model.d.ts +11 -0
- package/dist/esm/util/model.js +173 -0
- package/dist/esm/util/model.js.map +1 -0
- package/dist/esm/util/performance.d.ts +3 -0
- package/dist/esm/util/performance.js +13 -0
- package/dist/esm/util/performance.js.map +1 -0
- package/dist/esm/util/three.d.ts +8 -0
- package/dist/esm/util/three.js +19 -0
- package/dist/esm/util/three.js.map +1 -0
- package/dist/esm/util/util.d.ts +19 -0
- package/dist/esm/util/util.js +107 -0
- package/dist/esm/util/util.js.map +1 -0
- package/dist/esm/world/BlockInfo.d.ts +6 -0
- package/dist/esm/world/BlockInfo.js +2 -0
- package/dist/esm/world/BlockInfo.js.map +1 -0
- package/dist/esm/world/Chunk.d.ts +33 -0
- package/dist/esm/world/Chunk.js +128 -0
- package/dist/esm/world/Chunk.js.map +1 -0
- package/dist/esm/world/MineRenderWorld.d.ts +31 -0
- package/dist/esm/world/MineRenderWorld.js +129 -0
- package/dist/esm/world/MineRenderWorld.js.map +1 -0
- package/docs/CNAME +0 -0
- package/docs/ast/source/.external-ecmascript.js.json +0 -0
- package/docs/ast/source/combined/index.js.json +0 -0
- package/docs/ast/source/entity/index.js.json +0 -0
- package/docs/ast/source/functions.js.json +0 -0
- package/docs/ast/source/gui/guiHelper.js.json +0 -0
- package/docs/ast/source/gui/guiPositions.js.json +0 -0
- package/docs/ast/source/gui/index.js.json +0 -0
- package/docs/ast/source/lib/OrbitControls.js.json +0 -0
- package/docs/ast/source/lib/merge.js.json +0 -0
- package/docs/ast/source/model/ModelWorker.js.json +0 -0
- package/docs/ast/source/model/index.js.json +0 -0
- package/docs/ast/source/model/modelConverter.js.json +0 -0
- package/docs/ast/source/model/modelFunctions.js.json +0 -0
- package/docs/ast/source/renderBase.js.json +0 -0
- package/docs/ast/source/skin/index.js.json +0 -0
- package/docs/ast/source/skin/texturePositions.js.json +0 -0
- package/docs/badge.svg +0 -0
- package/docs/class/src/combined/index.js~CombinedRender.html +0 -0
- package/docs/class/src/entity/index.js~EntityRender.html +0 -0
- package/docs/class/src/gui/index.js~GuiRender.html +0 -0
- package/docs/class/src/model/index.js~ModelRender.html +0 -0
- package/docs/class/src/renderBase.js~Render.html +0 -0
- package/docs/class/src/skin/index.js~SkinRender.html +0 -0
- package/docs/coverage.json +0 -0
- package/docs/css/github.css +0 -0
- package/docs/css/identifiers.css +0 -0
- package/docs/css/manual.css +0 -0
- package/docs/css/prettify-tomorrow.css +0 -0
- package/docs/css/search.css +0 -0
- package/docs/css/source.css +0 -0
- package/docs/css/style.css +0 -0
- package/docs/css/test.css +0 -0
- package/docs/file/src/combined/index.js.html +0 -0
- package/docs/file/src/entity/index.js.html +0 -0
- package/docs/file/src/functions.js.html +0 -0
- package/docs/file/src/gui/guiHelper.js.html +0 -0
- package/docs/file/src/gui/guiPositions.js.html +0 -0
- package/docs/file/src/gui/index.js.html +0 -0
- package/docs/file/src/lib/OrbitControls.js.html +0 -0
- package/docs/file/src/lib/merge.js.html +0 -0
- package/docs/file/src/model/ModelWorker.js.html +0 -0
- package/docs/file/src/model/index.js.html +0 -0
- package/docs/file/src/model/modelConverter.js.html +0 -0
- package/docs/file/src/model/modelFunctions.js.html +0 -0
- package/docs/file/src/renderBase.js.html +0 -0
- package/docs/file/src/skin/index.js.html +0 -0
- package/docs/file/src/skin/texturePositions.js.html +0 -0
- package/docs/function/index.html +0 -0
- package/docs/identifiers.html +0 -0
- package/docs/image/badge.svg +0 -0
- package/docs/image/brand_logo.png +0 -0
- package/docs/image/esdoc-logo-mini-black.png +0 -0
- package/docs/image/esdoc-logo-mini.png +0 -0
- package/docs/image/github.png +0 -0
- package/docs/image/manual-badge.svg +0 -0
- package/docs/image/search.png +0 -0
- package/docs/index.html +0 -0
- package/docs/index.json +0 -0
- package/docs/lint.json +0 -0
- package/docs/script/inherited-summary.js +0 -0
- package/docs/script/inner-link.js +0 -0
- package/docs/script/manual.js +0 -0
- package/docs/script/patch-for-local.js +0 -0
- package/docs/script/prettify/Apache-License-2.0.txt +0 -0
- package/docs/script/prettify/prettify.js +0 -0
- package/docs/script/pretty-print.js +0 -0
- package/docs/script/search.js +0 -0
- package/docs/script/search_index.js +0 -0
- package/docs/script/test-summary.js +0 -0
- package/docs/source.html +0 -0
- package/docs/variable/index.html +0 -0
- package/embed/model/index.html +0 -0
- package/embed/skin/index.html +0 -0
- package/favicon.ico +0 -0
- package/gulpfile.js +77 -0
- package/img/minerender-x128.png +0 -0
- package/img/minerender-x256.png +0 -0
- package/img/minerender-x256.webp +0 -0
- package/img/minerender-x512.png +0 -0
- package/img/minerender-x64.png +0 -0
- package/img/minerender.svg +0 -0
- package/img/minerender_block_gray.png +0 -0
- package/img/minerender_steve.png +0 -0
- package/img/minerender_steve_gray.png +0 -0
- package/img/minerender_steve_gray_blur.png +0 -0
- package/img/optifine_cape.png +0 -0
- package/img/optifine_hires_cape.png +0 -0
- package/index.html +0 -0
- package/js/data.js +0 -0
- package/js/data.min.js.map +1 -0
- package/js/main.js +0 -0
- package/js/main.min.js.map +1 -0
- package/keybase.txt +0 -0
- package/manifest.json +0 -0
- package/mccolor.js +1 -0
- package/nameToUuid.php +0 -0
- package/package.json +93 -24
- package/renovate.json +0 -0
- package/res/bedrockSource.txt +2 -0
- package/res/idsToNames.json +0 -0
- package/res/mc/.htaccess +0 -0
- package/res/mc/index.php +0 -0
- package/res/models/entities/agent.json +0 -0
- package/res/models/entities/armor_stand.json +0 -0
- package/res/models/entities/bat.json +0 -0
- package/res/models/entities/bed.json +0 -0
- package/res/models/entities/blaze.json +0 -0
- package/res/models/entities/cape.json +0 -0
- package/res/models/entities/chalkboard_large.json +0 -0
- package/res/models/entities/chalkboard_medium.json +0 -0
- package/res/models/entities/chalkboard_small.json +0 -0
- package/res/models/entities/chicken.json +0 -0
- package/res/models/entities/cod.json +0 -0
- package/res/models/entities/cow.json +0 -0
- package/res/models/entities/creeper.charged.json +0 -0
- package/res/models/entities/creeper.json +0 -0
- package/res/models/entities/dolphin.json +0 -0
- package/res/models/entities/dragon.json +0 -0
- package/res/models/entities/dragon_head.json +0 -0
- package/res/models/entities/enderman.json +0 -0
- package/res/models/entities/evoker.json +0 -0
- package/res/models/entities/ghast.json +0 -0
- package/res/models/entities/guardian.json +0 -0
- package/res/models/entities/horse.json +0 -0
- package/res/models/entities/horse.v2.json +0 -0
- package/res/models/entities/humanoid.armor1.json +0 -0
- package/res/models/entities/humanoid.armor2.json +0 -0
- package/res/models/entities/humanoid.custom.json +0 -0
- package/res/models/entities/humanoid.customSlim.json +0 -0
- package/res/models/entities/humanoid.json +0 -0
- package/res/models/entities/irongolem.json +0 -0
- package/res/models/entities/lavaslime.json +0 -0
- package/res/models/entities/llama.json +0 -0
- package/res/models/entities/llamaspit.json +0 -0
- package/res/models/entities/mob_head.json +0 -0
- package/res/models/entities/mooshroom.json +0 -0
- package/res/models/entities/npc.json +0 -0
- package/res/models/entities/ocelot.json +0 -0
- package/res/models/entities/parrot.json +0 -0
- package/res/models/entities/pig.json +0 -0
- package/res/models/entities/pigzombie.baby.json +0 -0
- package/res/models/entities/pigzombie.json +0 -0
- package/res/models/entities/player_head.json +0 -0
- package/res/models/entities/polarbear.json +0 -0
- package/res/models/entities/pufferfish.large.json +0 -0
- package/res/models/entities/pufferfish.mid.json +0 -0
- package/res/models/entities/pufferfish.small.json +0 -0
- package/res/models/entities/quadruped.json +0 -0
- package/res/models/entities/rabbit.json +0 -0
- package/res/models/entities/salmon.json +0 -0
- package/res/models/entities/sheep.json +0 -0
- package/res/models/entities/sheep.sheared.json +0 -0
- package/res/models/entities/shulker.json +0 -0
- package/res/models/entities/silverfish.json +0 -0
- package/res/models/entities/skeleton.json +0 -0
- package/res/models/entities/skeleton.stray.json +0 -0
- package/res/models/entities/skeleton.wither.json +0 -0
- package/res/models/entities/slime.armor.json +0 -0
- package/res/models/entities/slime.json +0 -0
- package/res/models/entities/snowgolem.json +0 -0
- package/res/models/entities/spider.json +0 -0
- package/res/models/entities/squid.json +0 -0
- package/res/models/entities/stray.armor.json +0 -0
- package/res/models/entities/trident.json +0 -0
- package/res/models/entities/tropicalfish_a.json +0 -0
- package/res/models/entities/tropicalfish_b.json +0 -0
- package/res/models/entities/turtle.json +0 -0
- package/res/models/entities/vex.json +0 -0
- package/res/models/entities/villager.json +0 -0
- package/res/models/entities/villager.witch.json +0 -0
- package/res/models/entities/vindicator.json +0 -0
- package/res/models/entities/witherBoss.armor.json +0 -0
- package/res/models/entities/witherBoss.json +0 -0
- package/res/models/entities/wolf.json +0 -0
- package/res/models/entities/zombie.drowned.json +0 -0
- package/res/models/entities/zombie.husk.json +0 -0
- package/res/models/entities/zombie.json +0 -0
- package/res/models/entities/zombie.villager.json +0 -0
- package/res/tools/bedrock/bedrockEntityConverter.js +0 -0
- package/res/tools/bedrock/convertedMobs/agent.json +0 -0
- package/res/tools/bedrock/convertedMobs/bed.json +0 -0
- package/res/tools/bedrock/convertedMobs/cape.json +0 -0
- package/res/tools/bedrock/convertedMobs/chalkboard_large.json +0 -0
- package/res/tools/bedrock/convertedMobs/chalkboard_medium.json +0 -0
- package/res/tools/bedrock/convertedMobs/chalkboard_small.json +0 -0
- package/res/tools/bedrock/convertedMobs/dragon.json +0 -0
- package/res/tools/bedrock/convertedMobs/dragon_head.json +0 -0
- package/res/tools/bedrock/convertedMobs/elytra.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor.boots.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor.chestplate.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor.helmet.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor.leggings.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor1.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor2.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.custom.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.customSlim.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.json +0 -0
- package/res/tools/bedrock/convertedMobs/irongolem.json +0 -0
- package/res/tools/bedrock/convertedMobs/mob_head.json +0 -0
- package/res/tools/bedrock/convertedMobs/player_head.json +0 -0
- package/res/tools/bedrock/convertedMobs/quadruped.json +0 -0
- package/res/tools/bedrock/convertedMobs/rsion.json +0 -0
- package/res/tools/bedrock/convertedMobs/trident.json +0 -0
- package/res/tools/bedrock/mobs.json +0 -0
- package/res/tools/java/javaSourceParser.js +0 -0
- package/res/tools/java/parsedToModel.js +0 -0
- package/server/index.js +0 -0
- package/src/AnimatorFunction.d.ts +3 -0
- package/src/AnimatorFunction.js +3 -0
- package/src/AnimatorFunction.js.map +1 -0
- package/src/AnimatorFunction.ts +3 -0
- package/src/Axis.d.ts +8 -0
- package/src/Axis.js +23 -0
- package/src/Axis.js.map +1 -0
- package/src/Axis.ts +20 -0
- package/src/CubeFace.d.ts +17 -0
- package/src/CubeFace.js +23 -0
- package/src/CubeFace.js.map +1 -0
- package/src/CubeFace.ts +20 -0
- package/src/Disposable.d.ts +4 -0
- package/src/Disposable.js +8 -0
- package/src/Disposable.js.map +1 -0
- package/src/Disposable.ts +7 -0
- package/src/Env.d.ts +2 -0
- package/src/Env.js +7 -0
- package/src/Env.js.map +1 -0
- package/src/Env.ts +2 -0
- package/src/ExtractableImageData.d.ts +5 -0
- package/src/ExtractableImageData.js +3 -0
- package/src/ExtractableImageData.js.map +1 -0
- package/src/ExtractableImageData.ts +5 -0
- package/src/Geometries.d.ts +6 -0
- package/src/Geometries.js +92 -0
- package/src/Geometries.js.map +1 -0
- package/src/Geometries.ts +99 -0
- package/src/ListAsset.d.ts +5 -0
- package/src/ListAsset.js +3 -0
- package/src/ListAsset.js.map +1 -0
- package/src/ListAsset.ts +6 -0
- package/src/Materials.d.ts +8 -0
- package/src/Materials.js +38 -0
- package/src/Materials.js.map +1 -0
- package/src/Materials.ts +160 -0
- package/src/Meshes.d.ts +6 -0
- package/src/Meshes.js +21 -0
- package/src/Meshes.js.map +1 -0
- package/src/Meshes.ts +20 -0
- package/src/MinecraftAsset.d.ts +7 -0
- package/src/MinecraftAsset.js +3 -0
- package/src/MinecraftAsset.js.map +1 -0
- package/src/MinecraftAsset.ts +9 -0
- package/src/MinecraftCubeTexture.d.ts +26 -0
- package/src/MinecraftCubeTexture.js +104 -0
- package/src/MinecraftCubeTexture.js.map +1 -0
- package/src/MinecraftCubeTexture.ts +116 -0
- package/src/MinecraftTextureMeta.d.ts +15 -0
- package/src/MinecraftTextureMeta.js +3 -0
- package/src/MinecraftTextureMeta.js.map +1 -0
- package/src/MinecraftTextureMeta.ts +18 -0
- package/src/SceneStats.d.ts +5 -0
- package/src/SceneStats.js +12 -0
- package/src/SceneStats.js.map +1 -0
- package/src/SceneStats.ts +7 -0
- package/src/Serializable.d.ts +3 -0
- package/src/Serializable.js +3 -0
- package/src/Serializable.js.map +1 -0
- package/src/Serializable.ts +3 -0
- package/src/Ticker.d.ts +20 -0
- package/src/Ticker.js +55 -0
- package/src/Ticker.js.map +1 -0
- package/src/Ticker.ts +65 -0
- package/src/TintColors.ts +3 -0
- package/src/Transformable.d.ts +10 -0
- package/src/Transformable.js +8 -0
- package/src/Transformable.js.map +1 -0
- package/src/Transformable.ts +23 -0
- package/src/UVMapper.d.ts +40 -0
- package/src/UVMapper.js +421 -0
- package/src/UVMapper.js.map +1 -0
- package/src/UVMapper.ts +506 -0
- package/src/WrappedImage.d.ts +17 -0
- package/src/WrappedImage.js +50 -0
- package/src/WrappedImage.js.map +1 -0
- package/src/WrappedImage.ts +61 -0
- package/src/_model/Cube.ts +9 -0
- package/src/_model/Element.ts +10 -0
- package/src/_model/Face.ts +7 -0
- package/src/_model/Model.ts +5 -0
- package/src/assets/AssetKey.d.ts +24 -0
- package/src/assets/AssetKey.js +70 -0
- package/src/assets/AssetKey.js.map +1 -0
- package/src/assets/AssetKey.ts +98 -0
- package/src/assets/AssetLoader.d.ts +25 -0
- package/src/assets/AssetLoader.js +132 -0
- package/src/assets/AssetLoader.js.map +1 -0
- package/src/assets/AssetLoader.ts +152 -0
- package/src/assets/Assets.d.ts +14 -0
- package/src/assets/Assets.js +24 -0
- package/src/assets/Assets.js.map +1 -0
- package/src/assets/Assets.ts +28 -0
- package/src/assets/BlockStates.d.ts +9 -0
- package/src/assets/BlockStates.js +51 -0
- package/src/assets/BlockStates.js.map +1 -0
- package/src/assets/BlockStates.ts +64 -0
- package/src/assets/Entities.d.ts +8 -0
- package/src/assets/Entities.js +40 -0
- package/src/assets/Entities.js.map +1 -0
- package/src/assets/Entities.ts +40 -0
- package/src/assets/ModelTextures.d.ts +11 -0
- package/src/assets/ModelTextures.js +42 -0
- package/src/assets/ModelTextures.js.map +1 -0
- package/src/assets/ModelTextures.ts +58 -0
- package/src/assets/Models.d.ts +11 -0
- package/src/assets/Models.js +70 -0
- package/src/assets/Models.js.map +1 -0
- package/src/assets/Models.ts +81 -0
- package/src/bedrock/BedrockEntityDescription.ts +11 -0
- package/src/bedrock/BedrockEntityFile.ts +8 -0
- package/src/bedrock/BedrockGeometry.ts +28 -0
- package/src/bedrock/BedrockGeometryFile.ts +7 -0
- package/src/cache/CacheKey.d.ts +28 -0
- package/src/cache/CacheKey.js +27 -0
- package/src/cache/CacheKey.js.map +1 -0
- package/src/cache/CacheKey.ts +90 -0
- package/src/cache/Caching.d.ts +29 -0
- package/src/cache/Caching.js +93 -0
- package/src/cache/Caching.js.map +1 -0
- package/src/cache/Caching.ts +116 -0
- package/src/cache/PersistentCache.d.ts +15 -0
- package/src/cache/PersistentCache.js +101 -0
- package/src/cache/PersistentCache.js.map +1 -0
- package/src/cache/PersistentCache.ts +132 -0
- package/src/canvas/CanvasCompat.d.ts +5 -0
- package/src/canvas/CanvasCompat.js +53 -0
- package/src/canvas/CanvasCompat.js.map +1 -0
- package/src/canvas/CanvasCompat.ts +33 -0
- package/src/canvas/CanvasImage.d.ts +18 -0
- package/src/canvas/CanvasImage.js +45 -0
- package/src/canvas/CanvasImage.js.map +1 -0
- package/src/canvas/CanvasImage.ts +58 -0
- package/src/entity/EntityModel.d.ts +7 -0
- package/src/entity/EntityModel.js +3 -0
- package/src/entity/EntityModel.js.map +1 -0
- package/src/entity/EntityModel.ts +6 -0
- package/src/entity/blockEntityModels.json +1401 -0
- package/src/entity/entityModels.json +20623 -0
- package/src/entity/scene/EntityObject.d.ts +20 -0
- package/src/entity/scene/EntityObject.js +116 -0
- package/src/entity/scene/EntityObject.js.map +1 -0
- package/src/entity/scene/EntityObject.ts +138 -0
- package/src/error/MineRenderError.d.ts +4 -0
- package/src/error/MineRenderError.js +15 -0
- package/src/error/MineRenderError.js.map +1 -0
- package/src/error/MineRenderError.ts +11 -0
- package/src/gui/scene/GuiObject.ts +13 -0
- package/src/image/ImageLoader.d.ts +28 -0
- package/src/image/ImageLoader.js +134 -0
- package/src/image/ImageLoader.js.map +1 -0
- package/src/image/ImageLoader.ts +161 -0
- package/src/index.d.ts +22 -0
- package/src/index.js +36 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +39 -0
- package/src/inspector/SceneInspector.d.ts +22 -0
- package/src/inspector/SceneInspector.js +334 -0
- package/src/inspector/SceneInspector.js.map +1 -0
- package/src/inspector/SceneInspector.ts +426 -0
- package/src/inspector/SceneStats.ts +68 -0
- package/src/instance/InstanceManager.ts +53 -0
- package/src/instance/InstanceReference.d.ts +20 -0
- package/src/instance/InstanceReference.js +46 -0
- package/src/instance/InstanceReference.js.map +1 -0
- package/src/instance/InstanceReference.ts +62 -0
- package/src/instance/Instanceable.d.ts +15 -0
- package/src/instance/Instanceable.js +8 -0
- package/src/instance/Instanceable.js.map +1 -0
- package/src/instance/Instanceable.ts +33 -0
- package/src/lib/OrbitControls.js +0 -0
- package/src/model/DisplayPosition.ts +12 -0
- package/src/model/ElementFace.d.ts +9 -0
- package/src/model/ElementFace.js +3 -0
- package/src/model/ElementFace.js.map +1 -0
- package/src/model/ElementFace.ts +10 -0
- package/src/model/GuiLight.ts +4 -0
- package/src/model/Model.d.ts +43 -0
- package/src/model/Model.js +8 -0
- package/src/model/Model.js.map +1 -0
- package/src/model/Model.ts +67 -0
- package/src/model/ModelElement.ts +30 -0
- package/src/model/ModelGenerator.ts +32 -0
- package/src/model/ModelMerger.ts +36 -0
- package/src/model/ModelPart.d.ts +23 -0
- package/src/model/ModelPart.js +3 -0
- package/src/model/ModelPart.js.map +1 -0
- package/src/model/ModelPart.ts +25 -0
- package/src/model/block/Block.ts +10 -0
- package/src/model/block/BlockState.ts +25 -0
- package/src/model/block/BlockStateProperties.ts +12 -0
- package/src/model/block/scene/BlockObject.ts +475 -0
- package/src/model/defaultBlockStates.json +12337 -0
- package/src/model/legacyBlockList.json +47234 -0
- package/src/model/multiblock/MultiBlockStructure.ts +14 -0
- package/src/model/multiblock/SchematicParser.ts +11 -0
- package/src/model/multiblock/StructureParser.ts +109 -0
- package/src/model/scene/ModelObject.ts +185 -0
- package/src/nbt/NBTHelper.d.ts +8 -0
- package/src/nbt/NBTHelper.js +32 -0
- package/src/nbt/NBTHelper.js.map +1 -0
- package/src/nbt/NBTHelper.ts +15 -0
- package/src/renderer/MineRenderScene.ts +132 -0
- package/src/renderer/Renderer.ts +399 -0
- package/src/renderer/SceneObject.ts +446 -0
- package/src/renderer/SceneObjectOptions.ts +6 -0
- package/src/request/Requests.ts +44 -0
- package/src/skin/SkinGeometries.d.ts +5 -0
- package/src/skin/SkinGeometries.js +39 -0
- package/src/skin/SkinGeometries.js.map +1 -0
- package/src/skin/SkinGeometries.ts +50 -0
- package/src/skin/SkinPart.d.ts +16 -0
- package/src/skin/SkinPart.js +21 -0
- package/src/skin/SkinPart.js.map +1 -0
- package/src/skin/SkinPart.ts +19 -0
- package/src/skin/SkinTextureCoordinates.d.ts +5 -0
- package/src/skin/SkinTextureCoordinates.js +753 -0
- package/src/skin/SkinTextureCoordinates.js.map +1 -0
- package/src/skin/SkinTextureCoordinates.ts +759 -0
- package/src/skin/Skins.ts +158 -0
- package/src/skin/playerModels.json +678 -0
- package/src/skin/scene/SkinObject.d.ts +20 -0
- package/src/skin/scene/SkinObject.js +102 -0
- package/src/skin/scene/SkinObject.js.map +1 -0
- package/src/skin/scene/SkinObject.ts +148 -0
- package/src/texture/TextureAtlas.d.ts +29 -0
- package/src/texture/TextureAtlas.js +26 -0
- package/src/texture/TextureAtlas.js.map +1 -0
- package/src/texture/TextureAtlas.ts +32 -0
- package/src/texture/TextureLoader.d.ts +6 -0
- package/src/texture/TextureLoader.js +34 -0
- package/src/texture/TextureLoader.js.map +1 -0
- package/src/texture/TextureLoader.ts +41 -0
- package/src/texture/Textures.d.ts +10 -0
- package/src/texture/Textures.js +52 -0
- package/src/texture/Textures.js.map +1 -0
- package/src/texture/Textures.ts +37 -0
- package/src/three/BufferGeometryUtils.d.ts +17 -0
- package/src/three/BufferGeometryUtils.js +944 -0
- package/src/three/OrbitControls.d.ts +78 -0
- package/src/three/OrbitControls.js +1297 -0
- package/src/util/BatchedExecutor.ts +37 -0
- package/src/util/log.ts +30 -0
- package/src/util/model.d.ts +11 -0
- package/src/util/model.js +182 -0
- package/src/util/model.js.map +1 -0
- package/src/util/model.ts +213 -0
- package/src/util/performance.ts +14 -0
- package/src/util/three.d.ts +6 -0
- package/src/util/three.js +20 -0
- package/src/util/three.js.map +1 -0
- package/src/util/three.ts +26 -0
- package/src/util/util.d.ts +9 -0
- package/src/util/util.js +117 -0
- package/src/util/util.js.map +1 -0
- package/src/util/util.ts +120 -0
- package/src/world/BlockInfo.ts +7 -0
- package/src/world/Chunk.ts +165 -0
- package/src/world/MineRenderWorld.ts +149 -0
- package/test/combined.html +0 -0
- package/test/entity.html +0 -0
- package/test/gui.html +0 -0
- package/test/model.html +0 -0
- package/test/serviceworker.js +50 -0
- package/test/skin.html +0 -0
- package/test/structure.html +0 -0
- package/test/v2.html +528 -0
- package/tsconfig-cjs.json +7 -0
- package/tsconfig.json +37 -0
- package/CORSpipe.php +0 -32
- package/dist/all.js +0 -2294
- package/dist/all.min.js +0 -52
- package/dist/entity.js +0 -2282
- package/dist/entity.min.js +0 -52
- package/dist/gui.js +0 -2270
- package/dist/gui.min.js +0 -52
- package/dist/model.js +0 -2234
- package/dist/model.min.js +0 -52
- package/dist/skin.js +0 -397
- package/dist/skin.min.js +0 -24
- package/src/combined/index.js +0 -83
- package/src/entity/index.js +0 -335
- package/src/functions.js +0 -262
- package/src/gui/guiHelper.js +0 -154
- package/src/gui/guiPositions.js +0 -85
- package/src/gui/index.js +0 -222
- package/src/lib/merge.js +0 -0
- package/src/model/ModelWorker.js +0 -32
- package/src/model/index.js +0 -1128
- package/src/model/modelConverter.js +0 -290
- package/src/model/modelFunctions.js +0 -463
- package/src/renderBase.js +0 -496
- package/src/skin/index.js +0 -696
- package/src/skin/texturePositions.js +0 -1050
- package/stats.json +0 -1
- package/stats.php +0 -41
- package/webpack.config.js +0 -166
package/src/util/util.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.toDegrees = exports.toRadians = exports.base64decode = exports.base64encode = exports.sha512 = exports.sha256 = exports.sha1 = exports.md5 = void 0;
|
|
26
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
27
|
+
const browserCrypto = __importStar(require("crypto-js"));
|
|
28
|
+
const core_1 = __importDefault(require("crypto-js/core"));
|
|
29
|
+
function md5(str) {
|
|
30
|
+
if (typeof browserCrypto !== "undefined") {
|
|
31
|
+
return browserCrypto.MD5(str).toString(core_1.default.enc.Hex);
|
|
32
|
+
}
|
|
33
|
+
return crypto_1.default.createHash('md5').update(str).digest("hex");
|
|
34
|
+
}
|
|
35
|
+
exports.md5 = md5;
|
|
36
|
+
function sha1(str) {
|
|
37
|
+
if (typeof browserCrypto !== "undefined") {
|
|
38
|
+
return browserCrypto.SHA1(str).toString(core_1.default.enc.Hex);
|
|
39
|
+
}
|
|
40
|
+
return crypto_1.default.createHash('sha1').update(str).digest("hex");
|
|
41
|
+
}
|
|
42
|
+
exports.sha1 = sha1;
|
|
43
|
+
function sha256(str) {
|
|
44
|
+
if (typeof browserCrypto !== "undefined") {
|
|
45
|
+
return browserCrypto.SHA256(str).toString(core_1.default.enc.Hex);
|
|
46
|
+
}
|
|
47
|
+
return crypto_1.default.createHash('sha256').update(str).digest("hex");
|
|
48
|
+
}
|
|
49
|
+
exports.sha256 = sha256;
|
|
50
|
+
function sha512(str) {
|
|
51
|
+
if (typeof browserCrypto !== "undefined") {
|
|
52
|
+
return browserCrypto.SHA512(str).toString(core_1.default.enc.Hex);
|
|
53
|
+
}
|
|
54
|
+
return crypto_1.default.createHash('sha512').update(str).digest("hex");
|
|
55
|
+
}
|
|
56
|
+
exports.sha512 = sha512;
|
|
57
|
+
function base64encode(str) {
|
|
58
|
+
if (typeof btoa !== "undefined") {
|
|
59
|
+
return btoa(str);
|
|
60
|
+
}
|
|
61
|
+
return Buffer.from(str).toString("base64");
|
|
62
|
+
}
|
|
63
|
+
exports.base64encode = base64encode;
|
|
64
|
+
function base64decode(str) {
|
|
65
|
+
if (typeof atob !== "undefined") {
|
|
66
|
+
return atob(str);
|
|
67
|
+
}
|
|
68
|
+
return Buffer.from(str, "base64").toString("ascii");
|
|
69
|
+
}
|
|
70
|
+
exports.base64decode = base64decode;
|
|
71
|
+
function toRadians(degrees) {
|
|
72
|
+
return degrees * Math.PI / 180;
|
|
73
|
+
}
|
|
74
|
+
exports.toRadians = toRadians;
|
|
75
|
+
function toDegrees(radians) {
|
|
76
|
+
return radians * 180 / Math.PI;
|
|
77
|
+
}
|
|
78
|
+
exports.toDegrees = toDegrees;
|
|
79
|
+
(function () {
|
|
80
|
+
const source = [
|
|
81
|
+
"https://threejs.org/docs/#api/en/textures/Texture",
|
|
82
|
+
"https://www.npmjs.com/package/md5",
|
|
83
|
+
"a JavaScript function for hashing messages with MD5.\nnode-md5 is being sponsored by the following tool; please help to support us by taking a look and signing up to a free trial",
|
|
84
|
+
"Before version 2.0.0 there were two packages called md5 on npm, one lowercase, one uppercase (the one you're looking at). As of version 2.0.0, all new versions of this module will go to lowercase md5 on npm. To use the correct version, users of this module will have to change their code from require('MD5') to require('md5') if they want to use versions >= 2.0.0.",
|
|
85
|
+
"Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:",
|
|
86
|
+
"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n" +
|
|
87
|
+
"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n" +
|
|
88
|
+
"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n" +
|
|
89
|
+
"DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\n" +
|
|
90
|
+
"ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n" +
|
|
91
|
+
"(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n" +
|
|
92
|
+
"LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n" +
|
|
93
|
+
"ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n" +
|
|
94
|
+
"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n" +
|
|
95
|
+
"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
|
96
|
+
];
|
|
97
|
+
const it = 100000;
|
|
98
|
+
let noneStart = Date.now();
|
|
99
|
+
for (let i = 0; i < it; i++) {
|
|
100
|
+
let none = "" + source[i % source.length];
|
|
101
|
+
}
|
|
102
|
+
let noneEnd = Date.now();
|
|
103
|
+
console.log("none: " + (noneEnd - noneStart));
|
|
104
|
+
let hashStart = Date.now();
|
|
105
|
+
for (let i = 0; i < it; i++) {
|
|
106
|
+
let hash = "" + md5(source[i % source.length]);
|
|
107
|
+
}
|
|
108
|
+
let hashEnd = Date.now();
|
|
109
|
+
console.log("hash: " + (hashEnd - hashStart));
|
|
110
|
+
let baseStart = Date.now();
|
|
111
|
+
for (let i = 0; i < it; i++) {
|
|
112
|
+
let base = "" + base64encode(source[i % source.length]);
|
|
113
|
+
}
|
|
114
|
+
let baseEnd = Date.now();
|
|
115
|
+
console.log("base64: " + (baseEnd - baseStart));
|
|
116
|
+
})();
|
|
117
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"./","sources":["src/util/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,yDAA2C;AAC3C,0DAAsC;AAKtC,SAAgB,GAAG,CAAC,GAAW;IAC3B,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE;QACtC,OAAO,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC5D;IACD,OAAO,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AALD,kBAKC;AAED,SAAgB,IAAI,CAAC,GAAW;IAC5B,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE;QACtC,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC7D;IACD,OAAO,gBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AALD,oBAKC;AAED,SAAgB,MAAM,CAAC,GAAW;IAC9B,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE;QACtC,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC/D;IACD,OAAO,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AALD,wBAKC;AAED,SAAgB,MAAM,CAAC,GAAW;IAC9B,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE;QACtC,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC/D;IACD,OAAO,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AALD,wBAKC;AAED,SAAgB,YAAY,CAAC,GAAW;IACpC,IAAG,OAAO,IAAI,KAAG,WAAW,EAAE;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;KACpB;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AALD,oCAKC;AAED,SAAgB,YAAY,CAAC,GAAW;IACpC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;KACpB;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC;AALD,oCAKC;AAED,SAAgB,SAAS,CAAC,OAAe;IACrC,OAAO,OAAO,GAAC,IAAI,CAAC,EAAE,GAAC,GAAG,CAAC;AAC/B,CAAC;AAFD,8BAEC;AAED,SAAgB,SAAS,CAAC,OAAe;IACrC,OAAO,OAAO,GAAC,GAAG,GAAC,IAAI,CAAC,EAAE,CAAC;AAC/B,CAAC;AAFD,8BAEC;AAGD,CAAC;IACG,MAAM,MAAM,GAAE;QACV,mDAAmD;QACnD,mCAAmC;QACnC,oLAAoL;QACpL,8WAA8W;QAC9W,iJAAiJ;QACjJ,qFAAqF;YACrF,iFAAiF;YACjF,0EAA0E;YAC1E,oFAAoF;YACpF,kFAAkF;YAClF,gFAAgF;YAChF,kFAAkF;YAClF,2EAA2E;YAC3E,iFAAiF;YACjF,8DAA8D;KACjE,CAAC;IACF,MAAM,EAAE,GAAG,MAAM,CAAC;IAElB,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,IAAI,GAAG,EAAE,GAAE,MAAM,CAAC,CAAC,GAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC1C;IACD,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;IAE9C,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,IAAI,GAAE,EAAE,GAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KAC9C;IACD,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;IAE9C,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,IAAI,GAAG,EAAE,GAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KACvD;IACD,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;AAEpD,CAAC,CAAC,EAAE,CAAC"}
|
package/src/util/util.ts
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import crypto from "crypto";
|
|
2
|
+
import * as browserCrypto from "crypto-js";
|
|
3
|
+
import CryptoJS from "crypto-js/core";
|
|
4
|
+
import exp from "constants";
|
|
5
|
+
import { MeshBasicMaterial, Vector3 } from "three";
|
|
6
|
+
|
|
7
|
+
export const changeEvent = { type: 'change'};
|
|
8
|
+
|
|
9
|
+
export type Maybe<T> = T | undefined;
|
|
10
|
+
|
|
11
|
+
export function md5(str: string): string {
|
|
12
|
+
if (typeof browserCrypto !== "undefined") {
|
|
13
|
+
return browserCrypto.MD5(str).toString(CryptoJS.enc.Hex);
|
|
14
|
+
}
|
|
15
|
+
return crypto.createHash('md5').update(str).digest("hex");
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function sha1(str: string): string {
|
|
19
|
+
if (typeof browserCrypto !== "undefined") {
|
|
20
|
+
return browserCrypto.SHA1(str).toString(CryptoJS.enc.Hex);
|
|
21
|
+
}
|
|
22
|
+
return crypto.createHash('sha1').update(str).digest("hex");
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function sha256(str: string): string {
|
|
26
|
+
if (typeof browserCrypto !== "undefined") {
|
|
27
|
+
return browserCrypto.SHA256(str).toString(CryptoJS.enc.Hex);
|
|
28
|
+
}
|
|
29
|
+
return crypto.createHash('sha256').update(str).digest("hex");
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function sha512(str: string): string {
|
|
33
|
+
if (typeof browserCrypto !== "undefined") {
|
|
34
|
+
return browserCrypto.SHA512(str).toString(CryptoJS.enc.Hex);
|
|
35
|
+
}
|
|
36
|
+
return crypto.createHash('sha512').update(str).digest("hex");
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function base64encode(str: string): string {
|
|
40
|
+
if (typeof btoa !== "undefined") {
|
|
41
|
+
return btoa(str);
|
|
42
|
+
}
|
|
43
|
+
return Buffer.from(str).toString("base64");
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function base64decode(str: string): string {
|
|
47
|
+
if (typeof atob !== "undefined") {
|
|
48
|
+
return atob(str);
|
|
49
|
+
}
|
|
50
|
+
return Buffer.from(str, "base64").toString("ascii");
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function toRadians(degrees: number): number {
|
|
54
|
+
return degrees * Math.PI / 180;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function toDegrees(radians: number): number {
|
|
58
|
+
return radians * 180 / Math.PI;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export async function sleep(timeout: number): Promise<void> {
|
|
62
|
+
return new Promise(resolve => {
|
|
63
|
+
setTimeout(() => resolve(), timeout);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function clampRotationDegrees(deg: number): number {
|
|
68
|
+
return deg % 360;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function isVector3(obj: any): obj is Vector3 {
|
|
72
|
+
return (<Vector3>obj).isVector3;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export type DeepPartial<T> = {
|
|
76
|
+
[P in keyof T]?: DeepPartial<T[P]>;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
(function () {
|
|
80
|
+
const source = [
|
|
81
|
+
"https://threejs.org/docs/#api/en/textures/Texture",
|
|
82
|
+
"https://www.npmjs.com/package/md5",
|
|
83
|
+
"a JavaScript function for hashing messages with MD5.\nnode-md5 is being sponsored by the following tool; please help to support us by taking a look and signing up to a free trial",
|
|
84
|
+
"Before version 2.0.0 there were two packages called md5 on npm, one lowercase, one uppercase (the one you're looking at). As of version 2.0.0, all new versions of this module will go to lowercase md5 on npm. To use the correct version, users of this module will have to change their code from require('MD5') to require('md5') if they want to use versions >= 2.0.0.",
|
|
85
|
+
"Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:",
|
|
86
|
+
"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n" +
|
|
87
|
+
"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n" +
|
|
88
|
+
"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n" +
|
|
89
|
+
"DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\n" +
|
|
90
|
+
"ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n" +
|
|
91
|
+
"(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n" +
|
|
92
|
+
"LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n" +
|
|
93
|
+
"ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n" +
|
|
94
|
+
"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n" +
|
|
95
|
+
"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
|
96
|
+
];
|
|
97
|
+
const it = 100000;
|
|
98
|
+
|
|
99
|
+
let noneStart = Date.now();
|
|
100
|
+
for (let i = 0; i < it; i++) {
|
|
101
|
+
let none = "" + source[i % source.length];
|
|
102
|
+
}
|
|
103
|
+
let noneEnd = Date.now();
|
|
104
|
+
console.log("none: " + (noneEnd - noneStart));
|
|
105
|
+
|
|
106
|
+
let hashStart = Date.now();
|
|
107
|
+
for (let i = 0; i < it; i++) {
|
|
108
|
+
let hash = "" + md5(source[i % source.length]);
|
|
109
|
+
}
|
|
110
|
+
let hashEnd = Date.now();
|
|
111
|
+
console.log("hash: " + (hashEnd - hashStart));
|
|
112
|
+
|
|
113
|
+
let baseStart = Date.now();
|
|
114
|
+
for (let i = 0; i < it; i++) {
|
|
115
|
+
let base = "" + base64encode(source[i % source.length]);
|
|
116
|
+
}
|
|
117
|
+
let baseEnd = Date.now();
|
|
118
|
+
console.log("base64: " + (baseEnd - baseStart));
|
|
119
|
+
|
|
120
|
+
})();
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { Block } from "../model/block/Block";
|
|
2
|
+
import { BlockObject, isBlockObject } from "../model/block/scene/BlockObject";
|
|
3
|
+
import { Box3, Object3D, Vector3 } from "three";
|
|
4
|
+
import { Maybe } from "../util/util";
|
|
5
|
+
import { BlockInfo } from "./BlockInfo";
|
|
6
|
+
import { del } from "node-persist";
|
|
7
|
+
import { MineRenderScene } from "../renderer/MineRenderScene";
|
|
8
|
+
import { BlockStates } from "../assets/BlockStates";
|
|
9
|
+
import { AssetKey } from "../assets/AssetKey";
|
|
10
|
+
import { MineRenderWorld } from "./MineRenderWorld";
|
|
11
|
+
import { isTripleArray, TripleArray } from "../model/Model";
|
|
12
|
+
import { addBox3WireframeToObject } from "../util/model";
|
|
13
|
+
import webpack from "webpack";
|
|
14
|
+
import { prefix } from "../util/log";
|
|
15
|
+
|
|
16
|
+
const p = prefix("Chunk");
|
|
17
|
+
|
|
18
|
+
export class Chunk {
|
|
19
|
+
|
|
20
|
+
public readonly scene: MineRenderScene; //TODO: should probably be the world
|
|
21
|
+
|
|
22
|
+
public readonly x: number;
|
|
23
|
+
public readonly y: number;
|
|
24
|
+
public readonly z: number;
|
|
25
|
+
|
|
26
|
+
private readonly _blocks: BlockInfo[] = [];
|
|
27
|
+
|
|
28
|
+
private readonly _anchor: Object3D;
|
|
29
|
+
|
|
30
|
+
constructor(scene: MineRenderScene, x: number, y: number, z: number) {
|
|
31
|
+
this.scene = scene;
|
|
32
|
+
this.x = x;
|
|
33
|
+
this.y = y;
|
|
34
|
+
this.z = z;
|
|
35
|
+
|
|
36
|
+
//TODO: option to visualize chunks
|
|
37
|
+
let anchor = new Object3D();
|
|
38
|
+
this._anchor = anchor;
|
|
39
|
+
scene.add(anchor)
|
|
40
|
+
anchor.position.set((this.x * 256) + 128 - 8, (this.y * 256) + 128 - 8, (this.z * 256) + 128 - 8);
|
|
41
|
+
addBox3WireframeToObject(
|
|
42
|
+
new Box3(new Vector3(0, 0, 0), new Vector3(256, 256, 256)),
|
|
43
|
+
anchor,
|
|
44
|
+
0xffff00,
|
|
45
|
+
4);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
public getBlockAt(x: number, y: number, z: number): Maybe<BlockInfo>;
|
|
49
|
+
public getBlockAt(pos: Vector3): Maybe<BlockInfo>;
|
|
50
|
+
public getBlockAt(pos: TripleArray): Maybe<BlockInfo>;
|
|
51
|
+
public getBlockAt(posOrX: number | Vector3 | TripleArray, y?: number, z?: number): Maybe<BlockInfo> {
|
|
52
|
+
if (typeof posOrX == "number") {
|
|
53
|
+
return this.getBlockAt(new Vector3(posOrX, y, z));
|
|
54
|
+
}
|
|
55
|
+
if (isTripleArray(posOrX)) {
|
|
56
|
+
return this.getBlockAt(new Vector3(posOrX[0], posOrX[1], posOrX[2]))
|
|
57
|
+
}
|
|
58
|
+
const pos: Vector3 = this.worldPosToChunkPos(posOrX);
|
|
59
|
+
const index = Chunk.chunkPosToBlockIndex(pos);
|
|
60
|
+
return this._blocks[index];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Set block at a _world_ position
|
|
65
|
+
*/
|
|
66
|
+
public async setBlockAt(x: number, y: number, z: number, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
|
|
67
|
+
public async setBlockAt(pos: Vector3, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
|
|
68
|
+
public async setBlockAt(pos: TripleArray, block: Maybe<Block>): Promise<Maybe<BlockInfo>>;
|
|
69
|
+
public async setBlockAt(posOrX: number | Vector3 | TripleArray, yOrBlock?: number | Block, z?: number, block?: Block): Promise<Maybe<BlockInfo>> {
|
|
70
|
+
if (typeof posOrX == "number") {
|
|
71
|
+
return this.setBlockAt(new Vector3(posOrX, yOrBlock as number, z), block as Block);
|
|
72
|
+
}
|
|
73
|
+
if (isTripleArray(posOrX)) {
|
|
74
|
+
return this.setBlockAt(new Vector3(posOrX[0], posOrX[1], posOrX[2]), yOrBlock as Block);
|
|
75
|
+
}
|
|
76
|
+
const worldPos: Vector3 = posOrX;
|
|
77
|
+
const pos: Vector3 = this.worldPosToChunkPos(worldPos);
|
|
78
|
+
block = yOrBlock as Block;
|
|
79
|
+
|
|
80
|
+
return this.setBlockInChunkAt(pos, block, worldPos);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Set block at a _chunk_ position (0-16)
|
|
85
|
+
*/
|
|
86
|
+
public async setBlockInChunkAt(pos: Vector3, block?: Block, worldPos?: Vector3): Promise<Maybe<BlockInfo>> {
|
|
87
|
+
if (typeof worldPos === "undefined") {
|
|
88
|
+
worldPos = this.chunkPosToWorldPos(pos);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const index = Chunk.chunkPosToBlockIndex(pos);
|
|
92
|
+
const current = this._blocks[index];
|
|
93
|
+
if (typeof current !== "undefined") {
|
|
94
|
+
console.debug(p, "deleting existing block at", pos, worldPos, index);
|
|
95
|
+
// current.object.setScale(new Vector3(0, 0, 0));//TODO
|
|
96
|
+
current.object.removeFromScene();
|
|
97
|
+
delete this._blocks[index];
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (typeof block === "undefined" || typeof block.type === "undefined" || block.type === "air") return undefined; // only delete block
|
|
101
|
+
|
|
102
|
+
const blockState = await BlockStates.get(AssetKey.parse("blockstates", block.type));
|
|
103
|
+
if (blockState) {
|
|
104
|
+
const blockObject: BlockObject = await this.scene.addBlock(blockState, {
|
|
105
|
+
mergeMeshes: true,
|
|
106
|
+
instanceMeshes: true,
|
|
107
|
+
wireframe: true,
|
|
108
|
+
maxInstanceCount: 2000 //TODO: setting this to high kills FPS; increase on demand somehow?
|
|
109
|
+
}) as BlockObject;//TODO
|
|
110
|
+
if (block.properties) {
|
|
111
|
+
await blockObject.setState(block.properties);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const scenePos = MineRenderWorld.worldToScenePosition(worldPos);
|
|
115
|
+
blockObject.setPosition(scenePos);
|
|
116
|
+
|
|
117
|
+
this._blocks[index] = {
|
|
118
|
+
block: block,
|
|
119
|
+
object: blockObject as BlockObject
|
|
120
|
+
}
|
|
121
|
+
return this._blocks[index];
|
|
122
|
+
}
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
public async clear(): Promise<void> {
|
|
127
|
+
let promises: Promise<any>[] = [];
|
|
128
|
+
let pos = new Vector3();
|
|
129
|
+
for (let x = 0; x < 16; x++) {
|
|
130
|
+
for (let z = 0; z < 16; z++) {
|
|
131
|
+
for (let y = 0; y < 16; y++) {
|
|
132
|
+
promises.push(this.setBlockInChunkAt(pos.set(x,y,z), undefined));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return Promise.all(promises).then(ignored => {
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
public async dispose(): Promise<void> {
|
|
141
|
+
await this.clear();
|
|
142
|
+
this.scene.remove(this._anchor);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
static chunkPosToBlockIndex(pos: Vector3): number {
|
|
146
|
+
return (pos.y * 16 * 16) + (pos.z * 16) + pos.x;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
worldPosToChunkPos(pos: Vector3): Vector3 {
|
|
150
|
+
return new Vector3(
|
|
151
|
+
pos.x - (this.x * 16),
|
|
152
|
+
pos.y - (this.y * 16),
|
|
153
|
+
pos.z - (this.z * 16)
|
|
154
|
+
)
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
chunkPosToWorldPos(pos: Vector3): Vector3 {
|
|
158
|
+
return new Vector3(
|
|
159
|
+
(this.x * 16) + pos.x,
|
|
160
|
+
(this.y * 16) + pos.y,
|
|
161
|
+
(this.z * 16) + pos.z
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { MineRenderScene } from "../renderer/MineRenderScene";
|
|
2
|
+
import { Block } from "../model/block/Block";
|
|
3
|
+
import { BlockObject } from "../model/block/scene/BlockObject";
|
|
4
|
+
import { Vector3 } from "three";
|
|
5
|
+
import { isTripleArray, TripleArray } from "../model/Model";
|
|
6
|
+
import { isVector3, Maybe } from "../util/util";
|
|
7
|
+
import { Chunk } from "./Chunk";
|
|
8
|
+
import { BlockInfo } from "./BlockInfo";
|
|
9
|
+
import { MultiBlockBlock, MultiBlockStructure } from "../model/multiblock/MultiBlockStructure";
|
|
10
|
+
import { BatchedExecutor } from "../util/BatchedExecutor";
|
|
11
|
+
import { AssetKey } from "../assets/AssetKey";
|
|
12
|
+
import { BlockStates } from "../assets/BlockStates";
|
|
13
|
+
|
|
14
|
+
//TODO: maybe make this an Object3D to add children
|
|
15
|
+
export class MineRenderWorld {
|
|
16
|
+
|
|
17
|
+
public readonly scene: MineRenderScene;
|
|
18
|
+
|
|
19
|
+
private _size: number = 4; //TODO: expandable
|
|
20
|
+
private _blockSize: number = this._size * 16;
|
|
21
|
+
|
|
22
|
+
private readonly _chunks: Map<string,Chunk> = new Map<string, Chunk>();
|
|
23
|
+
|
|
24
|
+
constructor(scene: MineRenderScene) {
|
|
25
|
+
this.scene = scene;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public getBlockAt(x: number, y: number, z: number): Maybe<BlockInfo>;
|
|
29
|
+
public getBlockAt(pos: Vector3): Maybe<BlockInfo>;
|
|
30
|
+
public getBlockAt(pos: TripleArray): Maybe<BlockInfo>;
|
|
31
|
+
public getBlockAt(posOrX: number | Vector3 | TripleArray, y?: number, z?: number): Maybe<BlockInfo> {
|
|
32
|
+
if (typeof posOrX == "number") {
|
|
33
|
+
return this.getBlockAt(new Vector3(posOrX, y, z));
|
|
34
|
+
}
|
|
35
|
+
if (isTripleArray(posOrX)) {
|
|
36
|
+
return this.getBlockAt(new Vector3(posOrX[0], posOrX[1], posOrX[2]))
|
|
37
|
+
}
|
|
38
|
+
const chunk = this.getChunkAt(posOrX);
|
|
39
|
+
if (typeof chunk === "undefined") {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
this.validatePosBounds(posOrX);
|
|
43
|
+
return chunk.getBlockAt(posOrX);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public async setBlockAt(x: number, y: number, z: number, block: Block): Promise<Maybe<BlockInfo>>;
|
|
47
|
+
public async setBlockAt(pos: Vector3, block: Block): Promise<Maybe<BlockInfo>>;
|
|
48
|
+
public async setBlockAt(pos: TripleArray, block: Block): Promise<Maybe<BlockInfo>>;
|
|
49
|
+
public async setBlockAt(posOrX: number | Vector3 | TripleArray, yOrBlock?: number | Block, z?: number, block?: Block): Promise<Maybe<BlockInfo>> {
|
|
50
|
+
if (typeof posOrX == "number") {
|
|
51
|
+
return this.setBlockAt(new Vector3(posOrX, yOrBlock as number, z), block as Block);
|
|
52
|
+
}
|
|
53
|
+
if (isTripleArray(posOrX)) {
|
|
54
|
+
return this.setBlockAt(new Vector3(posOrX[0], posOrX[1], posOrX[2]), yOrBlock as Block);
|
|
55
|
+
}
|
|
56
|
+
this.validatePosBounds(posOrX);
|
|
57
|
+
const chunk = this.getOrCreateChunkAt(posOrX);
|
|
58
|
+
return chunk.setBlockAt(posOrX, yOrBlock as Block);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
public async placeMultiBlock(multiblock: MultiBlockStructure, useBatches: boolean = true, executor: BatchedExecutor = new BatchedExecutor()): Promise<void> {
|
|
63
|
+
// preload blockstates
|
|
64
|
+
const keys = new Set<AssetKey>(multiblock.blocks.map(block => AssetKey.parse("blockstates", block.type)));
|
|
65
|
+
await BlockStates.getAll(keys);
|
|
66
|
+
|
|
67
|
+
const place = async (block: MultiBlockBlock) => {
|
|
68
|
+
if (useBatches && typeof executor !== "undefined") {
|
|
69
|
+
await new Promise((resolve, reject) => {
|
|
70
|
+
executor.submit(() => {
|
|
71
|
+
this.setBlockAt(block.position, block).then(resolve).catch(reject)
|
|
72
|
+
})
|
|
73
|
+
});
|
|
74
|
+
} else {
|
|
75
|
+
await this.setBlockAt(block.position, block);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
for (let block of multiblock.blocks) {
|
|
79
|
+
await place(block);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
public async clear(): Promise<void> {
|
|
85
|
+
console.log("CHUNKS",this._chunks)
|
|
86
|
+
|
|
87
|
+
for (let chunk of this._chunks.values()) {
|
|
88
|
+
console.log("dispose chunk",chunk)
|
|
89
|
+
await chunk?.dispose();
|
|
90
|
+
}
|
|
91
|
+
this._chunks.clear();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
private getOrCreateChunkAt(pos: Vector3): Chunk {
|
|
95
|
+
const key = this.worldPosToChunkKey(pos);
|
|
96
|
+
let chunk = this._chunks.get(key);
|
|
97
|
+
if (typeof chunk === "undefined") {
|
|
98
|
+
chunk = new Chunk(this.scene, Math.floor(pos.x / 16), Math.floor(pos.y / 16), Math.floor(pos.z / 16));
|
|
99
|
+
this._chunks.set(key, chunk);
|
|
100
|
+
}
|
|
101
|
+
return chunk;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
public getChunkAt(pos: Vector3): Maybe<Chunk> {
|
|
105
|
+
const index = this.worldPosToChunkIndex(pos);
|
|
106
|
+
return this._chunks[index];
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
static worldToScenePosition(pos: Vector3): Vector3 {
|
|
111
|
+
return new Vector3(
|
|
112
|
+
pos.x * 16.0,
|
|
113
|
+
pos.y * 16.0,
|
|
114
|
+
pos.z * 16.0
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
static sceneToWorldPosition(pos: Vector3): Vector3 {
|
|
119
|
+
return new Vector3(
|
|
120
|
+
pos.x / 16.0,
|
|
121
|
+
pos.y / 16.0,
|
|
122
|
+
pos.z / 16.0
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
worldPosToChunkIndex(pos: Vector3): number {
|
|
127
|
+
const chunkX = Math.floor(pos.x / 16);
|
|
128
|
+
const chunkY = Math.floor(pos.y / 16);
|
|
129
|
+
const chunkZ = Math.floor(pos.z / 16);
|
|
130
|
+
return (chunkZ * this._size * this._size) + (chunkY * this._size) + chunkX;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
worldPosToChunkKey(pos: Vector3): string {
|
|
134
|
+
const chunkX = Math.floor(pos.x / 16);
|
|
135
|
+
const chunkY = Math.floor(pos.y / 16);
|
|
136
|
+
const chunkZ = Math.floor(pos.z / 16);
|
|
137
|
+
return `${chunkX}_${chunkY}_${chunkZ}`;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
validatePosBounds(pos: Vector3): void {
|
|
141
|
+
if (pos.x < 0) throw new Error("x<0");
|
|
142
|
+
if (pos.y < 0) throw new Error("y<0");
|
|
143
|
+
if (pos.z < 0) throw new Error("z<0");
|
|
144
|
+
if (pos.x > this._blockSize) throw new Error("x>" + this._blockSize);
|
|
145
|
+
if (pos.y > this._blockSize) throw new Error("y>" + this._blockSize);
|
|
146
|
+
if (pos.z > this._blockSize) throw new Error("z>" + this._blockSize);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
}
|
package/test/combined.html
CHANGED
|
File without changes
|
package/test/entity.html
CHANGED
|
File without changes
|
package/test/gui.html
CHANGED
|
File without changes
|
package/test/model.html
CHANGED
|
File without changes
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// [Working example](/serviceworker-cookbook/json-cache/).
|
|
2
|
+
|
|
3
|
+
var CACHE_NAME = 'dependencies-cache';
|
|
4
|
+
|
|
5
|
+
self.addEventListener('install', function (event) {
|
|
6
|
+
// Perform the install step:
|
|
7
|
+
// * Load a JSON file from server
|
|
8
|
+
// * Parse as JSON
|
|
9
|
+
// * Add files to the cache list
|
|
10
|
+
|
|
11
|
+
// Message to simply show the lifecycle flow
|
|
12
|
+
console.log('[install] Kicking off service worker registration!');
|
|
13
|
+
|
|
14
|
+
event.waitUntil(
|
|
15
|
+
caches.open(CACHE_NAME)
|
|
16
|
+
);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
self.addEventListener('fetch', function (event) {
|
|
20
|
+
event.respondWith(
|
|
21
|
+
caches.match(event.request)
|
|
22
|
+
.then(function (response) {
|
|
23
|
+
// Cache hit - return the response from the cached version
|
|
24
|
+
if (response) {
|
|
25
|
+
console.log(
|
|
26
|
+
'[fetch] Returning from Service Worker cache: ',
|
|
27
|
+
event.request.url
|
|
28
|
+
);
|
|
29
|
+
return response;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
caches.open(CACHE_NAME).then(cache => cache.add(event.request));
|
|
33
|
+
|
|
34
|
+
// Not in cache - return the result from the live server
|
|
35
|
+
// `fetch` is essentially a "fallback"
|
|
36
|
+
console.log('[fetch] Returning from server: ', event.request.url);
|
|
37
|
+
return fetch(event.request);
|
|
38
|
+
}
|
|
39
|
+
)
|
|
40
|
+
);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
self.addEventListener('activate', function (event) {
|
|
44
|
+
// Message to simply show the lifecycle flow
|
|
45
|
+
console.log('[activate] Activating service worker!');
|
|
46
|
+
|
|
47
|
+
// Claim the service work for this client, forcing `controllerchange` event
|
|
48
|
+
console.log('[activate] Claiming this service worker!');
|
|
49
|
+
event.waitUntil(self.clients.claim());
|
|
50
|
+
});
|
package/test/skin.html
CHANGED
|
File without changes
|
package/test/structure.html
CHANGED
|
File without changes
|