Package ch.njol.skript.conditions.base
Class PropertyCondition<T>
java.lang.Object
ch.njol.skript.lang.TriggerItem
ch.njol.skript.lang.Statement
ch.njol.skript.lang.Condition
ch.njol.skript.conditions.base.PropertyCondition<T>
- All Implemented Interfaces:
Debuggable,SyntaxElement,Checker<T>
- Direct Known Subclasses:
CondAI,CondCanFly,CondEntityIsInLiquid,CondEntityIsWet,CondHasClientWeather,CondHasCustomModelData,CondHasResourcePack,CondIgnitionProcess,CondIsAlive,CondIsBanned,CondIsBlock,CondIsBlocking,CondIsBurning,CondIsCharged,CondIsEdible,CondIsEmpty,CondIsFlammable,CondIsFlying,CondIsFuel,CondIsInteractable,CondIsInvulnerable,CondIsOccluding,CondIsOnGround,CondIsOnline,CondIsPassable,CondIsPoisoned,CondIsRiptiding,CondIsSilent,CondIsSkriptCommand,CondIsSleeping,CondIsSlimeChunk,CondIsSneaking,CondIsSolid,CondIsSprinting,CondIsSwimming,CondIsTameable,CondIsTransparent,CondIsUnbreakable,CondIsVectorNormalized,CondLeashed,CondProjectileCanBounce
This class can be used for an easier writing of conditions that contain only one type in the pattern,
and are in one of the following forms:
- something is something
- something can something
- something has something
- The
Debuggable.toString(Event, boolean)method is already implemented, and it works well with the plural and negated forms - You can use the
register(Class, PropertyType, String, String)method for an easy registration
register(Class, PropertyType, String, String) or
register(Class, String, String), be aware that there can only be two patterns -
the first one needs to be a non-negated one and a negated one.-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class ch.njol.skript.lang.TriggerItem
parent -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancheck(org.bukkit.event.Event e)Checks whether this condition is satisfied with the given event.abstract booleanprotected abstract Stringprotected PropertyCondition.PropertyTypebooleaninit(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult)Called just after the constructor.static voidregister(Class<? extends Condition> c, PropertyCondition.PropertyType propertyType, String property, String type)static voidprotected voidsetExpr(Expression<? extends T> expr)Sets the expression this condition checks a property of.toString(@Nullable org.bukkit.event.Event e, boolean debug)static StringtoString(Condition condition, PropertyCondition.PropertyType propertyType, @Nullable org.bukkit.event.Event e, boolean debug, Expression<?> expr, String property)Methods inherited from class ch.njol.skript.lang.Condition
isNegated, parse, run, setNegatedMethods inherited from class ch.njol.skript.lang.TriggerItem
debug, getIndentation, getNext, getParent, getTrigger, setNext, setParent, toString, walk, walkMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ch.njol.skript.lang.SyntaxElement
getParser
-
Constructor Details
-
PropertyCondition
public PropertyCondition()
-
-
Method Details
-
register
- Parameters:
c- the class to registerproperty- the property name, for example fly in players can flytype- must be plural, for example players in players can fly
-
register
public static void register(Class<? extends Condition> c, PropertyCondition.PropertyType propertyType, String property, String type)- Parameters:
c- the class to registerpropertyType- the property type, seePropertyCondition.PropertyTypeproperty- the property name, for example fly in players can flytype- must be plural, for example players in players can fly
-
init
public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult)Description copied from interface:SyntaxElementCalled just after the constructor.- Specified by:
initin interfaceSyntaxElement- 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 matchedisDelayed- 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:
ParserInstance.isCurrentEvent(Class...)
-
check
public final boolean check(org.bukkit.event.Event e)Description copied from class:ConditionChecks 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 useSimpleExpression.check(Event, Checker) -
check
-
getPropertyName
-
getPropertyType
-
setExpr
Sets the expression this condition checks a property of. No reference to the expression should be kept.- Parameters:
expr-
-
toString
- Specified by:
toStringin interfaceDebuggable- Parameters:
e- The event to get information to. 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
-
toString
public static String toString(Condition condition, PropertyCondition.PropertyType propertyType, @Nullable org.bukkit.event.Event e, boolean debug, Expression<?> expr, String property)
-