Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/replaceitem/scarpet-additions
Adds some new functions to the scarpet language
https://github.com/replaceitem/scarpet-additions
carpet-extension-mod carpet-mod scarpet
Last synced: 2 months ago
JSON representation
Adds some new functions to the scarpet language
- Host: GitHub
- URL: https://github.com/replaceitem/scarpet-additions
- Owner: replaceitem
- License: mit
- Created: 2020-09-23T18:34:21.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-16T20:15:51.000Z (7 months ago)
- Last Synced: 2024-10-15T06:28:08.003Z (3 months ago)
- Topics: carpet-extension-mod, carpet-mod, scarpet
- Language: Java
- Homepage: https://modrinth.com/mod/scarpet-additions
- Size: 214 KB
- Stars: 22
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# scarpet-additions
[](https://fabricmc.net/)
[](https://github.com/replaceitem)
[](https://modrinth.com/mod/scarpet-additions)
[](https://discord.gg/etTDQAVSgt)![scarpet-additions](https://raw.githubusercontent.com/replaceitem/scarpet-additions/master/src/main/resources/assets/scarpet-additions/icon.png)
## A [Carpet mod](https://modrinth.com/mod/carpet) extension for some additional [scarpet](https://github.com/gnembon/fabric-carpet/wiki/Scarpet) functions
**Reqires [Carpet mod](https://modrinth.com/mod/carpet)**
## 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:
```py
__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 requestsThe 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 URINote 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:
```js
// simple get request and parsingresponse = 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. `"` -> `"`)
### `unescape_html(html)`
Returns the unescaped html string (e.g. `"` -> `"`)
### `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.