UNPKG

papermc-cli

Version:

A CLI to help in creating PaperMC Minecraft servers.

58 lines 2.95 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createProperties = exports.getDefaultProperties = void 0; const fs_1 = require("fs"); const axios_1 = __importDefault(require("axios")); const generators_1 = require("./generators"); const getDefaultProperties = () => __awaiter(void 0, void 0, void 0, function* () { const { data } = yield axios_1.default.get('https://server.properties/'); let map = new Map(); data.split('\n').filter((line) => line.length >= 1 && !line.startsWith('#') && line.includes('=')).forEach((line) => { const [key, value] = line.split('='); if (value === 'true' || value === 'false') { map.set(key, value === 'true'); } else if (!Number.isNaN(+value)) { map.set(key, +value); } else { map.set(key, value); } }); return map; }); exports.getDefaultProperties = getDefaultProperties; const createProperties = (propertiesAnswers) => __awaiter(void 0, void 0, void 0, function* () { const map = yield (0, exports.getDefaultProperties)(); map.set('pvp', propertiesAnswers.pvp); map.set('gamemode', propertiesAnswers.gamemode); map.set('difficulty', propertiesAnswers.difficulty); map.set('enable-command-block', propertiesAnswers.commandBlocks); map.set('max-players', propertiesAnswers.maxPlayers); map.set('motd', propertiesAnswers.motd); map.set('view-distance', propertiesAnswers.viewDistance); map.set('server-port', propertiesAnswers.port); map.set('white-list', propertiesAnswers.whitelist !== null); let out = '# This file was generated with PaperMC-CLI (https://www.npmjs.com/package/papermc-cli)'; map.forEach((value, key) => { out += `\n${key}=${value}`; }); yield fs_1.promises.writeFile('server.properties', out); (0, generators_1.genWhitelist)(propertiesAnswers.whitelist); (0, generators_1.genOps)(propertiesAnswers.opped); (0, generators_1.genEULA)(propertiesAnswers.eula); }); exports.createProperties = createProperties; //# sourceMappingURL=server-properties.js.map