@xmcl/model
Version:
Create Three.js model for player and block
42 lines (29 loc) • 1.77 kB
Markdown
# Model Module
[](https://www.npmjs.com/package/@xmcl/model)
[](https://npmjs.com/@xmcl/model)
[](https://packagephobia.now.sh/result?p=@xmcl/model)
[](https://github.com/voxelum/minecraft-launcher-core-node/blob/master/LICENSE)
[](https://github.com/Voxelum/minecraft-launcher-core-node/actions?query=workflow%3ABuild)
[](https://github.com/emersion/stability-badges#experimental)
*This module can only used for browser environment*
## Usage
### Build THREE.js model for block and player
*Please read how to use [resourcepacks](https://github.com/Voxelum/minecraft-launcher-core-node/tree/master/packages/resourcepack/README.md) before this*
Create THREE.js block model:
```ts
import { BlockModelFactory } from "@xmcl/model";
const textureRegistry: TextureRegistry;
const factory = new BlockModelFactory(textureRegistry);
const model: BlockModel.Resolved;
const o3d: THREE.Object3D = factory.getObject(model);
// add o3d to your three scene
```
Create THREE.js player model:
```ts
import { PlayerModel } from "@xmcl/model";
const player: PlayerModel = new PlayerModel();
const isSlimSkin: boolean; // if this skin use alex model
player.setSkin("http://your-skin-url", isSlimSkin);
const o3d: THREE.Object3D = player.playerObject3d;
// add o3d to your three scene
```