Contents
Record Class EventStartAction
java.lang.Object
java.lang.Record
com.hypixel.hytale.builtin.adventure.worldevents.action.EventStartAction
- All Implemented Interfaces:
EventAction
public record EventStartAction(@Nonnull ContextKey eventKey, @Nonnull WorldEventRecord event, boolean detach)
extends Record
implements EventAction
-
Field Summary
FieldsFields inherited from interface EventAction
ARRAY_CODEC, EMPTY_ARRAY, TYPE_CODEC -
Constructor Summary
ConstructorsConstructorDescriptionEventStartAction(ContextKey eventKey, WorldEventRecord event, boolean detach) Creates an instance of aEventStartActionrecord class. -
Method Summary
Modifier and TypeMethodDescriptionbooleanapply(Ref<EntityStore> ref, CommandBuffer<EntityStore> buffer, WorldEvent event) Executes the action.booleandetach()Returns the value of thedetachrecord component.final booleanIndicates whether some other object is "equal to" this one.event()Returns the value of theeventrecord component.eventKey()Returns the value of theeventKeyrecord component.final inthashCode()Returns a hash code value for this object.static WorldEventstartEvent(ComponentAccessor<EntityStore> accessor, WorldEventRecord record) final StringtoString()Returns a string representation of this record class.voidCalled at asset-load time so the action can register theContextKeyvalues it depends on, enabling the validator to catch dangling or mismatched key names.
-
Field Details
-
ID
- See Also:
-
CODEC
-
-
Constructor Details
-
EventStartAction
public EventStartAction(@Nonnull ContextKey eventKey, @Nonnull WorldEventRecord event, boolean detach) Creates an instance of aEventStartActionrecord class.- Parameters:
eventKey- the value for theeventKeyrecord componentevent- the value for theeventrecord componentdetach- the value for thedetachrecord component
-
-
Method Details
-
apply
public boolean apply(@Nonnull Ref<EntityStore> ref, @Nonnull CommandBuffer<EntityStore> buffer, @Nonnull WorldEvent event) Description copied from interface:EventActionExecutes the action.Actions that read from the event context should check for
nullvalues and returnfalsewith a warning log if a required entry is missing, as the context may not have been populated if an earlier condition or action failed.ECS mutations (spawning entities, setting blocks, etc.) should be submitted through
bufferrather than applied directly, to maintain world-thread consistency.- Specified by:
applyin interfaceEventAction- Parameters:
ref- the entity reference for the world event entitybuffer- the command buffer used to submit ECS mutationsevent- the running world event, including its context- Returns:
trueif the action succeeded;falseto abort the current stage
-
startEvent
@Nullable public static WorldEvent startEvent(@Nonnull ComponentAccessor<EntityStore> accessor, @Nonnull WorldEventRecord record) -
validate
Description copied from interface:EventActionCalled at asset-load time so the action can register theContextKeyvalues it depends on, enabling the validator to catch dangling or mismatched key names.Call
Validator.addReferencedKey(String, String, ContextKey)for each key this action reads from context, andValidator.addDefinedKey(String, String, ContextKey)for each key this action writes to context.- Specified by:
validatein interfaceEventAction- Parameters:
validator- the validator to register key references with
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with thecomparemethod from their corresponding wrapper classes. -
eventKey
Returns the value of theeventKeyrecord component.- Returns:
- the value of the
eventKeyrecord component
-
event
Returns the value of theeventrecord component.- Returns:
- the value of the
eventrecord component
-
detach
public boolean detach()Returns the value of thedetachrecord component.- Returns:
- the value of the
detachrecord component
-