@@ -112,7 +112,14 @@ private static final void walkTo(PlayerEntity player, final int x, final int z){
112112 if (!pairsMatch (state .colors , desiredColors , pixelX , pixelZ , isInMap )){
113113 final boolean isEven = (pixelZ &1 )==0 ;
114114 if (isEven ? (pixelZ == 0 || pixelZ == 126 ) : (pixelZ == 1 || pixelZ == 127 )){
115- client .player .sendMessage (Text .literal ("Waiting for next column" ), true );
115+ final int prevColX = pixelX +1 , prevColZ = pixelZ + (pixelZ == 0 || pixelZ == 126 ? +1 : -1 );
116+ if (pairsMatch (state .colors , desiredColors , prevColX , prevColZ , /*TODO: detemine for prevXZ!*/ false )){
117+ client .player .sendMessage (Text .literal ("Waiting for next column" ), true );
118+ }
119+ else {
120+ client .player .sendMessage (Text .literal ("Previous column mismatch!" ), true );
121+ // walkTo(client.player, playerX+1, playerZ+prevColZ-pixelZ);
122+ }
116123 }
117124 else client .player .sendMessage (Text .literal ("Waiting for correct color" ), true );
118125 return ;
@@ -131,7 +138,7 @@ private static final void walkTo(PlayerEntity player, final int x, final int z){
131138 if (isEven ) z = pixelZ < 64 ? 1 : 127 ;
132139 else z = pixelZ < 64 ? 0 : 126 ;
133140 client .player .sendMessage (Text .literal ("Walking to start of next column" ), true );
134- walkTo (client .player , playerX -1 , playerZ + (z -pixelZ ));
141+ walkTo (client .player , playerX -1 , playerZ + (z -pixelZ ));
135142 }
136143 }
137144}
0 commit comments