Autoclick no Minecraft sem foco

Jogando em servidores, o foco no geral é conseguir dinheiro ou evoluir MCMMO. Por isso os spawns podem ser removidos e criadas farms com eles. Autoclick e borrachina no mouse ajuda muito, mas inutiliza o restante do computador enquanto está farmando. Foi ai que usando xdotool, consegui pensar em um modo de fazer o autoclick em background, sem precisar estar com jogo em primeiro plano.

Quando você tira o foco do Minecraft, ele da o pause, aquela tela do menu. Então antes de tudo, é preciso fazer o Minecraft ficar aberto quando se tira o foco dele.

Procure a pasta do seu Minecraft, caso você não saiba onde está, abra o Minecraft, vá em pacotes de recursos, e clique em "abrir pasta". Suba um nível e lá vai ter o arquivo
options.txt
.

Nesse arquivo procure por
pauseOnLostFocus
, e coloque o valor em
false
. Agora ao iniciar o Minecraft, para abrir a tela de pause, precisa digitar
ESC
. Caso contrário, se você der
ALT+TAB
, o Minecraft continuará funcionando.

Agora, é preciso encontrar o PID da janela do minecraft:
sleep 5; xdotool getactivewindow
Com esse comando, você clica na janela, vai aparecer o PID.

Com o PID, basta usar o xdotool e mandar o sinal do click
xdotool click --delay 1000 --repeat 100000 --window PID_JOGO 1
Com esse comando, vai dar 100 mil cliques, de 1 em 1 segundo

Muito chato ficar toda hora fazendo esse processo, então fiz um script simples, que consiste em pegar o PID automatico, usando o search do xdotool
xdotool search --class "Minecraft*"
Para minha surpresa, vi que o launcher continua rodando, então tive que fazer uma verificação de qual era o PID do jogo. Com o PID correto, bastou executar o comando. O script ficou assim:
#!/bin/bash

# Recupera os processos começados com "Minecraft"
pids=$(xdotool search --class "Minecraft*")

# Percorre os PIDs
for pid in $pids; do

# Recupera o nome completo do processo
name=$(xdotool getwindowname $pid)

# Verifica se começa com "Minecraft"
if [[ $name == *"Minecraft"* ]]; then

# Iniciar o autoclick
xdotool click --delay 1000 --repeat 100000 --window $pid 1
fi

done
Com poucas modificações, é possivel fazer um autofisher. Que será minha próxima tentativa