JoanNet Neue - MTR-NTE JavaScript Library

JavaScript library designed to work with decorative blocks that use scripts in my resource packs released for Minecraft with MTR-NTE mods. Only compatible with MTR version 3.

691

JoanNet Neue - MTR-NTE JavaScript Library

STAY TUNED FOR A NEW (and a better...) JOANNET LIBRARY!

---

JoanNet Version 0.1 documentation:

This library is NOT compatible with MTR 4, only MTR 3.

Built-in Features

`fetch(url: String)`

⚠️ Internal use only. Do not use. Performs a GET request using the provided URL. ```js function fetch(url) { return response } ``` ****

`fetchDepartures(stationID: String, url: String, port: Number, secure: Boolean)`

Requires `fetch()` to be imported. Retrieves the next departures from a station using its code. Optional parameters allow you to set a custom base URL, port, and HTTPS mode. If all three are `null`, it defaults to: `http://localhost:8888/arrivals?stationId=<stationID>` ```js function fetchDepartures(stationID, url, port, secure) { return Array<Object> } ``` ****

`fetchDeparturesFromPlatform(stationID: String, platformID: String, url: String, port: Number, secure: Boolean)`

Requires `fetch()` to be imported. Gets the next departures from a specific platform of a station. URL, port, and HTTPS are optional. Defaults to: `http://localhost:8888/arrivals?stationId=<stationID>` ```js function fetchDeparturesFromPlatform(stationID, platformID, url, port, secure) { return Array<Object> } ``` ****

`fetchFirstDepartureFromPlatform(stationID: String, platformID: String, url: String, port: Number, secure: Boolean)`

only the first Returns only the first upcoming departure for a specific platform. Same URL behavior as above. ```js function fetchFirstDepartureFromPlatform(stationID, platformID, url, port, secure) { return Object } ``` ****

`fetchMTRData(url: String, port: Number, secure: Boolean)`

Requires `fetch()` to be imported. Fetches all MTR data and combines the dimensions into one object. Optional base URL, port, and HTTPS settings apply. Defaults to: `http://localhost:8888/data` ```js function fetchMTRData(url, port, secure) { return Object } ``` ****

`formatStop(stationName: String)`

Formats a station name by trimming whitespace, removing emojis, and replacing single pipe characters. If the name has multiple parts, extra names are grouped in parentheses.

- Example 1: `"East Hills||Pittsburgh|East"` → `"East Hills (Pittsburgh/East)"` - Example 2: `"West Ham 🍖||Stewie||South 🧭"` → `"West Ham (Stewie, South)"` ```js function formatStop(stationName) { return String } ``` ****

`getCurrentFormattedTime()`

⚠️ DEPRECATED: Use `getTime(ms)` instead.

Returns the current time as `"HH:MM"`. ```js function getCurrentFormattedTime() { return String } ``` ****

`getCurrentStation(dataset: Object, stationID: String)`

⚠️ DEPRECATED: Dataset functions will be removed in future versions.

Returns the station data for a given station ID from the provided dataset. Fails if the station is not found or if `stationID` is not a string. ```js function getCurrentStation(dataset, stationID) { return Object } ``` ****

`getRemainingMinutes(arrivalTime: Number)`

Returns the number of minutes remaining until the given arrival time. Returns `0` if there's an error or if arrival is in less than 1 minute. Fails if `arrivalTime` is undefined or not a number. ```js function getRemainingMinutes(arrivalTime) { return Number } ``` ****

`getStationData(xPos: Number, zPos: Number, url: String, port: Number, secure: Boolean)`

Requires `fetchMTRData()` to be imported. Returns the closest station to the given coordinates. URL, port, and HTTPS are optional. Defaults to: `http://localhost:8888/data`

> ⚠️ Important: The MTR API won't list a station unless a route serves it. Place this script only *after* service has started.

```js function getStationData(xPos, zPos, url, port, secure) { return Object } ``` ****

`getStationsOfRouteFrom(dataset: Object, routeName: String, stationName: String)`

⚠️ DEPRECATED: Dataset functions will be removed in future versions.

Returns a list of the remaining stations on a route from a given station. Route and station names must match exactly with those in the MTR API. ```js function getStationsOfRouteFrom(dataset, routeName, stationName) { return Array<String> } ``` ****

`getTime(ms: Number?)`

Returns the time in `"HH:MM"` format. If `ms` is `null`, returns the current system time.

- `getTime(1750843821742)` → `"11:30"` - `getTime(null)` → `"09:35"` (e.g. if run on June 25, 2025 at 09:35:14)

```js function getTime(ms) { return String } ```

---

Troubleshooting

A: A: Low-spec computers may struggle with multiple script models. Try reducing the number of active models in the render area or lower their refresh rate. More info: A:

---

A: A: Reload the resource packs in-game using `F3 + T`.

---

A: A: Has the station already been assigned to a route and started service? The MTR API won't recognize it until active service is detected.

ADS