Infinite Craft auto maker -bugged

Very fast automatic item explorer for infinite craft with a specific item

  1. // ==UserScript==
  2. // @name Infinite Craft auto maker -bugged
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.2.1
  5. // @description Very fast automatic item explorer for infinite craft with a specific item
  6. // @author Aetherium
  7. // @match https://neal.fun/infinite-craft/
  8. // @icon https://cdn.discordapp.com/attachments/1149405048049254521/1213453447312179250/Leaf-PlexusBot.jpg?ex=65f58796&is=65e31296&hm=9429f9b475e4c8240d555afd1626549b179d6689dff76bd343d67de9898fe102&
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. let totalElements = 0;
  14. let currentElement = 0;
  15. let nextElement = 0;
  16. let mobileItems;
  17. let specificItem = 'wood'; // Change this to the item you want to craft with (e.g., 'wood', 'stone', 'iron', etc.)
  18.  
  19. function updateElements() {
  20. mobileItems = document.querySelectorAll('.mobile-item');
  21. if (mobileItems.length >= 2) {
  22. totalElements = mobileItems.length;
  23. currentElement = getRandomElementIndex(totalElements);
  24. nextElement = getRandomElementIndex(totalElements);
  25. while (nextElement === currentElement) {
  26. nextElement = getRandomElementIndex(totalElements);
  27. }
  28. if (mobileElementInRange(currentElement)) {
  29. if (mobileItems[currentElement].querySelector('.item').innerText.toLowerCase() === specificItem) {
  30. mobileItems[currentElement].querySelector('.item').click();
  31. }
  32. }
  33. if (mobileItems) {
  34. if (mobileItems[nextElement].querySelector('.item').innerText.toLowerCase() === specificItem) {
  35. mobileItems[nextElement].querySelector('.item').click();
  36. }
  37. }
  38. }
  39. document.title = `${currentElement}+${nextElement}|${totalElements}`;
  40. }
  41.  
  42. function mobileElementInRange(index) {
  43. return index >= 0 && index < totalElements;
  44. }
  45.  
  46. function getRandomElementIndex(max) {
  47. return Math.floor(Math.random() * max);
  48. }
  49.  
  50. function animate() {
  51. updateElements();
  52. setTimeout(animate, 200); // Change this to 200 for not rate limited
  53. }
  54.  
  55. animate();