UNPKG

prismarine-chunk

Version:
53 lines (50 loc) 1.83 kB
const chunkImplementations = { pc: { 1.8: require('./pc/1.8/chunk'), 1.9: require('./pc/1.9/chunk'), '1.10': require('./pc/1.9/chunk'), 1.11: require('./pc/1.9/chunk'), 1.12: require('./pc/1.9/chunk'), 1.13: require('./pc/1.13/chunk'), 1.14: require('./pc/1.14/chunk'), 1.15: require('./pc/1.15/chunk'), 1.16: require('./pc/1.16/chunk'), 1.17: require('./pc/1.17/chunk'), 1.18: require('./pc/1.18/chunk'), 1.19: require('./pc/1.18/chunk'), '1.20': require('./pc/1.18/chunk'), 1.21: require('./pc/1.18/chunk') }, bedrock: { 0.14: require('./bedrock/0.14/chunk'), '1.0': require('./bedrock/1.0/chunk'), 1.3: require('./bedrock/1.3/chunk'), 1.16: require('./bedrock/1.3/chunk'), 1.17: require('./bedrock/1.3/chunk'), 1.18: require('./bedrock/1.18/chunk'), 1.19: require('./bedrock/1.18/chunk'), '1.20': require('./bedrock/1.18/chunk'), 1.21: require('./bedrock/1.18/chunk') } } module.exports = loader // Caching const blobCache = require('./bedrock/common/BlobCache') module.exports.BlobEntry = blobCache.BlobEntry module.exports.BlobType = blobCache.BlobType function loader (registryOrVersion) { const registry = typeof registryOrVersion === 'string' ? require('prismarine-registry')(registryOrVersion) : registryOrVersion const version = registry.version if (!version) throw new Error('Specified version does not exist') try { return chunkImplementations[version.type][version.majorVersion](registry) } catch (e) { if (e instanceof TypeError) { console.error(e) throw new Error(`[Prismarine-chunk] No chunk implementation for ${version?.type} ${version?.majorVersion} found`) } else { console.log(`Error while loading ${version.type} - ${version.majorVersion}`) throw e } } }