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
Nesse arquivo procure por
Agora, é preciso encontrar o PID da janela do minecraft:
Com o PID, basta usar o xdotool e mandar o sinal do click
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
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 segundoMuito 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