@yannichock/react-minecraft-skin-viewer
Version:
Minecraft skin viewer for ReactJS
70 lines (62 loc) • 1.64 kB
JavaScript
var React;
var SkinViewer;
import('react').then(function (DReact) {
React = DReact;
});
import('skinview3d').then(function (DSkinViewer) {
SkinViewer = DSkinViewer;
});
var defaultProps = {
walk: false,
control: true,
rotate: false
};
var MinecraftSkinViewer = function MinecraftSkinViewer(_ref) {
var skin = _ref.skin,
width = _ref.width,
height = _ref.height,
walk = _ref.walk,
rotate = _ref.rotate,
control = _ref.control,
zoom = _ref.zoom,
background = _ref.background;
var canvas = React.useRef(null);
React.useLayoutEffect(function () {
var skinViewer = new SkinViewer({
skin: skin,
width: width,
height: height,
canvas: canvas.current
});
var viewerControl;
if (background === 'transparent') {
skinViewer.renderer.setClearColor(0xffffff, 0);
} else {
skinViewer.background = background;
}
if (control) {
viewerControl = createOrbitControls(skinViewer);
viewerControl.enablePan = false;
viewerControl.enableZoom = zoom;
viewerControl.enableRotate = true;
}
if (walk) {
skinViewer.animations.add(WalkingAnimation);
}
if (rotate) {
skinViewer.animations.add(RotatingAnimation);
}
return function () {
if (control) {
viewerControl.dispose();
}
skinViewer.dispose();
};
}, [skin, width, height, control, walk, background]);
return React.createElement("canvas", {
ref: canvas
});
};
MinecraftSkinViewer.defaultProps = defaultProps;
export { MinecraftSkinViewer };
//# sourceMappingURL=index.modern.js.map