Class SecWhile
java.lang.Object
io.github.syst3ms.skriptparser.lang.Statement
io.github.syst3ms.skriptparser.lang.CodeSection
io.github.syst3ms.skriptparser.sections.SecWhile
- All Implemented Interfaces:
Continuable, SelfReferencing, SyntaxElement
This section will keep executing the statements inside until the given condition
does not hold anymore.
- Since:
- ALPHA
-
Field Summary
Fields inherited from class CodeSection
first, items, last -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThis statement returns itself as the next statement to run ingetNext().This function is called on the section where theEffContinueeffect will continue to, taking all Continuable sections into account.booleaninit(Expression<?>[] expressions, int matchedPattern, ParseContext parseContext) Initializes this SyntaxElement before being used.booleanloadSection(FileSection section, ParserState parserState, SkriptLogger logger) This methods determines the logic of what is being done to the elements inside of this section.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, checkFinishing, checkReturns, getAllowedSyntaxes, getFirst, getItems, getLast, isRestrictingExpressions, run, setItems
-
Constructor Details
-
SecWhile
public SecWhile()
-
-
Method Details
-
loadSection
Description copied from class:CodeSectionThis methods determines the logic of what is being done to the elements inside of this section. By default, this simply parses all items inside it, but this can be overridden. In case an extending class just needs to do some additional operations on top of what the default implementation already does, then callsuper.loadSection(section)before any such operations.- Overrides:
loadSectionin classCodeSection- Parameters:
section- theFileSectionrepresenting this CodeSectionlogger- the logger- Returns:
trueif the items inside of the section were loaded properly,falseif there was a problem
-
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:
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. -
getContinued
Description copied from interface:ContinuableThis function is called on the section where theEffContinueeffect will continue to, taking all Continuable sections into account. Most of the time, this will just return the section it is referring to, but in rare cases, one might want to change this behaviour, hence this method.- Specified by:
getContinuedin interfaceContinuable- Parameters:
ctx- the context- Returns:
- the next statement
- See Also:
-
getActualNext
Description copied from interface:SelfReferencingThis statement returns itself as the next statement to run ingetNext().
This method will return the actual statement that follows this statement. This means, by convention, the next element that is not nested more than this statement.- Specified by:
getActualNextin interfaceSelfReferencing- Returns:
- the element that is actually after this section
-
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
-