Package org.spongepowered.api.event
Class Cause
java.lang.Object
org.spongepowered.api.event.Cause
A cause represents the reason or initiator of an event.
For example, if a block of sand is placed where it drops, the block of sand would create a falling sand entity, which then would place another block of sand. The block place event for the final block of sand would have the cause chain of the block of sand -> falling sand entity.
It is not possible to accurately describe the chain of causes in all scenarios so a best effort approach is generally acceptable. For example, a player might press a lever, activating a complex Redstone circuit, which would then launch TNT and cause the destruction of some blocks, but tracing this event would be too complicated and thus may not be attempted.
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionOptional
<?> Gets the object immediately after the object that is an instance of theClass
passed in.all()
<T> List
<T> Optional
<?> Gets the object immediately before the object that is an instance of theClass
passed in.static Cause.Builder
builder()
Creates a newCause.Builder
to make a newCause
.boolean
Checks if this cause contains of any of the providedObject
.boolean
containsType
(Class<?> target) Returns whether the target class matches any object of thisCause
.context()
Gets the event context relating to this cause.boolean
<T> Optional
<T> Gets the firstT
object of thisCause
, if available.int
hashCode()
iterator()
<T> Optional
<T> Gets the last object instance of theClass
of typeT
.static Cause
of
(EventContext ctx, Iterable<Object> iterable) Constructs a new cause with the specified event context and causes.static Cause
of
(EventContext ctx, Object cause) Constructs a new cause with the specified event context and cause.static Cause
of
(EventContext ctx, Object cause, Object... causes) Constructs a new cause with the specified event context and causes.root()
Gets the rootObject
of this cause.toString()
Creates a newCause
where the objects are added at the end of the cause array of objects.Creates a newCause
where the objects are added at the end of the cause array of objects.Creates a newCause
where the objects are added at the end of the cause array of objects.Merges this cause with the other cause.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Method Details
-
builder
Creates a newCause.Builder
to make a newCause
.- Returns:
- The new builder
-
of
Constructs a new cause with the specified event context and cause.- Parameters:
ctx
- The event contextcause
- The direct object cause- Returns:
- The constructed cause
-
of
Constructs a new cause with the specified event context and causes.- Parameters:
ctx
- The event contextcause
- The direct object causecauses
- Other associated causes- Returns:
- The built cause
-
of
Constructs a new cause with the specified event context and causes.- Parameters:
ctx
- The event contextiterable
- The associated causes- Returns:
- The built cause
-
context
Gets the event context relating to this cause.- Returns:
- The event context
-
root
Gets the rootObject
of this cause.- Returns:
- The root object cause for this cause
-
first
Gets the firstT
object of thisCause
, if available.- Type Parameters:
T
- The type of object being queried for- Parameters:
target
- The class of the target type- Returns:
- The first element of the type, if available
-
last
Gets the last object instance of theClass
of typeT
.- Type Parameters:
T
- The type of object being queried for- Parameters:
target
- The class of the target type- Returns:
- The last element of the type, if available
-
before
Gets the object immediately before the object that is an instance of theClass
passed in.- Parameters:
clazz
- The class of the object- Returns:
- The object
-
after
Gets the object immediately after the object that is an instance of theClass
passed in.- Parameters:
clazz
- The class to type check- Returns:
- The object after, if available
-
containsType
Returns whether the target class matches any object of thisCause
.- Parameters:
target
- The class of the target type- Returns:
- True if found, false otherwise
-
contains
Checks if this cause contains of any of the providedObject
. This is the equivalent to checking based onequals(Object)
for each object in this cause.- Parameters:
object
- The object to check if it is contained- Returns:
- True if the object is contained within this cause
-
allOf
- Type Parameters:
T
- The type of objects to query for- Parameters:
target
- The class of the target type- Returns:
- An immutable list of the objects queried
-
noneOf
- Parameters:
ignoredClass
- The class of object types to ignore- Returns:
- The list of objects not an instance of the provided class
-
all
- Returns:
- An immutable list of all the causes
-
with
Creates a newCause
where the objects are added at the end of the cause array of objects.- Parameters:
additional
- The additional object to add- Returns:
- The new cause
-
with
Creates a newCause
where the objects are added at the end of the cause array of objects.- Parameters:
additional
- The additional object to addadditionals
- The remaining objects to add- Returns:
- The new cause
-
with
Creates a newCause
where the objects are added at the end of the cause array of objects.- Parameters:
iterable
- The additional objects- Returns:
- The new cause
-
with
Merges this cause with the other cause.- Parameters:
cause
- The cause to merge with this- Returns:
- The new merged cause
-
iterator
-
equals
-
hashCode
public int hashCode() -
toString
-