1.0.3 • Published 3 years ago

node-legacy-smp v1.0.3

Weekly downloads
3
License
ISC
Repository
github
Last release
3 years ago

Node Legacy SMP

Features

Get the latest new advancement\ Get the advancement leaderboard\ Get advancements by category\ Get vote options\ Get previous vote result\ Set cache time

Installing

npm i node-legacy-smp

Examples

Get advencements progression

const LegacySMP = require("node-legacy-smp");
const LegacySMPAdvancements = new LegacySMP.Advancements();

async function main() {
    advancementsMainPage = await LegacySMPAdvancements.fetchAdvancementsProgression(); // Fetch advancements progression
    console.log(advancementsMainPage);
    /*
    {
        percentage: '49.6%',
        completed: '405',
        latestAdvancementTitle: "There's yolk on my head",
        latestAdvancementCondition: 'Catapult an egg onto a zombie's head',
        latestAdvancementPlayerName: 'PearlescentMoon',
        latestAdvancementPlayerImageRef: 'https://legacysmp.com/packs/media/images/avatars/100/pearlescentmoon-b6982f72e87c10427b18fd4ced6d2e35.png',
        latestAdvancementTimeCompleted: ' First accomplished about 19 hours ago'
        leaderboard : [{
            position: '1',
            name: 'MythicalSausage',
            imageRef: 'https://legacysmp.com/packs/media/images/avatars/100/mythicalsausage-dfe0cc0ed2a233147602ea48cc3af8ff.png',
            advancementsMade: '274'
        }...]
    }
    */

    
   console.log(advancementsMainPage.leaderboard[0]);
    /*{
        position: '1',
        name: 'MythicalSausage',
        imageRef: 'https://legacysmp.com/packs/media/images/avatars/100/mythicalsausage-dfe0cc0ed2a233147602ea48cc3af8ff.png',
        advancementsMade: '274'
    }*/
}

main();

Get advancements by category

const LegacySMP = require("node-legacy-smp");
const LegacySMPAdvancements = new LegacySMP.Advancements();
const categories = LegacySMPAdvancements.advancementCategories;

async function main() {
    adventureAdvancements = await LegacySMPAdvancements.fetchAdvancementCategory(categories.ADVENTURE);
    console.log(adventureAdvancements);
    /*
    {
        completedAdvancements: [
            {
                completed: true,
                name: 'Artillery',
                condition: 'Have nine loaded crossbows in your hotbar. All set!',
                playerName: 'JermsyBoy',
                imageRef: 'https://legacysmp.com/packs/media/images/avatars/100/jermsyboy-0af0472e653350ce26e99901b8294c41.png',
                timeCompleted: ' First accomplished 6 days ago
            },
            ...
        ],
        notCompletedAdvancements: [
            {
                completed: false,
                name: 'A Complete Catalogue',
                condition: 'Tame all cat variants!'
            },
            {
                completed: false,
                name: 'All chained up',
                condition: 'Trade for a piece of chain armor from an armorer villager'
            },
            ...
        ]
    }
    */
}

main();
const LegacySMP = require("node-legacy-smp");
const LegacySMPAdvancements = new LegacySMP.Advancements();
const categories = LegacySMPAdvancements.advancementCategories;

async function main() {
    adventureAdvancements = await LegacySMPAdvancements.fetchAdvancementCategory(categories.ADVENTURE);
    console.log(adventureAdvancements.completedAdvancements[0]);
    /*
    {
        completed: true,
        name: 'Artillery',
        condition: 'Have nine loaded crossbows in your hotbar. All set!',
        playerName: 'JermsyBoy',
        imageRef: 'https://legacysmp.com/packs/media/images/avatars/100/jermsyboy-0af0472e653350ce26e99901b8294c41.png',
        timeCompleted: ' First accomplished 6 days ago'
    }
    */
}

main();

Get vote options

const LegacySMP = require("node-legacy-smp");
const LegacySMPVotes = new LegacySMP.Votes();

async function main() {
    var votePage = await LegacySMPVotes.fetchVotes();
    console.log(votePage.voteOptions)
    /*
    [
        {
            name: 'Drop Your Wallet!',
            description: 'Must carry all your diamonds on you at all times',
            votePercentage: 15.342465753424658,
            nbOfVotes: 56
        },
        {
            name: 'Face-Off',
            description: 'Always wear the last head you got as a drop',
            votePercentage: 10.41095890410959,
            nbOfVotes: 38
        }...
    ]
    */

   console.log(votePage.voteTimeLeft); // '14 days to go'
   console.log(votePage.nbOfVotes); // 362
   console.log(votePage.question); // 'Next vote...'
}

main();

Get previous vote result

const LegacySMP = require("node-legacy-smp");
const LegacySMPVotes = new LegacySMP.Votes();

async function main() {
    var votePage = await LegacySMPVotes.fetchVotes();
    console.log(votePage.previousResults)
    /*
    [
        {
            question: 'How evil do you feel?',
            name: 'Blood Nights',
            description: 'You must fight anyone you see at night.... to the death!',
            nbOfVotes: 5332,
            timeClosed: 'Closed about 11 hours ago'
        }
    ]
    */
}

main();

Set cache time

const LegacySMP = require("node-legacy-smp");
const LegacySMPVotes = new LegacySMP.Votes();
const LegacySMPAdvancements = new LegacySMP.Advancements();

async function main() {
    LegacySMPVotes.setCacheMinutes(5);
    LegacySMPAdvancements.setCacheMinutes(7);
}

main();