Class ExecExprListOperators

All Implemented Interfaces:
Expression<Object>, SyntaxElement

public class ExecExprListOperators extends ExecutableExpression<Object>
Basic list operators that return the following elements:
  • pop: the last element
  • shift/poll: the first element
  • extract: a specific (or just the first/last) element
  • splice: elements in a certain bound
However, this syntax can also be used as an effect. If this is the case, instead of returning the elements, specified above, it will remove them from the list, similar to their JavaScript counter-parts.
Note that indices in Skript start at one and that both the lower and upper bounds are inclusive. The step function can be used in the splice pattern to skip over certain values. Note that when a negative step function is used, the list is reversed as well as the lower and upper bounds, which means the lower bound must be higher than the upper bound.
Since:
ALPHA
See Also:
  • Constructor Details

    • ExecExprListOperators

      public ExecExprListOperators()
  • Method Details

    • init

      public boolean init(Expression<?>[] expressions, int matchedPattern, ParseContext parseContext)
      Description copied from interface: SyntaxElement
      Initializes this SyntaxElement before being used. This method is always called before all the others in an extending class, the only exception being CodeSection.loadSection(FileSection, ParserState, SkriptLogger).
      Parameters:
      expressions - an array of expressions representing all the expressions that are being passed to this syntax element. As opposed to Skript, elements of this array can't be null.
      matchedPattern - the index of the pattern that was successfully matched. It corresponds to the order of the syntaxes in registration
      parseContext - an object containing additional information about the parsing of this syntax element, like regex matches and parse marks
      Returns:
      true if the syntax element was initialized successfully, false otherwise.
      See Also:
    • getValues

      public Object[] getValues(TriggerContext ctx, boolean isEffect)
      Description copied from class: ExecutableExpression
      Retrieves all values of this expression, if used as one. Otherwise, if used as an effect, performs side-effects with certain behaviour. Note that when this is not the case, this syntax, by convention, should not have any side-effects.
      Specified by:
      getValues in class ExecutableExpression<Object>
      Parameters:
      ctx - the context
      isEffect - whether this syntax is used as effect or as an expression
      Returns:
      an array of the values
    • isSingle

      public boolean isSingle()
      Returns:
      whether this expression returns a single value. By default, this is defined on registration, but it can be overridden.
    • toString

      public String toString(TriggerContext ctx, boolean debug)
      Parameters:
      ctx - the event
      debug - whether to show additional information or not
      Returns:
      a String that should aim to resemble what is written in the script as closely as possible