EntityPositionProvider.java
package com.hypixel.hytale.server.npc.sensorinfo;
import com.hypixel.hytale.component.ComponentAccessor;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.component.Store;
import com.hypixel.hytale.server.core.modules.entity.damage.DeathComponent;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.server.npc.sensorinfo.parameterproviders.ParameterProvider;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class EntityPositionProvider extends PositionProvider {
@Nullable
private Ref<EntityStore> target;
public EntityPositionProvider() {
}
public EntityPositionProvider(ParameterProvider parameterProvider) {
super(parameterProvider);
}
public void clear() {
super.clear();
this.target = null;
}
public Ref<EntityStore> setTarget(@Nullable Ref<EntityStore> ref, @Nonnull ComponentAccessor<EntityStore> componentAccessor) {
.target = .setTarget(ref, componentAccessor);
}
Ref<EntityStore> {
(.target == ) {
;
} {
Store<EntityStore> store = .target.getStore();
(!.target.isValid() || store.getArchetype(.target).contains(DeathComponent.getComponentType())) {
.clear();
}
.target;
}
}
{
.getTarget() != ;
}
}