A Carpet mod extension for some additional scarpet functions
Reqires Carpet mod
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 indraw_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); ) );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 frommethod(String, optional): The http request method. For exampleGET,POST,DELETE,... Defaults toGETheaders(Map, optional): Each map entry is a string key pointing to a string, or list of stringsbody(String): The body forPOSTor other requests
The function returns a map with the following entries:
status_code(number): The status code of the requestbody(String): The body returned from the requestheaders(Map: string -> [strings]): The received response headersuri(String): The originally requested URI
When the request fails, a http_request_error exception is thrown, which can be caught with try(). This is only for actual failures to make the request (such as a network error). Successful requests with a 400 or 500 status code will not throw an exception.
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); );Returns the escaped html string (e.g. " -> ")
Returns the unescaped html string (e.g. " -> ")
Sets header and footer in tab menu of all players, or changes it for one player if player? is given.
Sets the message of the day of the server.