Custom status effects, and four more
Apoli 1.95.0 is a feature release, built on work contributed by FLDebug10 and PolarKookie.
Custom status effects
A file in data/<namespace>/effects/ now defines a real status effect. It works with /effect give, potions, apoli:apply_effect and apoli:status_effect, and while an entity has it, the entity holds the powers the file lists:
{
"type": "beneficial",
"powers": ["example:frenzy_speed"],
"r": 0.85, "g": 0.15, "b": 0.1,
"name": "Frenzy"
}The server sends the list to every client, so players only need a resource pack for icons and translations. Server owners can switch the whole feature off in config/apoli-effects.json. Everything else is on the Custom status effects page.
/resource operation and /execute store resource
/resource operation combines a resource with a scoreboard score, using the same operators as /scoreboard players operation, down to its rounding and its "Cannot divide by zero" error:
resource operation @s example:mana += @s mana_bonusresource is also a target for /execute store now, and it chains with the other store clauses the way store score does:
execute store result resource @s example:mana run data get entity @s XpLevelBoth are on the Resource command page.
Three new types
apoli:sprintingmakes the player sprint whenever they move forward.apoli:cooldown, an item action, puts the item on cooldown, like an ender pearl after a throw.apoli:aggro_at, a bi-entity action, makes a neutral mob angry at a player.
Update both sides
This release changes the network protocol, so the server and every player need Apoli 1.95.0, and a client on an older version can't join.