package net.minecraft.commands.arguments.coordinates;

import net.minecraft.core.BlockPos;
import net.minecraft.world.phys.Vec2;
import net.minecraft.world.phys.Vec3;
import net.minecraft.commands.CommandSourceStack;

public interface Coordinates {
    Vec3 getPosition(final CommandSourceStack cq);
    
    Vec2 getRotation(final CommandSourceStack cq);
    
    default BlockPos getBlockPos(final CommandSourceStack cq) {
        return new BlockPos(this.getPosition(cq));
    }
    
    boolean isXRelative();
    
    boolean isYRelative();
    
    boolean isZRelative();
}
