MACRO DESCONTINUADA E DESATUALIZADA!
Depois de muito tempo sem postar nada o/
Desculpem o nome do tópico, mas já usaram os normais e beetle significa besouro u.u
O que esta macro faz?
Colhe e planta 2 vezes mais rápido que as macros convencionais, muda de andares sozinho (se houver mais de um andar) e guarda em 24 baús duplos.
Permite parar e continuar e raramente deu algum bug aqui, mesmo com lag.
Vantagens:
- Sinceramente, acho que é o método mais rápido e eficiente possível.
- A plantação e cada andar podem ser de QUALQUER tamanho, você não precisa informar.
- Você pode PAUSAR a colheita segurando a tecla "P" e continuar de onde parou segurando "P" novamente.
- Você pode PARAR a macro e continuar de onde parou quando ligá-la novamente.
- Guardar em baús agrupados, o que facilita muito a venda depois.
- Ao abrir o chat ou o inventário, a macro espera você fechar para continuar.
- Usa qualquer ferramenta que você deixar na hotbar.
- Apenas colhe se o fungo estiver totalmente crescido!
/sethomes:
- Obrigatórias:
/home fungof1 - Andar 1 (ou andar único) - Marque no começo da plantação olhando para qualquer lado que tenha fungos!
/home fungobaus - Baús - Marque no centro do conjunto de baús, olhando para os baús da esquerda, como mostrado no print abaixo!
/home fungotemp (Essa vocês não precisam marcar, mas precisam ter espaço nas setomes para ela, porque a macro marca sozinha)
- Opcionais:
/home fungof2 - Andar 2
/home fungof3 - Andar 3
/home fungof4 - Andar 4
/home fungof5 - Andar 5
/home fungof6 - Andar 6
Macro:
Basta colar em uma tecla qualquer em "Macro bindings", como qualquer outra macro:
É necessário configurar o seu minecraft para funcionar em segundo plano, ou deixar a tela do minecraft sempre em primeiro plano.
Veja como deixar em segundo plano aqui: http://forum.craftlandia.com.br/ipb/index.php?/topic/191827-tutorial-usando-qualquer-macro-em-segundo-plano/
1.5.2 (30/03/2014)
1.7.2+ (26/03/2014) (PS: A versão BETA do macro está instável, não é garantido que sempre funcione.)
1.7.2+ (2 conjuntos de baús)
Como usar:
Depois de pegar a macro, basta marcar a /home fungof1 no começo do primeiro andar (ou do único andar), marcar as outras nos próximos andares (se houver) e marcar a /home fungobaus bem no meio do conjunto de baús, como mostrado na imagem abaixo.
Imagens:
Conjunto de baús:
SETHOME no meio, olhando para os baús da esquerda.
Vídeo: (Feito por "johgledicas")
https://www.youtube.com/watch?v=SGBW-PjF-J0
Dicas:
- É mais fácil a macro trabalhar em regiões retangulares ou quadradas, até pode funcionar se não for, mas não é garantido.
- É verificado se o inventário está lotado ao fim de cada fileira, ou seja, plantações MUITO maiores que 100x100 não são indicadas.
- Encheu os baús? Dê /sethome fungobaus em um novo conjunto o/
Futuras prováveis atualizações:
-Colher apenas se o fungo estiver totalmente crescido. Adicionado! 17/03/2014
-Poder usar qualquer ferramenta para colher. Adicionado! 17/03/2014
-Corrigido bug ao guardar nos baús para alguns. Resolvido! 26/03/2014
-Poder usar ferramentas de ferro para colher (esqueci :{). Adicionado! 30/03/2014
-Delay ao trocar de ferramenta para quebrar os fungos . Adicionado! 06/04/2014
-Problema com fungos fertilizados com o novo comando "/fertilizar". Arrumado! 06/04/2014
Testei a macro durante meses antes de resolver postar (1.5.2), então tentem usar direitinho antes de apontarem erros o/
Agradecimentos ao faahyoshi, jimmyfilips e xpkill por terem testado a macro várias e várias vezes pra mim *-*
E ao M4K4R0V por apontar um bug importantíssimo. Obg pela paciência
[MACRO] Colheita do besouro (1.5.2 e 1.7.2+)BeetleJuice disse:Não pretendo mais arrumar a macro, craftlandia mudou tanto que mal consigo entrar nos servidores.
Acho que já passou a época de fungo valer a pena, de qualquer forma... recomendo que procurem outra forma de ganhar dinheiro, isso aqui não é mais tão lucrativo se comparado há alguns anos.
Obg por todos elogios e pela ajuda em relatar constantemente os problemas. Até o/
Depois de muito tempo sem postar nada o/
Desculpem o nome do tópico, mas já usaram os normais e beetle significa besouro u.u
O que esta macro faz?
Colhe e planta 2 vezes mais rápido que as macros convencionais, muda de andares sozinho (se houver mais de um andar) e guarda em 24 baús duplos.
Permite parar e continuar e raramente deu algum bug aqui, mesmo com lag.
Vantagens:
- Sinceramente, acho que é o método mais rápido e eficiente possível.
- A plantação e cada andar podem ser de QUALQUER tamanho, você não precisa informar.
- Você pode PAUSAR a colheita segurando a tecla "P" e continuar de onde parou segurando "P" novamente.
- Você pode PARAR a macro e continuar de onde parou quando ligá-la novamente.
- Guardar em baús agrupados, o que facilita muito a venda depois.
- Ao abrir o chat ou o inventário, a macro espera você fechar para continuar.
- Usa qualquer ferramenta que você deixar na hotbar.
- Apenas colhe se o fungo estiver totalmente crescido!
/sethomes:
- Obrigatórias:
/home fungof1 - Andar 1 (ou andar único) - Marque no começo da plantação olhando para qualquer lado que tenha fungos!
/home fungobaus - Baús - Marque no centro do conjunto de baús, olhando para os baús da esquerda, como mostrado no print abaixo!
/home fungotemp (Essa vocês não precisam marcar, mas precisam ter espaço nas setomes para ela, porque a macro marca sozinha)
- Opcionais:
/home fungof2 - Andar 2
/home fungof3 - Andar 3
/home fungof4 - Andar 4
/home fungof5 - Andar 5
/home fungof6 - Andar 6
Macro:
Basta colar em uma tecla qualquer em "Macro bindings", como qualquer outra macro:
É necessário configurar o seu minecraft para funcionar em segundo plano, ou deixar a tela do minecraft sempre em primeiro plano.
Veja como deixar em segundo plano aqui: http://forum.craftlandia.com.br/ipb/index.php?/topic/191827-tutorial-usando-qualquer-macro-em-segundo-plano/
1.5.2 (30/03/2014)
$${
if(@neth3);
keyup(forward);
unset(@neth3);
}$$
/sethome fungotemp
$${
#snposx1=%XPOS%; #snposx2=%ZPOS%;
log("&d» &6Plantação Automática &c[OFF]");
stop();
else;
set(@neth3);
#delay=8;#nbau=1;
log("&d» &6Plantação Automática &a[ON]");
PROMPT(&return,$$?,"Continuar de onde estava quando desligou? (S ou N)");
ifmatches(%&return%,^[S|s]);
set(return);
log("&d» &6Continuando a partir de onde foi desligado!");
else;
unset(return);
PROMPT(#fxv,$$?,"Quantos andares são? (O máximo são 6 andares!)"); if(%#fxv%=0);unset(@neth3);stop();endif;
#hfl=1;
if(%#fxv%>1);
&tm=;
if(%#fxv%=2);&tm=1 ou 2?;endif;if(%#fxv%=3);&tm=1, 2 ou 3?;endif;if(%#fxv%=4);&tm=1, 2, 3 ou 4?;endif;if(%#fxv%=5);&tm=1, 2, 3, 4 ou 5?;endif;if(%#fxv%=6);&tm=1, 2, 3, 4, 5 ou 6?;endif;
if(%#fxv%>6);
log("&d» &cOps! &6Número de andares maior que o possível &3(6)&6!");
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
PROMPT(#flror,$$?,"Começar por qual andar? %&tm%"); if(%#flror%=0);unset(@neth3);stop();endif;
else;
#flror=1;
endif;
if(%#flror%>%#fxv%);
log(&d» &cOps! &6Andar escolhido para começar é maior que o número de andares que você escolheu! Preste mais atenção nas perguntas &3:/);
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
log("&d» &6As sethomes devem ser no estilo: &3/home fungof1 /home fungof2&6 ...");
log("&d» &6A sethome dos baús deve ser &3/home fungobaus &6...");
log("&d» &6Se quiser parar só por um tempo, segure a &3tecla P&6 até parar!");
set(first);
endif;
do;
for(#hfl,%#flror%,%#fxv%);
wait(1);
if(return);
#hfltemp=%#hfl%;#hfl=8000;
}$$
/home fungotemp
$${
do;until((%XPOS%=%#snposx1%)&&(%ZPOS%=%#snposx2%));wait(1);
unset(return);
else;
}$$
$${if(%#hfl%=1);}$$/home fungof1$${endif;}$$
$${if(%#hfl%=2);}$$/home fungof2$${endif;}$$
$${if(%#hfl%=3);}$$/home fungof3$${endif;}$$
$${if(%#hfl%=4);}$$/home fungof4$${endif;}$$
$${if(%#hfl%=5);}$$/home fungof5$${endif;}$$
$${if(%#hfl%=6);}$$/home fungof6$${endif;}$$
$${
wait(8);
set(first);
endif;
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
gui();
for(#in,1,9);
getslotitem(%#in%,#idk,#stack);
ifmatches(%#idk%,^269$|^270$|^271$|^273$|^274$|^275$|^277$|^278$|^279$|^284$|^285$|^286$|^256$|^257$|^258$);
#slotl=%#in%;
endif;
next;
look(%&dir%);
look(,+89);
key(attack);
unset(nextfloor);
do;
#stack=0;
keyup(forward);
gui(inventory);
wait(450ms);
getslot(372,#fghot);
getslotitem(35,#id,#stack);
if(%#fghot%<36);
slotclick(%#fghot%,l,true);
endif;
wait(450ms);
gui();
if(%#stack%>0);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${}$$
/home fungobaus
$${
do;until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));wait(3);
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
do;
look(%&dir%);
if(%#nbau%=1);look(-26,-40);endif;
if(%#nbau%=2);look(+26,-40);endif;
if(%#nbau%=3);look(+65,-40);endif;
if(%#nbau%=4);look(+116,-40);endif;
if(%#nbau%=5);look(+155,-40);endif;
if(%#nbau%=6);look(+206,-40);endif;
if(%#nbau%=7);look(-26,-20);endif;
if(%#nbau%=8);look(+26,-20);endif;
if(%#nbau%=9);look(+65,-20);endif;
if(%#nbau%=10);look(+116,-20);endif;
if(%#nbau%=11);look(+155,-20);endif;
if(%#nbau%=12);look(+206,-20);endif;
if(%#nbau%=13);look(-26,-0);endif;
if(%#nbau%=14);look(+26,-0);endif;
if(%#nbau%=15);look(+65,-0);endif;
if(%#nbau%=16);look(+116,-0);endif;
if(%#nbau%=17);look(+155,-0);endif;
if(%#nbau%=18);look(+206,-0);endif;
if(%#nbau%=19);look(-26,+25);endif;
if(%#nbau%=20);look(+26,+25);endif;
if(%#nbau%=21);look(+65,+25);endif;
if(%#nbau%=22);look(+116,+25);endif;
if(%#nbau%=23);look(+155,+25);endif;
if(%#nbau%=24);look(+206,+25);endif;
wait(1);
key(use);
wait(4);
for(#i,54,87);
getslotitem(%#i%,#ide,#stacke);
if(%#ide%=372);
slotclick(%#i%,l,true);
wait(30ms);
endif;
next;
wait(250ms);
getslotitem(53,#id,#stack);
wait(250ms);
if(%#stack%!=0);
#nbau=%#nbau%+1;
if(%#nbau%=25);
unset(@neth3);
log("&d» &6Baús cheios?");
log("&d» &6Plantação Automática &c[OFF]");
stop();
endif;
endif;
gui();
until(%#stack%=0);
}$$
/home fungotemp
$${
wait(%#delay%);
keydown(jump);wait(100ms);keyup(jump);wait(1);
else;
gui();
endif;
do;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
ifmatches(%GUI%,chat|inventory);
keyup(forward);
log(&d» &6Chat ou inventório detectado. &3Macro pausado!);
do;
ifmatches(%GUI%,CHAT|INVENTORY);
else;
#g=0;
endif;
until(%#g%=0);
#g=1;
log(&d» &6Chat ou inventório fechado. &3Continuando!);
endif;
if(KEY_P);
keyup(forward);
wait(200ms);
#nposx1=%XPOS%;#nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${
log(&d» &6Plantação automática &3interrompida&6!);
log(&d» &6Para continuar, segure a &3tecla P &6por 3 segundos!);
do;
if(KEY_P);
wait(3);
if(KEY_P);
wait(200ms);
if(KEY_P);
set(resume);
endif;
endif;
endif;
until(resume);
unset(resume);
}$$
/home fungotemp
$${
log("&d» &6Plantação automática &3retomada&6!");
log("&d» &6Não mexa o mouse, oki? &3
");
do;until((%XPOS%=%#nposx1%)&&(%ZPOS%=%#nposx2%));
wait(2);
endif;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
look(%&dir%);
look(,+89);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
do;
keydown(forward);
pick(372);
key(use);
getidrel(%&x%,+0,%&z%,#blockd);
getidrel(%&x%,+1,%&z%,#blocku);
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%)|(%#blockd%!=88)|(%#blocku%!=115)&&(%#blocku%!=0));
slot(%#slotl%);
if(%HITDATA%>2);key(attack);wait(10ms);endif;
until((%#blockd%!=88)|(%#blocku%!=115)&&(%#blocku%!=0));
key(use);
keyup(forward);
if(first);
getidrel(%&x1%,+0,%&z1%,#block1);getidrel(%&x2%,+0,%&z2%,#block2);
getidrel(%&x1%,+1,%&z1%,#block3);getidrel(%&x2%,+1,%&z2%,#block4);
if((%#block1%=88)|(%#block3%=88));&sn=-;endif;
if((%#block2%=88)|(%#block4%=88));&sn=+;endif;
&dirc=%DIRECTION%;
ifmatches(%&sn%,[\+]);&sn1=+;&sn2=-;endif;
ifmatches(%&sn%,[\-]);&sn1=-;&sn2=+;endif;
unset(first);
endif;
&dir=%DIRECTION%;
ifmatches(%&dirc%,N);ifmatches(%&dir%,N);&sn=%&sn1%;endif;ifmatches(%&dir%,S);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,S);ifmatches(%&dir%,N);&sn=%&sn2%;endif;ifmatches(%&dir%,S);&sn=%&sn1%;endif;endif;
ifmatches(%&dirc%,W);ifmatches(%&dir%,W);&sn=%&sn1%;endif;ifmatches(%&dir%,E);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,E);ifmatches(%&dir%,W);&sn=%&sn2%;endif;ifmatches(%&dir%,E);&sn=%&sn1%;endif;endif;
look(%&sn%90,);
wait(100ms);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
getidrel(%&x%,+0,%&z%,#block1);
getidrel(%&x%,+1,%&z%,#block3);
if(((%#block3%!=0)&&(%#block3%!=115))|(%#block1%!=88));
set(nextfloor);
endif;
if(nextfloor);
else;
#nposx1 = %XPOS%; #nposx2 = %ZPOS%;
do;
keydown(forward);
pick(372);
key(use);
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));
keyup(forward);
key(attack);
look(%&sn%90,);
endif;
until(nextfloor);
keyup(FORWARD);
next;
#flror=1;
loop;
endif;
}$$
if(@neth3);
keyup(forward);
unset(@neth3);
}$$
/sethome fungotemp
$${
#snposx1=%XPOS%; #snposx2=%ZPOS%;
log("&d» &6Plantação Automática &c[OFF]");
stop();
else;
set(@neth3);
#delay=8;#nbau=1;
log("&d» &6Plantação Automática &a[ON]");
PROMPT(&return,$$?,"Continuar de onde estava quando desligou? (S ou N)");
ifmatches(%&return%,^[S|s]);
set(return);
log("&d» &6Continuando a partir de onde foi desligado!");
else;
unset(return);
PROMPT(#fxv,$$?,"Quantos andares são? (O máximo são 6 andares!)"); if(%#fxv%=0);unset(@neth3);stop();endif;
#hfl=1;
if(%#fxv%>1);
&tm=;
if(%#fxv%=2);&tm=1 ou 2?;endif;if(%#fxv%=3);&tm=1, 2 ou 3?;endif;if(%#fxv%=4);&tm=1, 2, 3 ou 4?;endif;if(%#fxv%=5);&tm=1, 2, 3, 4 ou 5?;endif;if(%#fxv%=6);&tm=1, 2, 3, 4, 5 ou 6?;endif;
if(%#fxv%>6);
log("&d» &cOps! &6Número de andares maior que o possível &3(6)&6!");
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
PROMPT(#flror,$$?,"Começar por qual andar? %&tm%"); if(%#flror%=0);unset(@neth3);stop();endif;
else;
#flror=1;
endif;
if(%#flror%>%#fxv%);
log(&d» &cOps! &6Andar escolhido para começar é maior que o número de andares que você escolheu! Preste mais atenção nas perguntas &3:/);
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
log("&d» &6As sethomes devem ser no estilo: &3/home fungof1 /home fungof2&6 ...");
log("&d» &6A sethome dos baús deve ser &3/home fungobaus &6...");
log("&d» &6Se quiser parar só por um tempo, segure a &3tecla P&6 até parar!");
set(first);
endif;
do;
for(#hfl,%#flror%,%#fxv%);
wait(1);
if(return);
#hfltemp=%#hfl%;#hfl=8000;
}$$
/home fungotemp
$${
do;until((%XPOS%=%#snposx1%)&&(%ZPOS%=%#snposx2%));wait(1);
unset(return);
else;
}$$
$${if(%#hfl%=1);}$$/home fungof1$${endif;}$$
$${if(%#hfl%=2);}$$/home fungof2$${endif;}$$
$${if(%#hfl%=3);}$$/home fungof3$${endif;}$$
$${if(%#hfl%=4);}$$/home fungof4$${endif;}$$
$${if(%#hfl%=5);}$$/home fungof5$${endif;}$$
$${if(%#hfl%=6);}$$/home fungof6$${endif;}$$
$${
wait(8);
set(first);
endif;
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
gui();
for(#in,1,9);
getslotitem(%#in%,#idk,#stack);
ifmatches(%#idk%,^269$|^270$|^271$|^273$|^274$|^275$|^277$|^278$|^279$|^284$|^285$|^286$|^256$|^257$|^258$);
#slotl=%#in%;
endif;
next;
look(%&dir%);
look(,+89);
key(attack);
unset(nextfloor);
do;
#stack=0;
keyup(forward);
gui(inventory);
wait(450ms);
getslot(372,#fghot);
getslotitem(35,#id,#stack);
if(%#fghot%<36);
slotclick(%#fghot%,l,true);
endif;
wait(450ms);
gui();
if(%#stack%>0);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${}$$
/home fungobaus
$${
do;until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));wait(3);
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
do;
look(%&dir%);
if(%#nbau%=1);look(-26,-40);endif;
if(%#nbau%=2);look(+26,-40);endif;
if(%#nbau%=3);look(+65,-40);endif;
if(%#nbau%=4);look(+116,-40);endif;
if(%#nbau%=5);look(+155,-40);endif;
if(%#nbau%=6);look(+206,-40);endif;
if(%#nbau%=7);look(-26,-20);endif;
if(%#nbau%=8);look(+26,-20);endif;
if(%#nbau%=9);look(+65,-20);endif;
if(%#nbau%=10);look(+116,-20);endif;
if(%#nbau%=11);look(+155,-20);endif;
if(%#nbau%=12);look(+206,-20);endif;
if(%#nbau%=13);look(-26,-0);endif;
if(%#nbau%=14);look(+26,-0);endif;
if(%#nbau%=15);look(+65,-0);endif;
if(%#nbau%=16);look(+116,-0);endif;
if(%#nbau%=17);look(+155,-0);endif;
if(%#nbau%=18);look(+206,-0);endif;
if(%#nbau%=19);look(-26,+25);endif;
if(%#nbau%=20);look(+26,+25);endif;
if(%#nbau%=21);look(+65,+25);endif;
if(%#nbau%=22);look(+116,+25);endif;
if(%#nbau%=23);look(+155,+25);endif;
if(%#nbau%=24);look(+206,+25);endif;
wait(1);
key(use);
wait(4);
for(#i,54,87);
getslotitem(%#i%,#ide,#stacke);
if(%#ide%=372);
slotclick(%#i%,l,true);
wait(30ms);
endif;
next;
wait(250ms);
getslotitem(53,#id,#stack);
wait(250ms);
if(%#stack%!=0);
#nbau=%#nbau%+1;
if(%#nbau%=25);
unset(@neth3);
log("&d» &6Baús cheios?");
log("&d» &6Plantação Automática &c[OFF]");
stop();
endif;
endif;
gui();
until(%#stack%=0);
}$$
/home fungotemp
$${
wait(%#delay%);
keydown(jump);wait(100ms);keyup(jump);wait(1);
else;
gui();
endif;
do;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
ifmatches(%GUI%,chat|inventory);
keyup(forward);
log(&d» &6Chat ou inventório detectado. &3Macro pausado!);
do;
ifmatches(%GUI%,CHAT|INVENTORY);
else;
#g=0;
endif;
until(%#g%=0);
#g=1;
log(&d» &6Chat ou inventório fechado. &3Continuando!);
endif;
if(KEY_P);
keyup(forward);
wait(200ms);
#nposx1=%XPOS%;#nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${
log(&d» &6Plantação automática &3interrompida&6!);
log(&d» &6Para continuar, segure a &3tecla P &6por 3 segundos!);
do;
if(KEY_P);
wait(3);
if(KEY_P);
wait(200ms);
if(KEY_P);
set(resume);
endif;
endif;
endif;
until(resume);
unset(resume);
}$$
/home fungotemp
$${
log("&d» &6Plantação automática &3retomada&6!");
log("&d» &6Não mexa o mouse, oki? &3

do;until((%XPOS%=%#nposx1%)&&(%ZPOS%=%#nposx2%));
wait(2);
endif;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
look(%&dir%);
look(,+89);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
do;
keydown(forward);
pick(372);
key(use);
getidrel(%&x%,+0,%&z%,#blockd);
getidrel(%&x%,+1,%&z%,#blocku);
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%)|(%#blockd%!=88)|(%#blocku%!=115)&&(%#blocku%!=0));
slot(%#slotl%);
if(%HITDATA%>2);key(attack);wait(10ms);endif;
until((%#blockd%!=88)|(%#blocku%!=115)&&(%#blocku%!=0));
key(use);
keyup(forward);
if(first);
getidrel(%&x1%,+0,%&z1%,#block1);getidrel(%&x2%,+0,%&z2%,#block2);
getidrel(%&x1%,+1,%&z1%,#block3);getidrel(%&x2%,+1,%&z2%,#block4);
if((%#block1%=88)|(%#block3%=88));&sn=-;endif;
if((%#block2%=88)|(%#block4%=88));&sn=+;endif;
&dirc=%DIRECTION%;
ifmatches(%&sn%,[\+]);&sn1=+;&sn2=-;endif;
ifmatches(%&sn%,[\-]);&sn1=-;&sn2=+;endif;
unset(first);
endif;
&dir=%DIRECTION%;
ifmatches(%&dirc%,N);ifmatches(%&dir%,N);&sn=%&sn1%;endif;ifmatches(%&dir%,S);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,S);ifmatches(%&dir%,N);&sn=%&sn2%;endif;ifmatches(%&dir%,S);&sn=%&sn1%;endif;endif;
ifmatches(%&dirc%,W);ifmatches(%&dir%,W);&sn=%&sn1%;endif;ifmatches(%&dir%,E);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,E);ifmatches(%&dir%,W);&sn=%&sn2%;endif;ifmatches(%&dir%,E);&sn=%&sn1%;endif;endif;
look(%&sn%90,);
wait(100ms);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
getidrel(%&x%,+0,%&z%,#block1);
getidrel(%&x%,+1,%&z%,#block3);
if(((%#block3%!=0)&&(%#block3%!=115))|(%#block1%!=88));
set(nextfloor);
endif;
if(nextfloor);
else;
#nposx1 = %XPOS%; #nposx2 = %ZPOS%;
do;
keydown(forward);
pick(372);
key(use);
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));
keyup(forward);
key(attack);
look(%&sn%90,);
endif;
until(nextfloor);
keyup(FORWARD);
next;
#flror=1;
loop;
endif;
}$$
$${
if(@neth3);
keyup(forward);
unset(@neth3);
}$$
/sethome fungotemp
$${
#snposx1=%XPOS%; #snposx2=%ZPOS%;
log("&d» &6Plantação Automática &c[OFF]");
stop();
else;
set(@neth3);
#delay=8;#nbau=1;
log("&d» &6Plantação Automática &a[ON]");
PROMPT(&return,$$?,"Continuar de onde estava quando desligou? (S ou N)");
ifmatches(%&return%,^[S|s]);
set(return);
log("&d» &6Continuando a partir de onde foi desligado!");
else;
unset(return);
PROMPT(#fxv,$$?,"Quantos andares são? (O máximo são 6 andares!)"); if(%#fxv%=0);unset(@neth3);stop();endif;
#hfl=1;
if(%#fxv%>1);
&tm=;
if(%#fxv%=2);&tm=1 ou 2?;endif;if(%#fxv%=3);&tm=1, 2 ou 3?;endif;if(%#fxv%=4);&tm=1, 2, 3 ou 4?;endif;if(%#fxv%=5);&tm=1, 2, 3, 4 ou 5?;endif;if(%#fxv%=6);&tm=1, 2, 3, 4, 5 ou 6?;endif;
if(%#fxv%>6);
log("&d» &cOps! &6Número de andares maior que o possível &3(6)&6!");
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
PROMPT(#flror,$$?,"Começar por qual andar? %&tm%"); if(%#flror%=0);unset(@neth3);stop();endif;
else;
#flror=1;
endif;
if(%#flror%>%#fxv%);
log(&d» &cOps! &6Andar escolhido para começar é maior que o número de andares que você escolheu! Preste mais atenção nas perguntas &3:/);
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
log("&d» &6As sethomes devem ser no estilo: &3/home fungof1 /home fungof2&6 ...");
log("&d» &6A sethome dos baús deve ser &3/home fungobaus &6...");
log("&d» &6Se quiser parar só por um tempo, segure a &3tecla P&6 até parar!");
set(first);
endif;
do;
for(#hfl,%#flror%,%#fxv%);
wait(1);
if(return);
#hfltemp=%#hfl%;#hfl=8000;
}$$
/home fungotemp
$${
do;until((%XPOS%=%#snposx1%)&&(%ZPOS%=%#snposx2%));wait(1);
unset(return);
else;
}$$
$${if(%#hfl%=1);}$$/home fungof1$${endif;}$$
$${if(%#hfl%=2);}$$/home fungof2$${endif;}$$
$${if(%#hfl%=3);}$$/home fungof3$${endif;}$$
$${if(%#hfl%=4);}$$/home fungof4$${endif;}$$
$${if(%#hfl%=5);}$$/home fungof5$${endif;}$$
$${if(%#hfl%=6);}$$/home fungof6$${endif;}$$
$${
wait(8);
set(first);
endif;
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
gui();
for(#in,1,9);
getslotitem(%#in%,&idk,#stack);
ifmatches(%&idk%,shovel|pickaxe|axe);
#slotl=%#in%;
endif;
next;
look(%&dir%);
look(,+89);
key(attack);
unset(nextfloor);
do;
#stack=0;
keyup(forward);
gui(inventory);
wait(450ms);
getslot(372,#fghot);
getslotitem(35,&id,#stack);
if(%#fghot%<36);
slotclick(%#fghot%,l,true);
endif;
wait(450ms);
gui();
if(%#stack%>0);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${}$$
/home fungobaus
$${
do;until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));wait(3);
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
do;
look(%&dir%);
if(%#nbau%=1);look(-26,-40);endif;
if(%#nbau%=2);look(+26,-40);endif;
if(%#nbau%=3);look(+65,-40);endif;
if(%#nbau%=4);look(+116,-40);endif;
if(%#nbau%=5);look(+155,-40);endif;
if(%#nbau%=6);look(+206,-40);endif;
if(%#nbau%=7);look(-26,-20);endif;
if(%#nbau%=8);look(+26,-20);endif;
if(%#nbau%=9);look(+65,-20);endif;
if(%#nbau%=10);look(+116,-20);endif;
if(%#nbau%=11);look(+155,-20);endif;
if(%#nbau%=12);look(+206,-20);endif;
if(%#nbau%=13);look(-26,-0);endif;
if(%#nbau%=14);look(+26,-0);endif;
if(%#nbau%=15);look(+65,-0);endif;
if(%#nbau%=16);look(+116,-0);endif;
if(%#nbau%=17);look(+155,-0);endif;
if(%#nbau%=18);look(+206,-0);endif;
if(%#nbau%=19);look(-26,+25);endif;
if(%#nbau%=20);look(+26,+25);endif;
if(%#nbau%=21);look(+65,+25);endif;
if(%#nbau%=22);look(+116,+25);endif;
if(%#nbau%=23);look(+155,+25);endif;
if(%#nbau%=24);look(+206,+25);endif;
wait(1);
key(use);
wait(4);
for(#i,54,87);
getslotitem(%#i%,&ide,#stacke);
ifmatches(%&ide%,nether_wart);
slotclick(%#i%,l,true);
wait(30ms);
endif;
next;
wait(250ms);
getslotitem(53,&id,#stack);
wait(250ms);
if(%#stack%!=0);
#nbau=%#nbau%+1;
if(%#nbau%=25);
unset(@neth3);
log("&d» &6Baús cheios?");
log("&d» &6Plantação Automática &c[OFF]");
stop();
endif;
endif;
gui();
until(%#stack%=0);
}$$
/home fungotemp
$${
wait(%#delay%);
keydown(jump);wait(100ms);keyup(jump);wait(1);
else;
gui();
endif;
do;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
ifmatches(%GUI%,chat|inventory);
keyup(forward);
log(&d» &6Chat ou inventório detectado. &3Macro pausado!);
do;
ifmatches(%GUI%,CHAT|INVENTORY);
else;
#g=0;
endif;
until(%#g%=0);
#g=1;
log(&d» &6Chat ou inventório fechado. &3Continuando!);
endif;
if(KEY_P);
keyup(forward);
wait(200ms);
#nposx1=%XPOS%;#nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${
log(&d» &6Plantação automática &3interrompida&6!);
log(&d» &6Para continuar, segure a &3tecla P &6por 3 segundos!);
do;
if(KEY_P);
wait(3);
if(KEY_P);
wait(200ms);
if(KEY_P);
set(resume);
endif;
endif;
endif;
until(resume);
unset(resume);
}$$
/home fungotemp
$${
log("&d» &6Plantação automática &3retomada&6!");
log("&d» &6Não mexa o mouse, oki? &3
");
do;until((%XPOS%=%#nposx1%)&&(%ZPOS%=%#nposx2%));
wait(2);
endif;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
look(%&dir%);
look(,+89);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
do;
keydown(forward);
pick(nether_wart);
key(use);
getidrel(%&x%,+0,%&z%,&blockd);
getidrel(%&x%,+1,%&z%,&blocku);
ifmatches(%&blockd%,soul_sand);#cond1=0;else;#cond1=1;endif;
ifmatches(%&blocku%,nether_wart);#cond2=0;else;#cond2=1;endif;
ifmatches(%&blocku%,air);#cond3=0;else;#cond3=1;endif;
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%)|(%#cond1%=1)|(%#cond2%=1)&&(%#cond3%=1));
slot(%#slotl%);
if(%HITDATA%>2);key(attack);wait(10ms);endif;
ifmatches(%&blockd%,soul_sand);#cond1=0;else;#cond1=1;endif;
ifmatches(%&blocku%,nether_wart);#cond2=0;else;#cond2=1;endif;
ifmatches(%&blocku%,air);#cond3=0;else;#cond3=1;endif;
until((%#cond1%=1)|(%#cond2%=1)&&(%#cond3%=1));
key(use);
keyup(forward);
if(first);
getidrel(%&x1%,+0,%&z1%,&block1);getidrel(%&x2%,+0,%&z2%,&block2);
getidrel(%&x1%,+1,%&z1%,&block3);getidrel(%&x2%,+1,%&z2%,&block4);
ifmatches(%&block1%,soul_sand);&sn=-;endif;ifmatches(%&block3%,soul_sand);&sn=-;endif;
ifmatches(%&block2%,soul_sand);&sn=+;endif;ifmatches(%&block4%,soul_sand);&sn=+;endif;
&dirc=%DIRECTION%;
ifmatches(%&sn%,[\+]);&sn1=+;&sn2=-;endif;
ifmatches(%&sn%,[\-]);&sn1=-;&sn2=+;endif;
unset(first);
endif;
&dir=%DIRECTION%;
ifmatches(%&dirc%,N);ifmatches(%&dir%,N);&sn=%&sn1%;endif;ifmatches(%&dir%,S);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,S);ifmatches(%&dir%,N);&sn=%&sn2%;endif;ifmatches(%&dir%,S);&sn=%&sn1%;endif;endif;
ifmatches(%&dirc%,W);ifmatches(%&dir%,W);&sn=%&sn1%;endif;ifmatches(%&dir%,E);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,E);ifmatches(%&dir%,W);&sn=%&sn2%;endif;ifmatches(%&dir%,E);&sn=%&sn1%;endif;endif;
look(%&sn%90,);
wait(100ms);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
getidrel(%&x%,+0,%&z%,&block1);
getidrel(%&x%,+1,%&z%,&block3);
#rf=0;
ifmatches(%&block3%,air);else;inc(#rf,1);endif;
ifmatches(%&block3%,nether_wart);else;inc(#rf,1);endif;
ifmatches(%&block1%,soul_sand);else;#rf=2;endif;
endif;
if(%#rf%=2);
else;
#nposx1 = %XPOS%; #nposx2 = %ZPOS%;
do;
keydown(forward);
pick(nether_wart);
key(use);
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));
keyup(forward);
key(attack);
look(%&sn%90,);
endif;
until(%#rf%=2);
keyup(FORWARD);
next;
#flror=1;
loop;
endif;
}$$
if(@neth3);
keyup(forward);
unset(@neth3);
}$$
/sethome fungotemp
$${
#snposx1=%XPOS%; #snposx2=%ZPOS%;
log("&d» &6Plantação Automática &c[OFF]");
stop();
else;
set(@neth3);
#delay=8;#nbau=1;
log("&d» &6Plantação Automática &a[ON]");
PROMPT(&return,$$?,"Continuar de onde estava quando desligou? (S ou N)");
ifmatches(%&return%,^[S|s]);
set(return);
log("&d» &6Continuando a partir de onde foi desligado!");
else;
unset(return);
PROMPT(#fxv,$$?,"Quantos andares são? (O máximo são 6 andares!)"); if(%#fxv%=0);unset(@neth3);stop();endif;
#hfl=1;
if(%#fxv%>1);
&tm=;
if(%#fxv%=2);&tm=1 ou 2?;endif;if(%#fxv%=3);&tm=1, 2 ou 3?;endif;if(%#fxv%=4);&tm=1, 2, 3 ou 4?;endif;if(%#fxv%=5);&tm=1, 2, 3, 4 ou 5?;endif;if(%#fxv%=6);&tm=1, 2, 3, 4, 5 ou 6?;endif;
if(%#fxv%>6);
log("&d» &cOps! &6Número de andares maior que o possível &3(6)&6!");
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
PROMPT(#flror,$$?,"Começar por qual andar? %&tm%"); if(%#flror%=0);unset(@neth3);stop();endif;
else;
#flror=1;
endif;
if(%#flror%>%#fxv%);
log(&d» &cOps! &6Andar escolhido para começar é maior que o número de andares que você escolheu! Preste mais atenção nas perguntas &3:/);
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
log("&d» &6As sethomes devem ser no estilo: &3/home fungof1 /home fungof2&6 ...");
log("&d» &6A sethome dos baús deve ser &3/home fungobaus &6...");
log("&d» &6Se quiser parar só por um tempo, segure a &3tecla P&6 até parar!");
set(first);
endif;
do;
for(#hfl,%#flror%,%#fxv%);
wait(1);
if(return);
#hfltemp=%#hfl%;#hfl=8000;
}$$
/home fungotemp
$${
do;until((%XPOS%=%#snposx1%)&&(%ZPOS%=%#snposx2%));wait(1);
unset(return);
else;
}$$
$${if(%#hfl%=1);}$$/home fungof1$${endif;}$$
$${if(%#hfl%=2);}$$/home fungof2$${endif;}$$
$${if(%#hfl%=3);}$$/home fungof3$${endif;}$$
$${if(%#hfl%=4);}$$/home fungof4$${endif;}$$
$${if(%#hfl%=5);}$$/home fungof5$${endif;}$$
$${if(%#hfl%=6);}$$/home fungof6$${endif;}$$
$${
wait(8);
set(first);
endif;
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
gui();
for(#in,1,9);
getslotitem(%#in%,&idk,#stack);
ifmatches(%&idk%,shovel|pickaxe|axe);
#slotl=%#in%;
endif;
next;
look(%&dir%);
look(,+89);
key(attack);
unset(nextfloor);
do;
#stack=0;
keyup(forward);
gui(inventory);
wait(450ms);
getslot(372,#fghot);
getslotitem(35,&id,#stack);
if(%#fghot%<36);
slotclick(%#fghot%,l,true);
endif;
wait(450ms);
gui();
if(%#stack%>0);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${}$$
/home fungobaus
$${
do;until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));wait(3);
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
do;
look(%&dir%);
if(%#nbau%=1);look(-26,-40);endif;
if(%#nbau%=2);look(+26,-40);endif;
if(%#nbau%=3);look(+65,-40);endif;
if(%#nbau%=4);look(+116,-40);endif;
if(%#nbau%=5);look(+155,-40);endif;
if(%#nbau%=6);look(+206,-40);endif;
if(%#nbau%=7);look(-26,-20);endif;
if(%#nbau%=8);look(+26,-20);endif;
if(%#nbau%=9);look(+65,-20);endif;
if(%#nbau%=10);look(+116,-20);endif;
if(%#nbau%=11);look(+155,-20);endif;
if(%#nbau%=12);look(+206,-20);endif;
if(%#nbau%=13);look(-26,-0);endif;
if(%#nbau%=14);look(+26,-0);endif;
if(%#nbau%=15);look(+65,-0);endif;
if(%#nbau%=16);look(+116,-0);endif;
if(%#nbau%=17);look(+155,-0);endif;
if(%#nbau%=18);look(+206,-0);endif;
if(%#nbau%=19);look(-26,+25);endif;
if(%#nbau%=20);look(+26,+25);endif;
if(%#nbau%=21);look(+65,+25);endif;
if(%#nbau%=22);look(+116,+25);endif;
if(%#nbau%=23);look(+155,+25);endif;
if(%#nbau%=24);look(+206,+25);endif;
wait(1);
key(use);
wait(4);
for(#i,54,87);
getslotitem(%#i%,&ide,#stacke);
ifmatches(%&ide%,nether_wart);
slotclick(%#i%,l,true);
wait(30ms);
endif;
next;
wait(250ms);
getslotitem(53,&id,#stack);
wait(250ms);
if(%#stack%!=0);
#nbau=%#nbau%+1;
if(%#nbau%=25);
unset(@neth3);
log("&d» &6Baús cheios?");
log("&d» &6Plantação Automática &c[OFF]");
stop();
endif;
endif;
gui();
until(%#stack%=0);
}$$
/home fungotemp
$${
wait(%#delay%);
keydown(jump);wait(100ms);keyup(jump);wait(1);
else;
gui();
endif;
do;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
ifmatches(%GUI%,chat|inventory);
keyup(forward);
log(&d» &6Chat ou inventório detectado. &3Macro pausado!);
do;
ifmatches(%GUI%,CHAT|INVENTORY);
else;
#g=0;
endif;
until(%#g%=0);
#g=1;
log(&d» &6Chat ou inventório fechado. &3Continuando!);
endif;
if(KEY_P);
keyup(forward);
wait(200ms);
#nposx1=%XPOS%;#nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${
log(&d» &6Plantação automática &3interrompida&6!);
log(&d» &6Para continuar, segure a &3tecla P &6por 3 segundos!);
do;
if(KEY_P);
wait(3);
if(KEY_P);
wait(200ms);
if(KEY_P);
set(resume);
endif;
endif;
endif;
until(resume);
unset(resume);
}$$
/home fungotemp
$${
log("&d» &6Plantação automática &3retomada&6!");
log("&d» &6Não mexa o mouse, oki? &3

do;until((%XPOS%=%#nposx1%)&&(%ZPOS%=%#nposx2%));
wait(2);
endif;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
look(%&dir%);
look(,+89);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
do;
keydown(forward);
pick(nether_wart);
key(use);
getidrel(%&x%,+0,%&z%,&blockd);
getidrel(%&x%,+1,%&z%,&blocku);
ifmatches(%&blockd%,soul_sand);#cond1=0;else;#cond1=1;endif;
ifmatches(%&blocku%,nether_wart);#cond2=0;else;#cond2=1;endif;
ifmatches(%&blocku%,air);#cond3=0;else;#cond3=1;endif;
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%)|(%#cond1%=1)|(%#cond2%=1)&&(%#cond3%=1));
slot(%#slotl%);
if(%HITDATA%>2);key(attack);wait(10ms);endif;
ifmatches(%&blockd%,soul_sand);#cond1=0;else;#cond1=1;endif;
ifmatches(%&blocku%,nether_wart);#cond2=0;else;#cond2=1;endif;
ifmatches(%&blocku%,air);#cond3=0;else;#cond3=1;endif;
until((%#cond1%=1)|(%#cond2%=1)&&(%#cond3%=1));
key(use);
keyup(forward);
if(first);
getidrel(%&x1%,+0,%&z1%,&block1);getidrel(%&x2%,+0,%&z2%,&block2);
getidrel(%&x1%,+1,%&z1%,&block3);getidrel(%&x2%,+1,%&z2%,&block4);
ifmatches(%&block1%,soul_sand);&sn=-;endif;ifmatches(%&block3%,soul_sand);&sn=-;endif;
ifmatches(%&block2%,soul_sand);&sn=+;endif;ifmatches(%&block4%,soul_sand);&sn=+;endif;
&dirc=%DIRECTION%;
ifmatches(%&sn%,[\+]);&sn1=+;&sn2=-;endif;
ifmatches(%&sn%,[\-]);&sn1=-;&sn2=+;endif;
unset(first);
endif;
&dir=%DIRECTION%;
ifmatches(%&dirc%,N);ifmatches(%&dir%,N);&sn=%&sn1%;endif;ifmatches(%&dir%,S);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,S);ifmatches(%&dir%,N);&sn=%&sn2%;endif;ifmatches(%&dir%,S);&sn=%&sn1%;endif;endif;
ifmatches(%&dirc%,W);ifmatches(%&dir%,W);&sn=%&sn1%;endif;ifmatches(%&dir%,E);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,E);ifmatches(%&dir%,W);&sn=%&sn2%;endif;ifmatches(%&dir%,E);&sn=%&sn1%;endif;endif;
look(%&sn%90,);
wait(100ms);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
getidrel(%&x%,+0,%&z%,&block1);
getidrel(%&x%,+1,%&z%,&block3);
#rf=0;
ifmatches(%&block3%,air);else;inc(#rf,1);endif;
ifmatches(%&block3%,nether_wart);else;inc(#rf,1);endif;
ifmatches(%&block1%,soul_sand);else;#rf=2;endif;
endif;
if(%#rf%=2);
else;
#nposx1 = %XPOS%; #nposx2 = %ZPOS%;
do;
keydown(forward);
pick(nether_wart);
key(use);
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));
keyup(forward);
key(attack);
look(%&sn%90,);
endif;
until(%#rf%=2);
keyup(FORWARD);
next;
#flror=1;
loop;
endif;
}$$
$${
if(@neth3);
keyup(forward);
unset(@neth3);
}$$
/sethome fungotemp
$${
#snposx1=%XPOS%; #snposx2=%ZPOS%;
log("&d» &6Plantação Automática &c[OFF]");
stop();
else;
set(@neth3);
#delay=8;#nbau=1;
log("&d» &6Plantação Automática &a[ON]");
PROMPT(&return,$$?,"Continuar de onde estava quando desligou? (S ou N)");
ifmatches(%&return%,^[S|s]);
set(return);
log("&d» &6Continuando a partir de onde foi desligado!");
else;
#ch=1;
unset(return);
PROMPT(#fxv,$$?,"Quantos andares são? (O máximo são 6 andares!)"); if(%#fxv%=0);unset(@neth3);stop();endif;
#hfl=1;
if(%#fxv%>1);
&tm=;
if(%#fxv%=2);&tm=1 ou 2?;endif;if(%#fxv%=3);&tm=1, 2 ou 3?;endif;if(%#fxv%=4);&tm=1, 2, 3 ou 4?;endif;if(%#fxv%=5);&tm=1, 2, 3, 4 ou 5?;endif;if(%#fxv%=6);&tm=1, 2, 3, 4, 5 ou 6?;endif;
if(%#fxv%>6);
log("&d» &cOps! &6Número de andares maior que o possível &3(6)&6!");
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
PROMPT(#flror,$$?,"Começar por qual andar? %&tm%"); if(%#flror%=0);unset(@neth3);stop();endif;
else;
#flror=1;
endif;
if(%#flror%>%#fxv%);
log(&d» &cOps! &6Andar escolhido para começar é maior que o número de andares que você escolheu! Preste mais atenção nas perguntas &3:/);
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
log("&d» &6As sethomes devem ser no estilo: &3/home fungof1 /home fungof2&6 ...");
log("&d» &6A sethome dos baús deve ser &3/home fungobaus &6...");
log("&d» &6Se quiser parar só por um tempo, segure a &3tecla P&6 até parar!");
set(first);
endif;
do;
for(#hfl,%#flror%,%#fxv%);
wait(1);
if(return);
#hfltemp=%#hfl%;#hfl=8000;
}$$
/home fungotemp
$${
do;until((%XPOS%=%#snposx1%)&&(%ZPOS%=%#snposx2%));wait(1);
unset(return);
else;
}$$
$${if(%#hfl%=1);}$$/home fungof1$${endif;}$$
$${if(%#hfl%=2);}$$/home fungof2$${endif;}$$
$${if(%#hfl%=3);}$$/home fungof3$${endif;}$$
$${if(%#hfl%=4);}$$/home fungof4$${endif;}$$
$${if(%#hfl%=5);}$$/home fungof5$${endif;}$$
$${if(%#hfl%=6);}$$/home fungof6$${endif;}$$
$${
wait(8);
set(first);
endif;
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
gui();
for(#in,1,9);
getslotitem(%#in%,&idk,#stack);
ifmatches(%&idk%,shovel|pickaxe|axe);
#slotl=%#in%;
endif;
next;
look(%&dir%);
look(,+89);
key(attack);
unset(nextfloor);
do;
#stack=0;
keyup(forward);
gui(inventory);
wait(450ms);
getslot(372,#fghot);
getslotitem(35,&id,#stack);
if(%#fghot%<36);
slotclick(%#fghot%,l,true);
endif;
wait(450ms);
gui();
if(%#stack%>0);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${
if(%#ch%=1);}$$/home fungobaus1$${endif;
if(%#ch%=2);}$$/home fungobaus2$${endif;
do;until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));wait(3);
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
do;
look(%&dir%);
if(%#nbau%=1);look(-26,-40);endif;
if(%#nbau%=2);look(+26,-40);endif;
if(%#nbau%=3);look(+65,-40);endif;
if(%#nbau%=4);look(+116,-40);endif;
if(%#nbau%=5);look(+155,-40);endif;
if(%#nbau%=6);look(+206,-40);endif;
if(%#nbau%=7);look(-26,-20);endif;
if(%#nbau%=8);look(+26,-20);endif;
if(%#nbau%=9);look(+65,-20);endif;
if(%#nbau%=10);look(+116,-20);endif;
if(%#nbau%=11);look(+155,-20);endif;
if(%#nbau%=12);look(+206,-20);endif;
if(%#nbau%=13);look(-26,-0);endif;
if(%#nbau%=14);look(+26,-0);endif;
if(%#nbau%=15);look(+65,-0);endif;
if(%#nbau%=16);look(+116,-0);endif;
if(%#nbau%=17);look(+155,-0);endif;
if(%#nbau%=18);look(+206,-0);endif;
if(%#nbau%=19);look(-26,+25);endif;
if(%#nbau%=20);look(+26,+25);endif;
if(%#nbau%=21);look(+65,+25);endif;
if(%#nbau%=22);look(+116,+25);endif;
if(%#nbau%=23);look(+155,+25);endif;
if(%#nbau%=24);look(+206,+25);endif;
wait(1);
key(use);
wait(4);
for(#i,54,87);
getslotitem(%#i%,&ide,#stacke);
ifmatches(%&ide%,nether_wart);
slotclick(%#i%,l,true);
wait(30ms);
endif;
next;
wait(250ms);
getslotitem(53,&id,#stack);
wait(250ms);
if(%#stack%!=0);
#nbau=%#nbau%+1;
if(%#nbau%=25);
unset(@neth3);
log("&d» &6Baús cheios?");
if(%#ch%=1);
log("&d» &6Segundo conjunto de baús!");
#ch=2;
#nbau=1;
}$$/home fungobaus2$${
do;until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));wait(3);
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
else;
log("&d» &6Plantação Automática &c[OFF]");
stop();
endif;
endif;
endif;
gui();
until(%#stack%=0);
}$$
/home fungotemp
$${
wait(%#delay%);
keydown(jump);wait(100ms);keyup(jump);wait(1);
else;
gui();
endif;
do;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
ifmatches(%GUI%,chat|inventory);
keyup(forward);
log(&d» &6Chat ou inventório detectado. &3Macro pausado!);
do;
ifmatches(%GUI%,CHAT|INVENTORY);
else;
#g=0;
endif;
until(%#g%=0);
#g=1;
log(&d» &6Chat ou inventório fechado. &3Continuando!);
endif;
if(KEY_P);
keyup(forward);
wait(200ms);
#nposx1=%XPOS%;#nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${
log(&d» &6Plantação automática &3interrompida&6!);
log(&d» &6Para continuar, segure a &3tecla P &6por 3 segundos!);
do;
if(KEY_P);
wait(3);
if(KEY_P);
wait(200ms);
if(KEY_P);
set(resume);
endif;
endif;
endif;
until(resume);
unset(resume);
}$$
/home fungotemp
$${
log("&d» &6Plantação automática &3retomada&6!");
log("&d» &6Não mexa o mouse, oki? &3
");
do;until((%XPOS%=%#nposx1%)&&(%ZPOS%=%#nposx2%));
wait(2);
endif;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
look(%&dir%);
look(,+89);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
do;
keydown(forward);
pick(nether_wart);
key(use);
getidrel(%&x%,+0,%&z%,&blockd);
getidrel(%&x%,+1,%&z%,&blocku);
ifmatches(%&blockd%,soul_sand);#cond1=0;else;#cond1=1;endif;
ifmatches(%&blocku%,nether_wart);#cond2=0;else;#cond2=1;endif;
ifmatches(%&blocku%,air);#cond3=0;else;#cond3=1;endif;
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%)|(%#cond1%=1)|(%#cond2%=1)&&(%#cond3%=1));
slot(%#slotl%);
if(%HITDATA%>2);key(attack);endif;
ifmatches(%&blockd%,soul_sand);#cond1=0;else;#cond1=1;endif;
ifmatches(%&blocku%,nether_wart);#cond2=0;else;#cond2=1;endif;
ifmatches(%&blocku%,air);#cond3=0;else;#cond3=1;endif;
until((%#cond1%=1)|((%#cond2%=1)&&(%#cond3%=1)));
key(use);
keyup(forward);
if(first);
getidrel(%&x1%,+0,%&z1%,&block1);getidrel(%&x2%,+0,%&z2%,&block2);
getidrel(%&x1%,+1,%&z1%,&block3);getidrel(%&x2%,+1,%&z2%,&block4);
ifmatches(%&block1%,soul_sand);&sn=-;endif;ifmatches(%&block3%,soul_sand);&sn=-;endif;
ifmatches(%&block2%,soul_sand);&sn=+;endif;ifmatches(%&block4%,soul_sand);&sn=+;endif;
&dirc=%DIRECTION%;
ifmatches(%&sn%,[\+]);&sn1=+;&sn2=-;endif;
ifmatches(%&sn%,[\-]);&sn1=-;&sn2=+;endif;
unset(first);
endif;
&dir=%DIRECTION%;
ifmatches(%&dirc%,N);ifmatches(%&dir%,N);&sn=%&sn1%;endif;ifmatches(%&dir%,S);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,S);ifmatches(%&dir%,N);&sn=%&sn2%;endif;ifmatches(%&dir%,S);&sn=%&sn1%;endif;endif;
ifmatches(%&dirc%,W);ifmatches(%&dir%,W);&sn=%&sn1%;endif;ifmatches(%&dir%,E);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,E);ifmatches(%&dir%,W);&sn=%&sn2%;endif;ifmatches(%&dir%,E);&sn=%&sn1%;endif;endif;
look(%&sn%90,);
wait(100ms);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
getidrel(%&x%,+0,%&z%,&block1);
getidrel(%&x%,+1,%&z%,&block3);
#rf=0;
ifmatches(%&block3%,air);else;inc(#rf,1);endif;
ifmatches(%&block3%,nether_wart);else;inc(#rf,1);endif;
ifmatches(%&block1%,soul_sand);else;#rf=2;endif;
endif;
if(%#rf%=2);
else;
#nposx1 = %XPOS%; #nposx2 = %ZPOS%;
do;
keydown(forward);
pick(nether_wart);
key(use);
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));
keyup(forward);
key(attack);
look(%&sn%90,);
endif;
until(%#rf%=2);
keyup(FORWARD);
next;
#flror=1;
loop;
endif;
}$$
if(@neth3);
keyup(forward);
unset(@neth3);
}$$
/sethome fungotemp
$${
#snposx1=%XPOS%; #snposx2=%ZPOS%;
log("&d» &6Plantação Automática &c[OFF]");
stop();
else;
set(@neth3);
#delay=8;#nbau=1;
log("&d» &6Plantação Automática &a[ON]");
PROMPT(&return,$$?,"Continuar de onde estava quando desligou? (S ou N)");
ifmatches(%&return%,^[S|s]);
set(return);
log("&d» &6Continuando a partir de onde foi desligado!");
else;
#ch=1;
unset(return);
PROMPT(#fxv,$$?,"Quantos andares são? (O máximo são 6 andares!)"); if(%#fxv%=0);unset(@neth3);stop();endif;
#hfl=1;
if(%#fxv%>1);
&tm=;
if(%#fxv%=2);&tm=1 ou 2?;endif;if(%#fxv%=3);&tm=1, 2 ou 3?;endif;if(%#fxv%=4);&tm=1, 2, 3 ou 4?;endif;if(%#fxv%=5);&tm=1, 2, 3, 4 ou 5?;endif;if(%#fxv%=6);&tm=1, 2, 3, 4, 5 ou 6?;endif;
if(%#fxv%>6);
log("&d» &cOps! &6Número de andares maior que o possível &3(6)&6!");
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
PROMPT(#flror,$$?,"Começar por qual andar? %&tm%"); if(%#flror%=0);unset(@neth3);stop();endif;
else;
#flror=1;
endif;
if(%#flror%>%#fxv%);
log(&d» &cOps! &6Andar escolhido para começar é maior que o número de andares que você escolheu! Preste mais atenção nas perguntas &3:/);
log("&d» &6Plantação Automática &c[OFF]");
unset(@neth3);
stop();
endif;
log("&d» &6As sethomes devem ser no estilo: &3/home fungof1 /home fungof2&6 ...");
log("&d» &6A sethome dos baús deve ser &3/home fungobaus &6...");
log("&d» &6Se quiser parar só por um tempo, segure a &3tecla P&6 até parar!");
set(first);
endif;
do;
for(#hfl,%#flror%,%#fxv%);
wait(1);
if(return);
#hfltemp=%#hfl%;#hfl=8000;
}$$
/home fungotemp
$${
do;until((%XPOS%=%#snposx1%)&&(%ZPOS%=%#snposx2%));wait(1);
unset(return);
else;
}$$
$${if(%#hfl%=1);}$$/home fungof1$${endif;}$$
$${if(%#hfl%=2);}$$/home fungof2$${endif;}$$
$${if(%#hfl%=3);}$$/home fungof3$${endif;}$$
$${if(%#hfl%=4);}$$/home fungof4$${endif;}$$
$${if(%#hfl%=5);}$$/home fungof5$${endif;}$$
$${if(%#hfl%=6);}$$/home fungof6$${endif;}$$
$${
wait(8);
set(first);
endif;
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
gui();
for(#in,1,9);
getslotitem(%#in%,&idk,#stack);
ifmatches(%&idk%,shovel|pickaxe|axe);
#slotl=%#in%;
endif;
next;
look(%&dir%);
look(,+89);
key(attack);
unset(nextfloor);
do;
#stack=0;
keyup(forward);
gui(inventory);
wait(450ms);
getslot(372,#fghot);
getslotitem(35,&id,#stack);
if(%#fghot%<36);
slotclick(%#fghot%,l,true);
endif;
wait(450ms);
gui();
if(%#stack%>0);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${
if(%#ch%=1);}$$/home fungobaus1$${endif;
if(%#ch%=2);}$$/home fungobaus2$${endif;
do;until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));wait(3);
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
do;
look(%&dir%);
if(%#nbau%=1);look(-26,-40);endif;
if(%#nbau%=2);look(+26,-40);endif;
if(%#nbau%=3);look(+65,-40);endif;
if(%#nbau%=4);look(+116,-40);endif;
if(%#nbau%=5);look(+155,-40);endif;
if(%#nbau%=6);look(+206,-40);endif;
if(%#nbau%=7);look(-26,-20);endif;
if(%#nbau%=8);look(+26,-20);endif;
if(%#nbau%=9);look(+65,-20);endif;
if(%#nbau%=10);look(+116,-20);endif;
if(%#nbau%=11);look(+155,-20);endif;
if(%#nbau%=12);look(+206,-20);endif;
if(%#nbau%=13);look(-26,-0);endif;
if(%#nbau%=14);look(+26,-0);endif;
if(%#nbau%=15);look(+65,-0);endif;
if(%#nbau%=16);look(+116,-0);endif;
if(%#nbau%=17);look(+155,-0);endif;
if(%#nbau%=18);look(+206,-0);endif;
if(%#nbau%=19);look(-26,+25);endif;
if(%#nbau%=20);look(+26,+25);endif;
if(%#nbau%=21);look(+65,+25);endif;
if(%#nbau%=22);look(+116,+25);endif;
if(%#nbau%=23);look(+155,+25);endif;
if(%#nbau%=24);look(+206,+25);endif;
wait(1);
key(use);
wait(4);
for(#i,54,87);
getslotitem(%#i%,&ide,#stacke);
ifmatches(%&ide%,nether_wart);
slotclick(%#i%,l,true);
wait(30ms);
endif;
next;
wait(250ms);
getslotitem(53,&id,#stack);
wait(250ms);
if(%#stack%!=0);
#nbau=%#nbau%+1;
if(%#nbau%=25);
unset(@neth3);
log("&d» &6Baús cheios?");
if(%#ch%=1);
log("&d» &6Segundo conjunto de baús!");
#ch=2;
#nbau=1;
}$$/home fungobaus2$${
do;until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));wait(3);
keydown(jump);wait(100ms);keyup(jump);wait(1);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
else;
log("&d» &6Plantação Automática &c[OFF]");
stop();
endif;
endif;
endif;
gui();
until(%#stack%=0);
}$$
/home fungotemp
$${
wait(%#delay%);
keydown(jump);wait(100ms);keyup(jump);wait(1);
else;
gui();
endif;
do;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
ifmatches(%GUI%,chat|inventory);
keyup(forward);
log(&d» &6Chat ou inventório detectado. &3Macro pausado!);
do;
ifmatches(%GUI%,CHAT|INVENTORY);
else;
#g=0;
endif;
until(%#g%=0);
#g=1;
log(&d» &6Chat ou inventório fechado. &3Continuando!);
endif;
if(KEY_P);
keyup(forward);
wait(200ms);
#nposx1=%XPOS%;#nposx2=%ZPOS%;
}$$
/sethome fungotemp
$${
log(&d» &6Plantação automática &3interrompida&6!);
log(&d» &6Para continuar, segure a &3tecla P &6por 3 segundos!);
do;
if(KEY_P);
wait(3);
if(KEY_P);
wait(200ms);
if(KEY_P);
set(resume);
endif;
endif;
endif;
until(resume);
unset(resume);
}$$
/home fungotemp
$${
log("&d» &6Plantação automática &3retomada&6!");
log("&d» &6Não mexa o mouse, oki? &3

do;until((%XPOS%=%#nposx1%)&&(%ZPOS%=%#nposx2%));
wait(2);
endif;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
look(%&dir%);
look(,+89);
#nposx1=%XPOS%; #nposx2=%ZPOS%;
do;
keydown(forward);
pick(nether_wart);
key(use);
getidrel(%&x%,+0,%&z%,&blockd);
getidrel(%&x%,+1,%&z%,&blocku);
ifmatches(%&blockd%,soul_sand);#cond1=0;else;#cond1=1;endif;
ifmatches(%&blocku%,nether_wart);#cond2=0;else;#cond2=1;endif;
ifmatches(%&blocku%,air);#cond3=0;else;#cond3=1;endif;
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%)|(%#cond1%=1)|(%#cond2%=1)&&(%#cond3%=1));
slot(%#slotl%);
if(%HITDATA%>2);key(attack);endif;
ifmatches(%&blockd%,soul_sand);#cond1=0;else;#cond1=1;endif;
ifmatches(%&blocku%,nether_wart);#cond2=0;else;#cond2=1;endif;
ifmatches(%&blocku%,air);#cond3=0;else;#cond3=1;endif;
until((%#cond1%=1)|((%#cond2%=1)&&(%#cond3%=1)));
key(use);
keyup(forward);
if(first);
getidrel(%&x1%,+0,%&z1%,&block1);getidrel(%&x2%,+0,%&z2%,&block2);
getidrel(%&x1%,+1,%&z1%,&block3);getidrel(%&x2%,+1,%&z2%,&block4);
ifmatches(%&block1%,soul_sand);&sn=-;endif;ifmatches(%&block3%,soul_sand);&sn=-;endif;
ifmatches(%&block2%,soul_sand);&sn=+;endif;ifmatches(%&block4%,soul_sand);&sn=+;endif;
&dirc=%DIRECTION%;
ifmatches(%&sn%,[\+]);&sn1=+;&sn2=-;endif;
ifmatches(%&sn%,[\-]);&sn1=-;&sn2=+;endif;
unset(first);
endif;
&dir=%DIRECTION%;
ifmatches(%&dirc%,N);ifmatches(%&dir%,N);&sn=%&sn1%;endif;ifmatches(%&dir%,S);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,S);ifmatches(%&dir%,N);&sn=%&sn2%;endif;ifmatches(%&dir%,S);&sn=%&sn1%;endif;endif;
ifmatches(%&dirc%,W);ifmatches(%&dir%,W);&sn=%&sn1%;endif;ifmatches(%&dir%,E);&sn=%&sn2%;endif;endif;
ifmatches(%&dirc%,E);ifmatches(%&dir%,W);&sn=%&sn2%;endif;ifmatches(%&dir%,E);&sn=%&sn1%;endif;endif;
look(%&sn%90,);
wait(100ms);
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;&z=-1;&x=+0;&z1=+0;&z2=+0;&x1=-1;&x2=+1;endif;
ifmatches(%&dir%,S);&dir=SOUTH;&z=+1;&x=+0;&z1=+0;&z2=+0;&x1=+1;&x2=-1;endif;
ifmatches(%&dir%,E);&dir=EAST;&z=+0;&x=+1;&x1=+0;&x2=+0;&z1=-1;&z2=+1;endif;
ifmatches(%&dir%,W);&dir=WEST;&z=+0;&x=-1;&x1=+0;&x2=+0;&z1=+1;&z2=-1;endif;
getidrel(%&x%,+0,%&z%,&block1);
getidrel(%&x%,+1,%&z%,&block3);
#rf=0;
ifmatches(%&block3%,air);else;inc(#rf,1);endif;
ifmatches(%&block3%,nether_wart);else;inc(#rf,1);endif;
ifmatches(%&block1%,soul_sand);else;#rf=2;endif;
endif;
if(%#rf%=2);
else;
#nposx1 = %XPOS%; #nposx2 = %ZPOS%;
do;
keydown(forward);
pick(nether_wart);
key(use);
until((%XPOS%!=%#nposx1%)|(%ZPOS%!=%#nposx2%));
keyup(forward);
key(attack);
look(%&sn%90,);
endif;
until(%#rf%=2);
keyup(FORWARD);
next;
#flror=1;
loop;
endif;
}$$
Como usar:
Depois de pegar a macro, basta marcar a /home fungof1 no começo do primeiro andar (ou do único andar), marcar as outras nos próximos andares (se houver) e marcar a /home fungobaus bem no meio do conjunto de baús, como mostrado na imagem abaixo.
Imagens:
Conjunto de baús:

SETHOME no meio, olhando para os baús da esquerda.
Vídeo: (Feito por "johgledicas")
https://www.youtube.com/watch?v=SGBW-PjF-J0
Dicas:
- É mais fácil a macro trabalhar em regiões retangulares ou quadradas, até pode funcionar se não for, mas não é garantido.
- É verificado se o inventário está lotado ao fim de cada fileira, ou seja, plantações MUITO maiores que 100x100 não são indicadas.
- Encheu os baús? Dê /sethome fungobaus em um novo conjunto o/
Futuras prováveis atualizações:
-
-
-
-
-
-
Testei a macro durante meses antes de resolver postar (1.5.2), então tentem usar direitinho antes de apontarem erros o/
Agradecimentos ao faahyoshi, jimmyfilips e xpkill por terem testado a macro várias e várias vezes pra mim *-*
E ao M4K4R0V por apontar um bug importantíssimo. Obg pela paciência
