Interface IConditionalAction

  • All Superinterfaces:
    IAction

    public interface IConditionalAction
    extends IAction
    • Method Detail

      • setCondition

        IConditionalAction setCondition​(java.util.function.Supplier<java.lang.Boolean> condition)
        Parameters:
        condition - supplier checked every tick, if it returns true, task is fired
        Returns:
      • terminateWhen

        IConditionalAction terminateWhen​(java.util.function.Supplier<java.lang.Boolean> terminateWhen)
        Parameters:
        terminateWhen - supplier checked every tick, if it returns true, action is terminated (gets marked done)
        Returns:
        this action
      • onTermination

        IConditionalAction onTermination​(java.util.function.Consumer<IAction> onTermination)
        Parameters:
        onTermination - code to run when the termination condition returns true
        Returns:
        this action
      • wasTaskExecuted

        boolean wasTaskExecuted()
        Returns:
        true if condition was satisfied and task ran (i.e can be called in termination task to see if original task was executed then do code based on that, if not return early)
      • getCheckCount

        int getCheckCount()
        Note: Only for Conditional Actions
        Returns:
        how many times this conditional action has tested its condition
      • getMaxChecks

        int getMaxChecks()
        Note: Only for Conditional Actions
        Returns:
        the maximum number of checks before auto-expiring, or -1 if unlimited
      • setMaxChecks

        IConditionalAction setMaxChecks​(int maxChecks)
        Parameters:
        maxChecks - maximum times to test condition before auto-cancelling
        Returns:
        this action
      • after

        IConditionalAction after​(java.util.function.Supplier<java.lang.Boolean> condition,
                                 java.util.function.Consumer<IAction> task)
      • after

        IConditionalAction after​(java.lang.String name,
                                 java.util.function.Supplier<java.lang.Boolean> condition,
                                 java.util.function.Consumer<IAction> task)
      • after

        IConditionalAction after​(java.util.function.Supplier<java.lang.Boolean> condition,
                                 java.util.function.Consumer<IAction> task,
                                 java.util.function.Supplier<java.lang.Boolean> terminate)
      • after

        IConditionalAction after​(java.lang.String name,
                                 java.util.function.Supplier<java.lang.Boolean> condition,
                                 java.util.function.Consumer<IAction> task,
                                 java.util.function.Supplier<java.lang.Boolean> terminate)
      • after

        IConditionalAction after​(java.util.function.Supplier<java.lang.Boolean> condition,
                                 java.util.function.Consumer<IAction> task,
                                 java.util.function.Supplier<java.lang.Boolean> terminateWhen,
                                 java.util.function.Consumer<IAction> onTermination)
      • after

        IConditionalAction after​(java.lang.String name,
                                 java.util.function.Supplier<java.lang.Boolean> condition,
                                 java.util.function.Consumer<IAction> task,
                                 java.util.function.Supplier<java.lang.Boolean> terminateWhen,
                                 java.util.function.Consumer<IAction> onTermination)