Skip to content
This repository was archived by the owner on Sep 5, 2025. It is now read-only.

v2.3.0

Choose a tag to compare

@zachwaffle4 zachwaffle4 released this 23 Jun 21:29
· 38 commits to main since this release
fef2612

What's Changed

  • ActionRunner registers itself properly now
  • Add Interruptible interface that designates an Action as being interruptible
    • An Interruptible action has an onInterrupt() method which returns an Action that will be run when this action is interrupted
    • You can also use the .interruptible(onInterruption: Action) function to turn an Action into an Interruptible.
  • RaceAction will trigger the onInterrupt actions of any Interruptibles after its first component Action ends.
  • Add requirements property (getRequirements() function for Java users) of Action
    • requirements is of type Set<Any>, so any object can be used as a requirement
    • If you attempt to schedule an Action using ActionRunner.run(), ActionRunner will check to see if that action's requirements are already in use from a different action in the queue. If they are, ActionRunner will remove the older action from the queue, freeing its requirements for the new action. If the old action is Interruptible, ActionRunner will also add its onInterrupt to the queue.

Full Changelog: v2.2.1...v2.3.0