package in.twizmwaz.cardinal.module.modules.regions.type;
import in.twizmwaz.cardinal.module.modules.regions.RegionModule;
import in.twizmwaz.cardinal.module.modules.regions.parsers.BelowParser;
import in.twizmwaz.cardinal.util.Numbers;
import org.bukkit.block.Block;
import org.bukkit.util.Vector;
import java.util.ArrayList;
import java.util.List;
public class BelowRegion extends RegionModule {
private final Vector vector;
public BelowRegion(String name, Vector vector) {
super(name);
this.vector = vector;
}
public BelowRegion(BelowParser parser) {
this(parser.getName(), parser.getVector());
}
@Override
public boolean contains(Vector vector) {
return vector.isInAABB(getMin(), getMax());
}
@Override
public PointRegion getRandomPoint() {
Vector min = getMin();
Vector max = getMax();
double x = Numbers.getRandom(min.getX(), max.getX());
double y = Numbers.getRandom(min.getY(), max.getY());
double z = Numbers.getRandom(min.getZ(), max.getZ());
return new PointRegion(null, x, y, z);
}
@Override
public BlockRegion getCenterBlock() {
return new BlockRegion(null, getMin().midpoint(getMax()));
}
@Override
public List<Block> getBlocks() {
return new ArrayList<>();
}
@Override
public Vector getMin() {
return new Vector(Double.MIN_VALUE, Double.MIN_VALUE, Double.MIN_VALUE);
}
@Override
public Vector getMax() {
return vector;
}
}