Class SimplifiedCondition

All Implemented Interfaces:
Debuggable, Simplifiable<Condition>, SyntaxElement, Conditional<org.bukkit.event.Event>, RuntimeErrorProducer, SyntaxRuntimeErrorProducer

public class SimplifiedCondition extends Condition
Represents a condition that can be simplified during initialization.
  • Method Details

    • fromCondition

      public static Condition fromCondition(Condition original)
      Creates a new SimplifiedCondition from a Condition by evaluating it with a ContextlessEvent. Any expression used by original that requires specific event data cannot be safely simplified.
      Parameters:
      original - The original Condition to simplify.
      Returns:
      A new SimplifiedCondition.
    • fromCondition

      public static Condition fromCondition(Condition original, boolean warn)
      Creates a new SimplifiedCondition from a Condition by evaluating it with a ContextlessEvent. Any expression used by original that requires specific event data cannot be safely simplified.
      Parameters:
      original - The original Condition to simplify.
      warn - Whether a warning for constant conditions should be outputted.
      Returns:
      A new SimplifiedCondition.
    • getSource

      public Condition getSource()
      Returns the source Condition used to create this SimplifiedCondition.
    • getResult

      public boolean getResult()
      Returns the result that was evaluated from source during initialization.
    • init

      public boolean init(Expression<?>[] expressions, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult)
      Description copied from interface: SyntaxElement
      Called just after the constructor and SyntaxElement.preInit().
      Parameters:
      expressions - all %expr%s included in the matching pattern in the order they appear in the pattern. If an optional value was left out, it will still be included in this list holding the default value of the desired type, which usually depends on the event.
      matchedPattern - The index of the pattern which matched
      isDelayed - Whether this expression is used after a delay or not (i.e. if the event has already passed when this expression will be called)
      parseResult - Additional information about the match.
      Returns:
      Whether this expression was initialised successfully. An error should be printed prior to returning false to specify the cause.
      See Also:
    • check

      public boolean check(org.bukkit.event.Event event)
      Description copied from class: Condition
      Checks whether this condition is satisfied with the given event. This should not alter the event or the world in any way, as conditions are only checked until one returns false. All subsequent conditions of the same trigger will then be omitted.

      You might want to use SimpleExpression.check(Event, Predicate)
      Specified by:
      check in class Condition
      Parameters:
      event - the event to check
      Returns:
      true if the condition is satisfied, false otherwise or if the condition doesn't apply to this event.
    • toString

      public String toString(@Nullable @Nullable org.bukkit.event.Event event, boolean debug)
      Parameters:
      event - The event to get information from. This is always null if debug == false.
      debug - If true this should print more information, if false this should print what is shown to the end user
      Returns:
      String representation of this object