com.hypixel.hytale.component.query
Methods: boolean test(com.hypixel.hytale.component.Archetype<ECS_TYPE>); boolean requiresComponentType(com.hypixel.hytale.component.ComponentType<ECS_TYPE, ?>); void validateRegistry(com.hypixel.hytale.component.ComponentRegistry<ECS_TYPE>); void validate()
com.hypixel.hytale.component
Represents component type combinations for efficient entity storage. Entities with same components share archetypes. Use Archetype.of(), Archetype.add(), Archetype.remove() static methods.
com.hypixel.hytale.component
Contains entities of the same archetype (same component signature) for efficient iteration. Used in EntityTickingSystem.
com.hypixel.hytale.component
System that filters entities by query before ticking. Override getQuery() and tick(dt, chunk, store, buffer).
com.hypixel.hytale.component.system
Abstract class. Extends com.hypixel.hytale.component.system.EcsEvent. Methods: boolean isCancelled(); void setCancelled(boolean)
com.hypixel.hytale.component
Buffer for batching ECS commands (add/remove components, spawn/destroy entities). Commands are executed after the current system completes.
com.hypixel.hytale.component
Interface all ECS components must implement. Extends Cloneable. Must implement clone() for entity duplication and cloneSerializable() to exclude transient data from persistence.
com.hypixel.hytale.component
Methods: void shutdown(); <T extends com.hypixel.hytale.component.Component<ECS_TYPE>> com.hypixel.hytale.component.ComponentType<ECS_TYPE, T> registerComponent(java.lang.Class<? super T>, java.util.function.Supplier<T>); <T extends com.hypixel.hytale.component.Component<ECS_TYPE>> com.hypixel.hytale.component.ComponentType<ECS_TYPE, T> registerComponent(java.lang.Class<? super T>, java.lang.String, com.hypixel.hytale.codec.builder.BuilderCodec<T>); <T extends com.hypixel.hytale.component.Component<ECS_T
com.hypixel.hytale.component
Registry-based component type accessor. Get via Class.getComponentType() static method on component classes. Use with store.getComponent(ref, componentType) for efficient access.
com.hypixel.hytale.component
Methods: static com.hypixel.hytale.component.EmptyResourceStorage get(); <T extends com.hypixel.hytale.component.Resource<ECS_TYPE>, ECS_TYPE> java.util.concurrent.CompletableFuture<T> load(com.hypixel.hytale.component.Store<ECS_TYPE>, com.hypixel.hytale.component.ComponentRegistry$Data<ECS_TYPE>, com.hypixel.hytale.component.ResourceType<ECS_TYPE, T>); <T extends com.hypixel.hytale.component.Resource<ECS_TYPE>, ECS_TYPE> java.util.concurrent.CompletableFuture<java.lang.Void> save(com.hypixel.hytale.comp
com.hypixel.hytale.component.system
Abstract class. Extends com.hypixel.hytale.component.system.EventSystem. Methods: void handle(int, com.hypixel.hytale.component.ArchetypeChunk<ECS_TYPE>, com.hypixel.hytale.component.Store<ECS_TYPE>, com.hypixel.hytale.component.CommandBuffer<ECS_TYPE>, EventType); void handleInternal(int, com.hypixel.hytale.component.ArchetypeChunk<ECS_TYPE>, com.hypixel.hytale.component.Store<ECS_TYPE>, com.hypixel.hytale.component.CommandBuffer<ECS_TYPE>, EventType)
com.hypixel.hytale.component
System that iterates individual entities. Override tick(dt, index, chunk, store, buffer). Supports parallelization via isParallel().
com.hypixel.hytale.component.query
Methods: com.hypixel.hytale.component.Archetype<ECS_TYPE> getArchetype(); boolean test(com.hypixel.hytale.component.Archetype<ECS_TYPE>); boolean requiresComponentType(com.hypixel.hytale.component.ComponentType<ECS_TYPE, ?>); void validateRegistry(com.hypixel.hytale.component.ComponentRegistry<ECS_TYPE>); void validate()
com.hypixel.hytale.component
Wrapper around an entity reference providing convenient component access. Created via EntityUtils.toHolder(index, archetypeChunk).
com.hypixel.hytale.component.system
Abstract class. Extends com.hypixel.hytale.component.system.System. Methods: void onEntityAdd(com.hypixel.hytale.component.Holder<ECS_TYPE>, com.hypixel.hytale.component.AddReason, com.hypixel.hytale.component.Store<ECS_TYPE>); void onEntityRemoved(com.hypixel.hytale.component.Holder<ECS_TYPE>, com.hypixel.hytale.component.RemoveReason, com.hypixel.hytale.component.Store<ECS_TYPE>); java.lang.Class<EventType> getEventType()
com.hypixel.hytale.component
ECS system interface for logic processing. Implement onSystemRegistered(), onSystemUnregistered(), getGroup() for system grouping, getDependencies() for execution order.
com.hypixel.hytale.component
Methods: static com.hypixel.hytale.component.NonSerialized<ECS_TYPE> get(); com.hypixel.hytale.component.Component<ECS_TYPE> clone(); java.lang.Object clone()
com.hypixel.hytale.component.query
Methods: boolean test(com.hypixel.hytale.component.Archetype<ECS_TYPE>); boolean requiresComponentType(com.hypixel.hytale.component.ComponentType<ECS_TYPE, ?>); void validateRegistry(com.hypixel.hytale.component.ComponentRegistry<ECS_TYPE>); void validate()
com.hypixel.hytale.component
System dependency ordering. Values: BEFORE (execute before dependency), AFTER (execute after dependency).
com.hypixel.hytale.component.query
Methods: boolean test(com.hypixel.hytale.component.Archetype<ECS_TYPE>); boolean requiresComponentType(com.hypixel.hytale.component.ComponentType<ECS_TYPE, ?>); void validateRegistry(com.hypixel.hytale.component.ComponentRegistry<ECS_TYPE>); void validate()
com.hypixel.hytale.component
Interface for filtering entities by components. Factory methods: any(), not(Query), and(Query...), or(Query...).
com.hypixel.hytale.component
Methods: com.hypixel.hytale.component.Archetype<ECS_TYPE> getReadArchetype(); com.hypixel.hytale.component.Archetype<ECS_TYPE> getWriteArchetype(); default boolean test(com.hypixel.hytale.component.Archetype<ECS_TYPE>); default boolean requiresComponentType(com.hypixel.hytale.component.ComponentType<ECS_TYPE, ?>); default void validateRegistry(com.hypixel.hytale.component.ComponentRegistry<ECS_TYPE>); default void validate(); com.hypixel.hytale.component.Archetype<ECS_TYPE> getReadArchetype(); com.hypixe
com.hypixel.hytale.component
Lightweight entity reference with validity tracking. Use getStore() to get the Store, getIndex() for entity index, isValid() to check validity, validate() to verify (throws if invalid). Never store direct entity references - always use Ref.
com.hypixel.hytale.component.system
Abstract class. Extends com.hypixel.hytale.component.system.System. Methods: void onEntityAdded(com.hypixel.hytale.component.Ref<ECS_TYPE>, com.hypixel.hytale.component.AddReason, com.hypixel.hytale.component.Store<ECS_TYPE>, com.hypixel.hytale.component.CommandBuffer<ECS_TYPE>); void onEntityRemove(com.hypixel.hytale.component.Ref<ECS_TYPE>, com.hypixel.hytale.component.RemoveReason, com.hypixel.hytale.component.Store<ECS_TYPE>, com.hypixel.hytale.component.CommandBuffer<ECS_TYPE>)
com.hypixel.hytale.component
System that reacts to entity add/remove. Override onEntityAdded() and onEntityRemove().
com.hypixel.hytale.component
Global data interface for store-wide state. Extends Cloneable. Access via store.getResource(resourceType).
com.hypixel.hytale.component.spatial
Methods: static it.unimi.dsi.fastutil.objects.ObjectList<com.hypixel.hytale.component.Ref<ECS_TYPE>> getThreadLocalReferenceList(); com.hypixel.hytale.component.spatial.SpatialData<com.hypixel.hytale.component.Ref<ECS_TYPE>> getSpatialData(); com.hypixel.hytale.component.spatial.SpatialStructure<T> getSpatialStructure(); com.hypixel.hytale.component.Resource<ECS_TYPE> clone(); java.lang.Object clone()
com.hypixel.hytale.component.spatial
Abstract class. Extends com.hypixel.hytale.component.system.tick.TickingSystem. Methods: void tick(float, int, com.hypixel.hytale.component.Store<ECS_TYPE>); com.hypixel.hytale.math.vector.Vector3d getPosition(com.hypixel.hytale.component.ArchetypeChunk<ECS_TYPE>, int)
com.hypixel.hytale.component
Methods: int getStoreIndex(); com.hypixel.hytale.component.ComponentRegistry<ECS_TYPE> getRegistry(); ECS_TYPE getExternalData(); com.hypixel.hytale.component.IResourceStorage getResourceStorage(); com.hypixel.hytale.metrics.metric.HistoricMetric[] getSystemMetrics(); boolean isShutdown(); void shutdown(); java.util.concurrent.CompletableFuture<java.lang.Void> saveAllResources(); int getEntityCount(); int getEntityCountFor(com.hypixel.hytale.component.query.Query<ECS_TYPE>); int getEntityCountFor(int); i
com.hypixel.hytale.component.system
Abstract class. Methods: <T extends com.hypixel.hytale.component.Resource<ECS_TYPE>> com.hypixel.hytale.component.ResourceType<ECS_TYPE, T> registerResource(java.lang.Class<? super T>, java.util.function.Supplier<T>); <T extends com.hypixel.hytale.component.Resource<ECS_TYPE>> com.hypixel.hytale.component.ResourceType<ECS_TYPE, T> registerResource(java.lang.Class<? super T>, java.lang.String, com.hypixel.hytale.codec.builder.BuilderCodec<T>); java.util.List<com.hypixel.hytale.component.ComponentRegistration<ECS_TYPE, ?>
com.hypixel.hytale.component
Abstract base system class. Use registerComponent() and registerResource() for registration.
com.hypixel.hytale.component.data.change
Methods: com.hypixel.hytale.component.data.change.ChangeType getType(); com.hypixel.hytale.component.SystemGroup<ECS_TYPE> getSystemGroup(); java.lang.String toString(); com.hypixel.hytale.component.data.change.ChangeType getType(); com.hypixel.hytale.component.system.ISystem<ECS_TYPE> getSystem(); java.lang.String toString()
com.hypixel.hytale.component
Organizes systems by execution priority with dependency ordering.
com.hypixel.hytale.component
System that executes every tick. Override tick(float dt, int systemIndex, Store store).
com.hypixel.hytale.component.data.unknown
Methods: com.hypixel.hytale.component.data.change.ChangeType getType(); com.hypixel.hytale.component.SystemType<ECS_TYPE, T> getSystemType(); java.lang.String toString(); void addComponent(java.lang.String, com.hypixel.hytale.component.Component<ECS_TYPE>, com.hypixel.hytale.codec.Codec<com.hypixel.hytale.component.Component<ECS_TYPE>>); void addComponent(java.lang.String, com.hypixel.hytale.component.data.unknown.TempUnknownComponent<ECS_TYPE>); boolean contains(java.lang.String); <T extends com.hypixel
com.hypixel.hytale.component.system
Abstract class. Extends com.hypixel.hytale.component.system.EventSystem. Methods: void handle(com.hypixel.hytale.component.Store<ECS_TYPE>, com.hypixel.hytale.component.CommandBuffer<ECS_TYPE>, EventType); void handleInternal(com.hypixel.hytale.component.Store<ECS_TYPE>, com.hypixel.hytale.component.CommandBuffer<ECS_TYPE>, EventType); void tick(float, int, com.hypixel.hytale.component.Store<ECS_TYPE>)