Skip to content

A lightweight library in Node.js that provides formatting features and little additions for any development related to Trackmania.

License

Notifications You must be signed in to change notification settings

GreepTheSheep/node-tm-essentials

Repository files navigation

Trackmania Essentials (for Node.js)

npm GitHub release

Unit Tests

A light-weight library that provides formatting features for Trackmania games.

Installation

Node.js

npm install tm-essentials

Then you can retrieve the library with:

const TMEssentials = require('tm-essentials');

Browser

<script src="https://unpkg.com/tm-essentials"></script>

Then you can retrieve the library from the global variable TMEssentials

Text formatting

TextFormatter.deformat()

let formatted = "$F00T$D01M$C13U$A14.$815K$727r$528a$329z$23By$03CC$03Co$04Bl$059o$068r$077s$085 $094v$0A30$0B1.$0C01";
let deformatted = TextFormatter.deformat(formatted);
console.log(deformatted);

// Output: TMU.KrazyColors v0.1

TextFormatter.formatAnsi()

Will parse the color formatting and convert it to ANSI escape codes. Works best on console output.

let formatted = "$F00T$D01M$C13U$A14.$815K$727r$528a$329z$23By$03CC$03Co$04Bl$059o$068r$077s$085 $094v$0A30$0B1.$0C01";
let ansiFormat = TextFormatter.formatAnsi(formatted);
console.log(deformatted);

This will not deformat basic formatting codes, but you can combine them with TextFormatter.deformat() to get the original text.

let formatted = "$F00T$D01M$C13U$A14.$815K$727r$528a$329z$23By$03CC$03Co$04Bl$059o$068r$077s$085 $094v$0A30$0B1.$0C01";
let ansiFormat = TextFormatter.deformat(TextFormatter.formatAnsi(formatted));
console.log(deformatted);

Time formatting

Time.time - Total milliseconds as integer value.

Time.toTmString()

Time.fromMilliseconds(1337).toTmString(); // "0:01.337"
Time.fromMilliseconds(1337).toTmString(true); // Will use hundredths as output: "0:01.33"

Time.fromSeconds(13.37).toTmString(); // "0:13.370"
Time.fromMinutes(13.37).toTmString(); // "13:37.000"
Time.fromHours(13.37).toTmString(); // "13:37:00.000"

Time.noTime.toTmString(); // "-:--.---"

Accounts formatting

Accounts.toAccountId()

Accounts.toAccountId("Jtmn3kBnSSadky_mLNhp_A") // "26d9a7de-4067-4926-9d93-2fe62cd869fc"

Accounts.toLogin()

Accounts.toLogin("26d9a7de-4067-4926-9d93-2fe62cd869fc") // "Jtmn3kBnSSadky_mLNhp_A"

Contributions

Alt

About

A lightweight library in Node.js that provides formatting features and little additions for any development related to Trackmania.

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors 4

  •  
  •  
  •  
  •