java.lang.Object
ch.njol.skript.lang.TriggerItem
ch.njol.skript.lang.Statement
ch.njol.skript.lang.Condition
ch.njol.skript.conditions.base.PropertyCondition<org.bukkit.damage.DamageSource>
org.skriptlang.skript.bukkit.damagesource.elements.CondWasIndirect
All Implemented Interfaces:
Debuggable, SyntaxElement, Predicate<org.bukkit.damage.DamageSource>, DamageSourceExperimentSyntax, Conditional<org.bukkit.event.Event>, ExperimentalSyntax, SimpleExperimentalSyntax, RuntimeErrorProducer, SyntaxRuntimeErrorProducer

@Name("Damage Source - Was Indirectly Caused") @Description({"Whether the damage from a damage source was indirectly caused.","Vanilla damage sources are considered indirect if the \'causing entity\' and the \'direct entity\' are not the same. For example, taking damage from an arrow that was shot by an entity."}) @Example("on damage:\n\tif event-damage source was indirectly caused:\n") @Since("2.12") @RequiredPlugins("Minecraft 1.20.4+") public class CondWasIndirect extends ch.njol.skript.conditions.base.PropertyCondition<org.bukkit.damage.DamageSource> implements DamageSourceExperimentSyntax
  • Constructor Details

    • CondWasIndirect

      public CondWasIndirect()
  • Method Details

    • init

      public boolean init(Expression<?>[] exprs, 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
      Overrides:
      init in class ch.njol.skript.conditions.base.PropertyCondition<org.bukkit.damage.DamageSource>
      Parameters:
      exprs - 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.damage.DamageSource damageSource)
      Specified by:
      check in class ch.njol.skript.conditions.base.PropertyCondition<org.bukkit.damage.DamageSource>
    • getPropertyName

      protected String getPropertyName()
      Specified by:
      getPropertyName in class ch.njol.skript.conditions.base.PropertyCondition<org.bukkit.damage.DamageSource>
    • toString

      public String toString(@Nullable @Nullable org.bukkit.event.Event event, boolean debug)
      Specified by:
      toString in interface Debuggable
      Overrides:
      toString in class ch.njol.skript.conditions.base.PropertyCondition<org.bukkit.damage.DamageSource>
      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