package net.t7seven7t.craftfx.target;
import net.t7seven7t.craftfx.Target;
import net.t7seven7t.craftfx.data.Data;
import net.t7seven7t.craftfx.data.DataHolder;
import net.t7seven7t.craftfx.data.DataInterface;
import org.bukkit.entity.Player;
import java.util.Optional;
/**
*
*/
public final class TargetSelectorContext implements DataInterface {
private final Target origin;
private final Player initiator;
private final DataHolder holder;
TargetSelectorContext(Target origin, Player initiator, DataHolder holder) {
this.origin = origin;
this.initiator = initiator;
this.holder = holder;
}
public DataHolder getDataHolder() {
return holder;
}
public Target getOrigin() {
return origin;
}
public Player getInitiator() {
return initiator;
}
@Override
public <T extends Data> Optional<T> getData(Class<T> clazz) {
return holder.getData(clazz);
}
}