mcrp-util
Version:
A one-stop shop for all things Resource Pack, the Texture Pack replacement since 1.6-pre
68 lines (60 loc) • 1.79 kB
JavaScript
// External Libraries
const program = require('commander')
const { userInfo } = require('os')
const { join } = require('path')
// Internal Libraries
const { listPacks, readPack } = require('./lib/pack')
const { install, uninstall } = require('./lib/transport')
const { printPack } = require('./lib/printers')
// Internal configuration
const _INTERNAL = require('./_internal.json')
var mcpath = ''
// Commander
program
.version('0.0.1')
.option('-R, --read [path]', 'Reads the metadata of a Resource pack')
.option('-i, --install [path]', 'Install a Resource Pack')
.option('-r, --remove [name]', 'Remove a Resource Pack by name')
.option('-l, --list', 'List installed resource packs')
.option('-d, --mc-dir', 'Outputs the Resource Pack directory for the current user')
.parse(process.argv)
// Initialization scripts
function setPath() {
mcpath = _INTERNAL.dirs.mcpath[process.platform].replace('!', userInfo().username)
}
// Argument processing
async function processArgs() {
if (program.mcDir) {
console.log(join(mcpath, 'resourcepacks'))
}
else if (program.read !== undefined) {
console.log('Resource Pack Details:\n')
printPack(await readPack(program.read))
}
else if (program.list === true) {
console.log('Installed Resource Packs:\n')
listPacks(mcpath)
}
else if (program.install !== undefined) {
install(program.install, mcpath)
.then((message) => {
console.log(message)
})
.catch((err) => {
console.error(err)
})
}
else if (program.remove !== undefined) {
uninstall(program.remove, mcpath)
.then((message) => {
console.log(message)
})
.catch((err) => {
console.error(err)
})
}
}
// Entrypoint
setPath()
processArgs()