classpublicPriority 3
DamageMemorySystems
com.hypixel.hytale.builtin.npccombatactionevaluator.memory.DamageMemorySystems
2
Methods
2
Public Methods
0
Fields
1
Constructors
Constructors
public
DamageMemorySystems()Methods
Public Methods (2)
public
SystemGroup<EntityStore> getGroup()@Nullable@Override
public
Query<EntityStore> getQuery()@Nonnull@Override
Related Classes
Source Code
package com.hypixel.hytale.builtin.npccombatactionevaluator.memory;
import com.hypixel.hytale.component.ArchetypeChunk;
import com.hypixel.hytale.component.CommandBuffer;
import com.hypixel.hytale.component.ComponentType;
import com.hypixel.hytale.component.Store;
import com.hypixel.hytale.component.SystemGroup;
import com.hypixel.hytale.component.query.Query;
import com.hypixel.hytale.server.core.modules.entity.damage.Damage;
import com.hypixel.hytale.server.core.modules.entity.damage.DamageEventSystem;
import com.hypixel.hytale.server.core.modules.entity.damage.DamageModule;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class DamageMemorySystems {
public DamageMemorySystems() {
}
public static class CollectDamage extends DamageEventSystem {
private final ComponentType<EntityStore, DamageMemory> damageMemoryComponentType;
@Nonnull
private final Query<EntityStore> query;
public CollectDamage(ComponentType<EntityStore, DamageMemory> damageMemoryComponentType) {
this.damageMemoryComponentType = damageMemoryComponentType;
this.query = damageMemoryComponentType;
}
@Nonnull
@Override
public Query<EntityStore> getQuery() {
return this.query;
}
public void handle(
int index,
@Nonnull ArchetypeChunk<EntityStore> archetypeChunk,
@Nonnull Store<EntityStore> store,
@Nonnull CommandBuffer<EntityStore> commandBuffer,
@Nonnull Damage damage
) {
DamageMemory memory = archetypeChunk.getComponent(index, this.damageMemoryComponentType);
memory.addDamage(damage.getAmount());
}
@Nullable
@Override
public SystemGroup<EntityStore> getGroup() {
return DamageModule.get().getInspectDamageGroup();
}
}
}