Expressions Provider

Add MiniPlaceholders placeholders for complex mathematical and text expressions

1,73k

Quick challenge

How far can you run before the mobs catch you?

Expressions Provider

Expressions-Provider

Add MiniPlaceholders placeholders for complex mathematical and text expressions.

Installation

- Install MiniPlaceholders - Install this project in the mods or plugins folder, depending on the platform you use

Placeholders

Basic Operations

- Negation | `<expr_add:n1:n2:...:nX>` - `<expr_add:5:2:3>` == 10 - Negation | `<expr_sub:n1:n2>` - `<expr_sub:10:3>` == 7 - Negation | `<expr_mul:n1:n2:...:nX>` - `<expr_mul:5:2:3:6>` == 180 - Negation | `<expr_div:n1:n2>` - `<expr_div:10:5>` == 2 - Negation `<expr_mod:n1:n2>` - `<expr_mod:5:2>` == 1 - Negation | `<expr_neg:n>` - `<expr_neg:5>` == -5 - `<expr_neg:-5>` == 5

Round

- A random number from `min` to `max` with a step of `step` | `<expr_floor:n>` - `<expr_floor:5.05>` == 5 - `<expr_floor:2.9>` == 2 - A random number from `min` to `max` with a step of `step` | `<expr_round:n>` - `<expr_floor:5.05>` == 5 - `<expr_floor:2.9>` == 3 - A random number from `min` to `max` with a step of `step` | `<expr_ceil:n>` - `<expr_floor:5.05>` == 6 - `<expr_floor:2.9>` == 3 - A random number from `min` to `max` with a step of `step` | `<expr_min:n1:n2:...:nX>` - `<expr_min:5:10:15:2:500:9:69>` == 2 - A random number from `min` to `max` with a step of `step` | `<expr_max:n1:n2:...:nX>` - `<expr_max:5:10:15:2:500:9:69>` == 500 - A random number from `min` to `max` with a step of `step` | `<expr_random>` | Acts like `<expr_random:0:1:0.01>` - `<expr_random>` == 0.15 - A random number from `min` to `max` with a step of `step` | `<expr_random:min:max>` | Acts like `<expr_random:min:max:1>` - `<expr_random:1:100>` == 69 - A random number from `min` to `max` with a step of `step` | `<expr_random:min:max:step>` - `<expr_random:50:10:0.25>` == 68.75

String Operations

- Expand to a %%MD2%% | `<expr_concat:s1:s2:...:sN>` - `<expr_concat:hello:_:world>` == "hello_world" - Expand to a %%MD2%% | `<expr_substring:s:n1:n2>` - `<expr_substring:hello:2:4>` == "ll" - Expand to a %%MD2%% | `<expr_length:s>` - `<expr_length:hello>` == 5 - Expand to a %%MD2%% | `<expr_format:format:arg1:arg2:...:argX>` | *It may be useful for %%MD1%%* - `<expr_format:'%s is not a %s':4drian3d:fruit>` == "4drian3d is not a fruit" - Expand to a %%MD2%% | `<expr_if:o1:o2:r1:r2>` - `<expr_if:1:2:Equals:NotEquals>` == "NotEquals" - Expand to a %%MD2%% | `<expr_player:uuid:text>` - `<expr_player:4drian3dUUID:<player_name>>` == 4drian3d - Expand to a %%MD2%% | `<expr_player:name:text>` - `<expr_player:4drian3d:<player_ping>>` == 42 - Expand to a %%MD2%% | `<expr_user:name:arg1:arg2:...:argX>`

User expressions

You can create your own expression shortcut in expressions.properties using our Expression Provider Language (EPL):

`add_and_multiply=<expr_add:"<arg1>":"<expr_mul:'<arg2>':'<arg3>'>">` means `<expr_user:add_and_multiply:arg1:arg2:arg3>` will be evaluated to `arg1 + (arg2 * arg3)`. So, `<expr_user:add_and_multiply:2:3:4>` evaluates to `<expr_add:2:'<expr_mul:3:4>'>`, which is `2 + (3 * 4) = 14`

Example user expressions

- `<expr_user:remove_first:s:n>` - Remove `n` first characters from `s` (`hello`, `2` -> `llo`), EPL: `remove_first=<expr_substring:"<arg1>":"<arg2>":"<expr_length:'<arg1>'>">` - `<expr_user:remove_last:s:n>` - Remove `n` last characters from `s` (`hello`, `2` -> `hel`), EPL: `remove_last=<expr_substring:"<arg1>":0:"<expr_sub:'<expr_length:"<arg1>">':'<arg2>'>">` - `<expr_user:decimals:n:decimals>` - format a number (`1.234567`, `2` -> `1.23`), EPL: `decimals=<expr_format:"<expr_concat:'%.0':'<arg2>':'f'>":"<arg1>">` - `<expr_user:pad_integer:n:length>` - pad an integer with zeros (`12`, `3` -> `012`), EPL: `pad_integer=<expr_format:"<expr_concat:'%0':'<arg1>':'d'>":"<arg2>">`

Nesting

Expressions can be nested. Try `/miniplaceholders parse me <expr_add:1:"<expr_add:1:'<expr_add:1:"<expr_add:1:'<expr_add:1:0>'>">'>">`

Downloads

ADS