Class PropCondContains

java.lang.Object
ch.njol.skript.lang.TriggerItem
ch.njol.skript.lang.Statement
ch.njol.skript.lang.Condition
org.skriptlang.skript.common.properties.conditions.PropCondContains
All Implemented Interfaces:
Debuggable, Simplifiable<Condition>, SyntaxElement, VerboseAssert, Conditional<org.bukkit.event.Event>, PropertyBaseSyntax<PropertyHandler.ContainsHandler<?,?>>, RuntimeErrorProducer, SyntaxRuntimeErrorProducer

@Name("Contains (Property)") @Description("Checks whether a type or list contains certain elements.\nWhen checking if a list contains a specific element, use \'{list::*} contains {x}\'.\nWhen checking if a single type contains something, use `player\'s inventory contains {x}`.\nWhen checking if many types contain something, use \'{inventories::*} contain {x}` or `contents of {inventories::*} contain {x}`.\n") @Example("block contains 20 cobblestone") @Example("player has 4 flint and 2 iron ingots") @Example("{list::*} contains 5") @Example("names of {list::*} contain \"prefix\"") @Example("contents of the inventories of all players contain 1 stick") @RelatedProperty("contains") public class PropCondContains extends Condition implements PropertyBaseSyntax<PropertyHandler.ContainsHandler<?,?>>, VerboseAssert
  • Constructor Details

    • PropCondContains

      public PropCondContains()
  • Method Details

    • 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().
      Specified by:
      init in interface SyntaxElement
      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.
    • getProperty

      @NotNull public @NotNull Property<PropertyHandler.ContainsHandler<?,?>> getProperty()
      Description copied from interface: PropertyBaseSyntax
      Gets the property this expression represents. This is used to find the appropriate handlers for the expression's input types.
      Specified by:
      getProperty in interface PropertyBaseSyntax<PropertyHandler.ContainsHandler<?,?>>
      Returns:
      The property this expression represents.
    • getExpectedMessage

      public String getExpectedMessage(org.bukkit.event.Event event)
      Description copied from interface: VerboseAssert
      This method is intended to be used directly after "Expected " and the grammar of the returned string should match.
      Specified by:
      getExpectedMessage in interface VerboseAssert
      Parameters:
      event - The event used to evaluate this condition.
      Returns:
      The expected value in this condition, formatted as a readable string.
    • getReceivedMessage

      public String getReceivedMessage(org.bukkit.event.Event event)
      Description copied from interface: VerboseAssert
      This method is intended to be used directly after "Expected x, but got " and the grammar of the returned string should match.
      Specified by:
      getReceivedMessage in interface VerboseAssert
      Parameters:
      event - The event used to evaluate this condition.
      Returns:
      The received value in this condition, formatted as a readable string.
    • toString

      public String toString(@Nullable @Nullable org.bukkit.event.Event event, boolean debug)
      Specified by:
      toString in interface Debuggable
      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