Class ExprArithmeticOperators
java.lang.Object
io.github.syst3ms.skriptparser.expressions.ExprArithmeticOperators
- All Implemented Interfaces:
Expression<Number>, SyntaxElement
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
- Two operands of the same type will yield a result of that type, except in the following special cases
- 00 is defined to be 1
- Since:
- ALPHA
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionNumber[]getValues(TriggerContext ctx) Retrieves all values of this Expression, accounting for possible modifiers.booleaninit(Expression<?>[] exprs, int matchedPattern, ParseContext parseContext) Initializes this SyntaxElement before being used.toString(TriggerContext ctx, boolean debug) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Expression
acceptsChange, acceptsChange, acceptsChange, change, check, check, convertExpression, getArray, getReturnType, getSingle, getSource, isAndList, isLoopOf, isSingle, iterator, setAndList, stream
-
Field Details
-
PATTERNS
-
-
Constructor Details
-
ExprArithmeticOperators
public ExprArithmeticOperators()
-
-
Method Details
-
init
Description copied from interface:SyntaxElementInitializes this SyntaxElement before being used. This method is always called before all the others in an extending class, the only exception beingCodeSection.loadSection(FileSection, ParserState, SkriptLogger).- Specified by:
initin interfaceSyntaxElement- 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 benull.matchedPattern- the index of the pattern that was successfully matched. It corresponds to the order of the syntaxes in registrationparseContext- an object containing additional information about the parsing of this syntax element, like regex matches and parse marks- Returns:
trueif the syntax element was initialized successfully,falseotherwise.- See Also:
-
getValues
Description copied from interface:ExpressionRetrieves 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:
getValuesin interfaceExpression<Number>- Parameters:
ctx- the event- Returns:
- an array of the values
- See Also:
-
toString
- Specified by:
toStringin interfaceSyntaxElement- Parameters:
ctx- the eventdebug- whether to show additional information or not- Returns:
- a
Stringthat should aim to resemble what is written in the script as closely as possible
-