Class PropertyBaseCondition<Handler extends PropertyHandler.ConditionPropertyHandler<?>>
java.lang.Object
ch.njol.skript.lang.TriggerItem
ch.njol.skript.lang.Statement
ch.njol.skript.lang.Condition
org.skriptlang.skript.lang.properties.PropertyBaseCondition<Handler>
- Type Parameters:
Handler
- The handler type expected for this property.
- All Implemented Interfaces:
Debuggable
,Simplifiable<Condition>
,SyntaxElement
,Conditional<org.bukkit.event.Event>
,PropertyBaseSyntax<Handler>
,RuntimeErrorProducer
,SyntaxRuntimeErrorProducer
- Direct Known Subclasses:
PropCondIsEmpty
@Experimental
public abstract class PropertyBaseCondition<Handler extends PropertyHandler.ConditionPropertyHandler<?>>
extends Condition
implements PropertyBaseSyntax<Handler>
A helper class for implementing property-driven conditions. Only
PropertyBaseSyntax.getProperty()
needs to be implemented.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class ch.njol.skript.lang.Condition
Condition.ConditionType
Nested classes/interfaces inherited from interface org.skriptlang.skript.lang.condition.Conditional
Conditional.Operator
-
Field Summary
FieldsFields inherited from class ch.njol.skript.lang.TriggerItem
parent
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
check
(org.bukkit.event.Event event) Checks whether this condition is satisfied with the given event.protected ch.njol.skript.conditions.base.PropertyCondition.PropertyType
The type of propertycondition this should be.boolean
init
(Expression<?>[] expressions, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) Called just after the constructor andSyntaxElement.preInit()
.static void
register
(Class<? extends Condition> condition, ch.njol.skript.conditions.base.PropertyCondition.PropertyType propertyType, String property, String type) Registers a new property condition.static void
Registers a new property condition.toString
(@Nullable org.bukkit.event.Event event, boolean debug) Methods inherited from class ch.njol.skript.lang.Condition
evaluate, getNode, getSyntaxTypeName, isNegated, parse, preInit, run, setNegated, simplify
Methods inherited from class ch.njol.skript.lang.TriggerItem
debug, executionIntent, getActualNext, getIndentation, getNext, getParent, getTrigger, setNext, setParent, toString, walk, walk
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.skriptlang.skript.lang.condition.Conditional
evaluate, evaluateAnd, evaluateAnd, evaluateAnd, evaluateAnd, evaluateNot, evaluateNot, evaluateOr, evaluateOr, evaluateOr, evaluateOr
Methods inherited from interface ch.njol.skript.lang.Debuggable
toString
Methods inherited from interface org.skriptlang.skript.lang.properties.PropertyBaseSyntax
getBadTypesErrorMessage, getProperty, getPropertyName
Methods inherited from interface org.skriptlang.skript.log.runtime.RuntimeErrorProducer
error, error, getRuntimeErrorManager, warning, warning
Methods inherited from interface ch.njol.skript.lang.SyntaxElement
getParser
Methods inherited from interface org.skriptlang.skript.log.runtime.SyntaxRuntimeErrorProducer
getErrorSource
-
Field Details
-
propertyHolder
-
-
Constructor Details
-
PropertyBaseCondition
public PropertyBaseCondition()
-
-
Method Details
-
register
Registers a new property condition. The property type is set toPropertyCondition.PropertyType.BE
.- Parameters:
condition
- 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> condition, ch.njol.skript.conditions.base.PropertyCondition.PropertyType propertyType, String property, String type) Registers a new property condition.- Parameters:
condition
- the class to registerpropertyType
- the property type, seePropertyCondition.PropertyType
property
- 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<?>[] expressions, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) Description copied from interface:SyntaxElement
Called just after the constructor andSyntaxElement.preInit()
.- Specified by:
init
in interfaceSyntaxElement
- 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 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:
-
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 useSimpleExpression.check(Event, Predicate)
-
getPropertyType
protected ch.njol.skript.conditions.base.PropertyCondition.PropertyType getPropertyType()The type of propertycondition this should be. Defaults toPropertyCondition.PropertyType.BE
.- Returns:
- The PropertyType. Used in toString and pattern generation.
-
toString
- Specified by:
toString
in interfaceDebuggable
- 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
-