This release is a huge one. The main feature is the possibility to allow multiple spells to be bind to a single item, each one triggered by a different serie of actions. The cost of spells has been diversified.
Feature details
- Items will be able to store multiple "bind-data".
- Each one links 3 elements:
- A spell (ID),
- A cost (can have arguments). Basic implementation are: item durability, item count, player health, player food-level, player experience. Can be "none" to have to cost.
- A trigger, composed of a sequence of "trigger steps". Each step can be one of: "attack", "left click [block/air]", "right click [block/air]", "sneak".
Bug fixes
- The drop property of summons has been fixed.
- The all <scope> around expression did not handle properly the exclude keyword. Check your spells.
New features
- Added a send nbt statement, to apply a temporary NBT tag to an entity.
- Added a uss help command, for more information in-game.
New functions
- normalize(Vector) -> Vector : normalize a Vector.
- direction_of(Entity) -> Vector : get the direction of an Entity.
- knockback(Entity, Vector, [number]) -> Void : apply a force to an entity. If the third argument is set, the force will be normalized and multiplied by it.
API changes
- The ItemBinder interface has new methods for #bind, and the old signature as been deprecated. Legacies methods will be removed in a future version.
- The SpellEntity interface needs to implement the #setVelocity method.
Miscellaneous
- The configuration file changed. Future version will handle a proper migration system.
- Now using the Exlll/'s ConfigLib library for configuration management.