Class ExprArithmeticOperators

java.lang.Object
io.github.syst3ms.skriptparser.expressions.ExprArithmeticOperators
All Implemented Interfaces:
Expression<Number>, SyntaxElement

public class ExprArithmeticOperators extends Object implements Expression<Number>
Various arithmetic expressions, including addition, subtraction, multiplication, division and exponentiation. Notes :
  • All of the operations will accommodate for the type of the two operands.
    • Two operands of the same type will yield a result of that type, except in the following special cases
      • Trying to divide anything by 0 will return 0 regardless of the original types.
    • Adding a decimal type to an integer type will yield a decimal result.
    • If any of the operands is an arbitrary precision number, the result will be of arbitrary precision
  • 00 is defined to be 1
Since:
ALPHA
  • Field Details

  • Constructor Details

    • ExprArithmeticOperators

      public ExprArithmeticOperators()
  • Method Details

    • init

      public boolean init(Expression<?>[] exprs, 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).
      Specified by:
      init in interface SyntaxElement
      Parameters:
      exprs - 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 Number[] getValues(TriggerContext ctx)
      Description copied from interface: Expression
      Retrieves all values of this Expression, accounting for possible modifiers. This means that if this is an or-list, it will choose a random value to return.
      Specified by:
      getValues in interface Expression<Number>
      Parameters:
      ctx - the event
      Returns:
      an array of the values
      See Also:
    • toString

      public String toString(TriggerContext ctx, boolean debug)
      Specified by:
      toString in interface SyntaxElement
      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