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 cz);
    
    Vec2 getRotation(final CommandSourceStack cz);
    
    default BlockPos getBlockPos(final CommandSourceStack cz) {
        return new BlockPos(this.getPosition(cz));
    }
    
    boolean isXRelative();
    
    boolean isYRelative();
    
    boolean isZRelative();
}
