package tc.oc.pgm.tracker.damage;
import javax.annotation.Nullable;
import org.bukkit.Location;
import tc.oc.commons.core.inspect.Inspectable;
import tc.oc.pgm.match.ParticipantState;
import static com.google.common.base.Preconditions.checkNotNull;
public class GenericFallInfo extends Inspectable.Impl implements FallInfo {
@Inspect private final To to;
@Inspect private final Location origin;
public GenericFallInfo(To to, Location origin) {
this.to = checkNotNull(to);
this.origin = checkNotNull(origin);
}
public GenericFallInfo(To to, Location location, double distance) {
this(to, location.clone().add(0, distance, 0));
}
@Override
public From getFrom() {
return From.GROUND;
}
@Override
public To getTo() {
return to;
}
@Override
public @Nullable TrackerInfo getCause() {
return null;
}
@Override
public @Nullable ParticipantState getAttacker() {
return null;
}
@Override
public Location getOrigin() {
return origin;
}
}