Class SecConditional
java.lang.Object
io.github.syst3ms.skriptparser.lang.Statement
io.github.syst3ms.skriptparser.lang.CodeSection
io.github.syst3ms.skriptparser.sections.SecConditional
- All Implemented Interfaces:
SyntaxElement
This is the general control flow section which evaluates conditions and executes code
if they succeed. If the condition fails, the section will look for falling clauses to
run, like other 'else if' and 'else' sections. If there is no such clause, it will
execute the next statement instead.
- Since:
- ALPHA
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class CodeSection
first, items, last -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancheckFinishing(Predicate<? super Statement> finishingTest, SkriptLogger logger, int currentSectionLine, boolean warnUnreachable) getMode()booleaninit(Expression<?>[] expressions, int matchedPattern, ParseContext parseContext) Initializes this SyntaxElement before being used.voidsetFallingClause(SecConditional conditional) Sets the Conditional object this Conditional falls back to when it's condition verifies to false.Sets the Statement that is placed after this Statement in the file.toString(TriggerContext ctx, boolean debug) walk(TriggerContext ctx) By default, runsStatement.run(TriggerContext); returnsStatement.getNext()if it returns true, ornullotherwise.Methods inherited from class CodeSection
checkFinishing, checkReturns, getAllowedSyntaxes, getFirst, getItems, getLast, isRestrictingExpressions, loadSection, run, setItems
-
Constructor Details
-
SecConditional
public SecConditional()
-
-
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).- 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 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:
-
walk
Description copied from class:StatementBy default, runsStatement.run(TriggerContext); returnsStatement.getNext()if it returns true, ornullotherwise. Note that if this method is overridden, then the implementation of Statement.run(TriggerContext) doesn't matter.- Specified by:
walkin classCodeSection- Parameters:
ctx- the event- Returns:
- the next item to be ran, or
nullif this is the last item to be executed
-
setNext
Description copied from class:StatementSets the Statement that is placed after this Statement in the file. You can assume that the Statement.next statement of thenextparameter is known if it has such a statement. -
toString
- 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
-
checkFinishing
public boolean checkFinishing(Predicate<? super Statement> finishingTest, SkriptLogger logger, int currentSectionLine, boolean warnUnreachable) - Overrides:
checkFinishingin classCodeSection
-
setFallingClause
Sets the Conditional object this Conditional falls back to when it's condition verifies to false. Setting this to an "if" Conditional may cause unexpected/confusing behaviour.- Parameters:
conditional- the conditional section
-
getMode
- Returns:
- the
SecConditional.ConditionalModedescribing this Conditional - See Also:
-