Rodar imagem em torno do personagem (JAVA)

Sim, eu sei que você pode usar AffineTransformation, no entanto eu quero a minha imagem de espada para girar em torno de um personagem que eu fiz (bloco preto desenhado em gráficos) 360 graus visivelmente em vez de apenas uma rotação. Basicamente, eu quero um sistema de rotação como o de Terraria. Eu sei como obter o xey do personagem, então a pergunta é: como eu faço girar em torno de um ponto que eu defino? meu código é configurado assim

    f.addMouseListener(new MouseAdapter(){
    public void mouseClicked(MouseEvent e){
        swordSwinging=true;
    }
});

...

if(swordSwinging){
    //swinging code goes here
}

repaint();

questionAnswers(2)

yourAnswerToTheQuestion