
FetchJS
FetchJS provides simple methods that allow you to make HTTP requests, send data, or download files directly from KubeJS scripts.
About this Mod
FetchJS
FetchJS provides simple methods that allow you to make HTTP requests, send data, or download files directly from KubeJS scripts.
Basic Usage
The Fetch method works similarly to the web-based fetch API.
It can be used to call APIs or send data to servers.
A common use case is for modpacks to retrieve official announcements,
or dynamically update configuration files from a GitHub repository.
FetchJS.fetch("https://zenquotes.io/api/random", data => {
event.player.tell(data);
});
The URL above returns a random quote — useful for testing.
The Download method is used for downloading files such as images or mods.
FetchJS.download(
"https://raw.githubusercontent.com/Tower-of-Sighs/SmartKeyPrompts/refs/heads/master/libs/SlashBladeResharped-1.20.1-1.3.40.jar",
"mods/SlashBladeResharped-1.20.1-1.3.40.jar",
progress => {
event.player.displayClientMessage(Component.literal("Downloading " + Math.round(progress * 100) + "%"), true);
}
);
In this example, the method downloads the SlashBlade mod directly into the mods folder
and displays real-time download progress to the player.
Downloading images is usually faster and more practical—
please, use it responsibly. 😄
Advanced Usage
The examples above demonstrate the simplified usage.
For more complete control, you can use the extended versions of these methods:
boolean fetch(String url,
String method,
Map<String, String> headers,
String jsonBody,
Map<String, String> formData,
int timeoutMillis,
Consumer<String> callback);
boolean download(String url,
String path,
Map<String, String> headers,
int timeoutMillis,
Consumer<Double> progressCallback);
You can safely pass null for unused parameters.timeoutMillis defines the maximum time (in milliseconds) to wait before a connection fails —
for example, GitHub’s default limit is around 20,000 ms.
In most cases, the simplified methods should meet your needs.
The extended versions have not been deeply tested, so use them carefully.
If you’re unsure how to use these parameters,
refer to the official Fetch API documentation.
Notes
This mod is a bit experimental — who knows how long it’ll last.
Use it while it lives, and enjoy it while you can.
Available Versions
How to Install FetchJS on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set forge Loader
In the panel under "Egg", select the forge loader and matching Minecraft version (1.20.6).
Install Mod
Open the mod browser in the dashboard and search for "FetchJS". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.20.6, 1.20.5, 1.20.4 (+3 more)
Server-side
~ OptionalRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
FetchJS server crashes on startup – what to do?
Most common cause: wrong forge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.20.6). You can switch loaders with one click in the panel.
Is FetchJS compatible with forge?
FetchJS officially supports forge for Minecraft 1.20.6, 1.20.5, 1.20.4. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with FetchJS – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if FetchJS consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install FetchJS with just one click on your server.