ENTREGUE Colheita do besouro

Bem-vindo!

Ao se registrar conosco, você poderá discutir, compartilhar e enviar mensagens privadas com outros membros da nossa comunidade.

Inscreva-se agora!
Status
Não está aberto para novas respostas.
Aqui ta com 1 poblema.... primeiro ele pergunta quantos anderes sao.. eu digito 3 ai dps q ele colhe os fungo ele nao vai pra /homebaus ele volta para o primeiro andar e fica colhendo dn... e fica assim sempre.. Tipo 1 circulo
 
mateusgostoz disse:
Aqui ta com 1 poblema.... primeiro ele pergunta quantos anderes sao.. eu digito 3 ai dps q ele colhe os fungo ele nao vai pra /homebaus ele volta para o primeiro andar e fica colhendo dn... e fica assim sempre.. Tipo 1 circulo
O meu tem o mesmo problema, quando chega ao final, ele volta para o começo e reinicia, ao invés de ir para o baú e guardar.
 
KKfuri disse:
O meu tem o mesmo problema, quando chega ao final, ele volta para o começo e reinicia, ao invés de ir para o baú e guardar.
Receio que seja bug do mod.
Já tentei ajudar quem tinha esse problema e funcionava para mim e para os amigos dele na mesma plantação, então...
Lamento ):
 
BeetleJuice disse:
Receio que seja bug do mod.
Já tentei ajudar quem tinha esse problema e funcionava para mim e para os amigos dele na mesma plantação, então...
Lamento ):
Vou tentar deletar o macro e reinstalar. Não espero que resolva mas eu tento hahaha. Ty
 
Olha @BeetleJuice o macro ta perfeito, sem nenhum bug e talz, mais tem um unico problema; que é a capacidade de baus que ta muito pouca. Vê ai c vc pode almentar essa capacidade de baus.


Uma idéia que eu tive é seguinte; vc criar no macro como vc fez nos andares da plantação assm: /home fungof1, /home fungosf2 ... vc poderia colocar tambem /home fungobaus, /home fungobaus2, /home fungobaus3.

Bem isso melhoria seu macro muito.

obrigado c gosto da ideia da um curtir. :D
 
BeetleJuice disse:
[MACRO] Colheita do besouro (1.5.2 e 1.7.2+)

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:
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%=3);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;
}$$
1.7.2+ (26/03/2014) (PS: A versão BETA do macro está instável, não é garantido que sempre funcione.)
$${
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%=3);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;
}$$
1.7.2+ (2 conjuntos de baús)
$${
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%=3);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;

}$$

Vídeo [Tutorial/Explicação]
Esperando vídeo do JimmyFilips :3
O que fazer (Temporário até o vídeo)
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:
F5IGOHQ.gif

SETHOME no meio, olhando para os baús da esquerda.

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, se quiser acumular 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

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 (:
Olá,
estou usando o seu macro faz algum tempo se fosse para ter 20 conjuntos de baús, o que eu deveria modificar no seu código?
Grato!
 
BeetleJuice disse:
[MACRO] Colheita do besouro (1.5.2 e 1.7.2+)

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:
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%=3);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;
}$$
1.7.2+ (26/03/2014) (PS: A versão BETA do macro está instável, não é garantido que sempre funcione.)
$${
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%=3);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;
}$$
1.7.2+ (2 conjuntos de baús)
$${
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%=3);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;

}$$

Vídeo [Tutorial/Explicação]
Esperando vídeo do JimmyFilips :3
O que fazer (Temporário até o vídeo)
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:
F5IGOHQ.gif

SETHOME no meio, olhando para os baús da esquerda.

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, se quiser acumular 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

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 (:
N tem como por mais uma home como /home fungobaus2 coma mais 24 baus ?? to precissando
 
beetle,vc podia editar pra vender na warp loja com a home ''fungos'' ? se der muito obrigado (:
 
Salve beetlee, iMostalkBR do classic aqui! Lembra de mim? *-*
Então, preciso de um favor seu r-r, claro se você quiser...
Preciso de uma macro que colha fungos do jeito da besouro, só que ao invés de guardar em baús por home, ela vende na warp loja...
Eu já tenho uma macro que vende na warp loja, porém o método de colher dela é mais demorado que o do besouro, do jeito que vai e depois volta replantando.
Code:
$${
if(z);
log("&4[Macro] Colheita GoGo Magnata [OFF]");
keyup(FORWARD);
unset(z);
stop();
else;
log("&2[Macro] Colheita GoGo Magnata [ON]");
set(z);
#cont=0;
endif;

&d=%DIRECTION%;
ifmatches(%&d%,N);&d=NORTH;endif;
ifmatches(%&d%,S);&d=SOUTH;endif;
ifmatches(%&d%,E);&d=EAST;endif;
ifmatches(%&d%,W);&d=WEST;endif;

do;
slot(9);wait(100ms);
look(%&d%);wait(100ms);
look(,90);wait(100ms);
key(ATTACK);wait(100ms);
look(,65);wait(100ms);
do;
if((%HITID%=88)|(%HITID%=115));
keydown(FORWARD);
key(ATTACK);wait(100ms);
else;
keyup(FORWARD);
BREAK;
endif;
loop;
look(+180,);wait(100ms);
look(,90);wait(100ms);
pick(372);wait(100ms);
do(3);key(USE);loop;wait(100ms);
look(,65);wait(100ms);
do;
pick(372);
if((%HITID%=88)|(%HITID%=115));
keydown(FORWARD);
key(USE);
wait(100ms);
else;
keyup(FORWARD);
BREAK;
endif;
loop;
gui(INVENTORY);
for(#i,9,43);
getslotitem(%#i%,#id,#stack);
if((%#id%=372)&&(%#stack%=64));
inc(#cont);
wait(50ms);
endif;
next;
gui();
if(%#cont%<27);
#cont=0;
else;
#cont=0
}$$/sethome posicao$${
wait(2);
}$$/home wloja
$${
wait(25);
do(10);
key(attack);
wait(500ms);
loop;
}$$/home posicao$${
wait(15);
endif;
look(-90,);wait(100ms);
if((%HITID%=88)|(%HITID%=115));
#posx=%XPOS%;
#posz=%ZPOS%;
keydown(FORWARD);
do;
wait(10ms);
until((%XPOS%=%#posx%+1)|(%XPOS%=%#posx%-1)|(%ZPOS%=%#posz%+1)|(%ZPOS%=%#posz%-1));
wait(150ms);
keyup(FORWARD);
else;
}$$/home inicio$${
wait(3)
keydown(JUMP)
wait(8);
keyup(JUMP);
endif;
loop;
}$$
Aí eu queria editá-la para plantar que nem a do besouro:
$${
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%=3);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;
}$$
Você poderia me falar ou passar a parte que faz a parte de plantar da sua macro? Eu tentei editar, mas como não manjo muito ainda falhei em todas as tentivas =(
 
Oi , então queria pedir um favor , se você poderia fazer em vez de só 1 home para o bau ser 2 ou algum outro modo que possa guardar mais fungos sem encher os baus , obrigado se der para fazer , e obrigado msmo sem dar para fazer :D otimo macro
 
Muito bom o macro, sera que vc teria algum pra pegar os fungo do bau e vender fungo na /warp vip? vlw
 
da pra modificar esse macro pra poder minimizar o jogo? tipo, vc aperta E, depois minimiza o minecraft e entao o macro continua colhendo normalmente, ja vi essa função em outros macros
 
Status
Não está aberto para novas respostas.

Users who are viewing this thread

Voltar
Topo