promotional bannermobile promotional banner

FetchJS

FetchJS provides simple methods that allow you to make HTTP requests, send data, or download files directly from KubeJS scripts.

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.

The FetchJS Team

profile avatar
  • 39
    Followers
  • 25
    Projects
  • 8.6M
    Downloads

More from MerrySnowView all

  • ApricityUI project image

    ApricityUI

    • 272
    • Mods

    Build Minecraft UI with HTML + CSS + JS, follows Web standards as closely as possible.

    • 272
    • May 11, 2026
    • Mods
    • +1
  • One Enough Lib project image

    One Enough Lib

    • 1.4M
    • Mods

    A Lib for simplified development of the OE series

    • 1.4M
    • May 9, 2026
    • Mods
  • Merry Snow project image

    Merry Snow

    • 1.8K
    • Mods

    Focuses on snow-related mechanics, aiming to add more variations to the vanilla snow mechanics in Minecraft.

    • 1.8K
    • April 25, 2026
    • Mods
  • Handheld Moon - (with flashlight) project image

    Handheld Moon - (with flashlight)

    • 78.3K
    • Mods

    Adds several large-area lighting items such as flashlights and mini moons.

    • 78.3K
    • April 24, 2026
    • Mods
  • ApricityUI project image

    ApricityUI

    • 272
    • Mods

    Build Minecraft UI with HTML + CSS + JS, follows Web standards as closely as possible.

    • 272
    • May 11, 2026
    • Mods
    • +1
  • One Enough Lib project image

    One Enough Lib

    • 1.4M
    • Mods

    A Lib for simplified development of the OE series

    • 1.4M
    • May 9, 2026
    • Mods
  • Merry Snow project image

    Merry Snow

    • 1.8K
    • Mods

    Focuses on snow-related mechanics, aiming to add more variations to the vanilla snow mechanics in Minecraft.

    • 1.8K
    • April 25, 2026
    • Mods
  • Handheld Moon - (with flashlight) project image

    Handheld Moon - (with flashlight)

    • 78.3K
    • Mods

    Adds several large-area lighting items such as flashlights and mini moons.

    • 78.3K
    • April 24, 2026
    • Mods