Перейти к содержимому
Mineforgian

Scarpet additions

Adds some miscellaneous new functions like http requests to the scarpet language

Загрузки
5K
Подписчики
9
Обновлён
8 апреля 2026 г.
Лицензия
MIT

Опубликован 17 июня 2022 г.

scarpet-additions

Available for fabric See me on GitHub Available on Modrinth Chat on Discord

scarpet-additions

A Carpet mod extension for some additional scarpet functions

Reqires Carpet mod

Functions

convert_color(color,model,output)

Converts a color from one model to another.

color -> List: Depending on specified model

model -> String: Input color model, can be RGB, RGBA or HSB

  • RGB: List of a red, green and blue value
  • RGBA: List of a red, green, blue and alpha value
  • HSB: List of a hue, saturation and brightnes value

output -> String: Output color model, can be RGB, RGBA, HEX or NUM

  • RGB: List of a red, green and blue value
  • RGBA: List of a red, green, blue and alpha value
  • HEX: String of hex characters (without leading '#') Can be used for format()
  • NUM: Number representing the color as 4 bytes: 0xRRGGBBAA. Can be used for 'color' parameter in draw_shape()

Examples:

convert_color([255,128,0],'rgb','hex'); -> 'FF8000'

convert_color([255,128,0],'rgb','num'); -> 0xff7f00ff

convert_color([0,255,255],'hsb','hex'); -> 'FF0000'

convert_color([120,255,255],'hsb','hex'); -> '00FF00'

Example:

__on_tick() -> (
    if((tick_time() % 2) == 0,
        headerHue = tick_time()%360;
        headerGlossIndex = (floor(tick_time()/3)%40)-10;
        header = [];
        title = 'MinecraftServer';
        for(range(length(title)),
            if(abs(_-headerGlossIndex) < 3,
                c = convert_color([headerHue,abs(_-headerGlossIndex)/3*255,255],'hsb','hex');
            ,
                if(_ < 7,
                    c = convert_color([headerHue,255,190],'hsb','hex');
                ,
                    c = convert_color([headerHue,255,255],'hsb','hex');
                );
            );
            put(header,null,str('b#%s %s',c,slice(title,_,_+1)));
        );
        header = format(header);
        footer = format('r to the server!');
        set_tab_text(header,footer);
  )
);

http_request(options)

Performs a http request specified by the given options.

This call is blocking, so you should use it in a task()!

The options parameter is a map value with the following keys:

  • uri (String): The URI to request from
  • method (String, optional): The http request method. For example GET, POST, DELETE,... Defaults to GET
  • headers (Map, optional): Each map entry is a string key pointing to a string, or list of strings
  • body (String): The body for POST or other requests

The function returns a map with the following entries:

  • status_code (number): The status code of the request
  • body (String): The body returned from the request
  • headers (Map: string -> [strings]): The received response headers
  • uri (String): The originally requested URI

Note that the response body is not parsed as json or html escaped. Use the escape_html and unescape_html functions, as well as the scarpet-builtins encode_json and decode_json.

Example usage:

// simple get request and parsing

response = http_request({
    'uri'->'https://opentdb.com/api.php?amount=1'
});

print('Response: ' + response);

if(response:'status_code' != 200,
    print('Request failed: ' + response:'status_code');
,
    body = decode_json(response:'body');
    print('\n\nBody: ' + body);

    question_data = body:'results':0;
    question = unescape_html(question_data:'question');
    answer = unescape_html(question_data:'correct_answer');

    print('\n\n\n' + question + '\n' + answer);
);

escape_html(html)

Returns the escaped html string (e.g. " -> &quot;)

unescape_html(html)

Returns the unescaped html string (e.g. &quot; -> ")

list_text(header, footer, player?)

Sets header and footer in tab menu of all players, or changes it for one player if player? is given.

set_motd(motd)

Sets the message of the day of the server.

Ченджлог

1.1.4Релиз26.1.1, 26.1.2, 26.2 · 8 апреля 2026 г.
  • Updated to MC 26.1
1.1.3Релиз1.21.6, 1.21.7, 1.21.8 · 27 октября 2024 г.
  • http requests failing will now throw a custom scarpet exception type http_request_error
1.1.2Релиз1.20.6, 1.21, 1.21.1 · 23 апреля 2024 г.
  • Updated to MC 1.20.5
1.1.1Релиз1.20.4 · 12 декабря 2023 г.
  • Updated to MC 1.20.4
1.1.0Релиз1.20, 1.20.1, 1.20.2 · 7 июня 2023 г.
  • Updated to Minecraft 1.20
1.0.4Релиз1.19.4 · 20 марта 2023 г.
  • Updated to Minecraft 1.19.4
1.0.3Релиз1.19.1 · 15 ноября 2022 г.
  • Reworked http function to be more versatile, and renamed to http_request
  • Added escape_html and unescape_html functions, since the http function no longer parses and escapes json automatically
  • Added a discord link to the Modmenu page
1.0.2Релиз1.19.1 · 2 августа 2022 г.
  • http() function works now

Комментарии

Загружаем…