Infinite Craft Userscript __hot__ 🔥 Ad-Free
let html = '<table style="width:100%; border-collapse: collapse;">'; for (let [result, [left, right]] of recipes.entries()) html += ` <tr class="ic-recipe-row" data-left="$escapeHtml(left)" data-right="$escapeHtml(right)" style="border-bottom:1px solid #333; cursor:pointer;"> <td style="padding:6px 4px;">$escapeHtml(left)</td> <td style="padding:6px 4px;">+</td> <td style="padding:6px 4px;">$escapeHtml(right)</td> <td style="padding:6px 4px; color:#4caf50;">→ $escapeHtml(result)</td> </tr> `; html += '</table>'; recipeListDiv.innerHTML = html;
// Hook into the game's internal events if possible (monkeypatch) let originalAddElement = null; if (window.addElement) originalAddElement = window.addElement; window.addElement = function(element, ...args) if (element && element.name) null; if (lastCombine && lastCombine[0] && lastCombine[1]) recipes.set(element.name, [lastCombine[0].name, lastCombine[1].name]); updateRecipeBook(); return originalAddElement.apply(this, [element, ...args]); ; infinite craft userscript
// Initial scan for already discovered elements document.querySelectorAll('.element').forEach(el => const name = el.textContent?.trim(); if (name) discovered.add(name); ); let html = '<
// Hook into game's combine function if possible const origCombine = window.combine; if (origCombine) window.combine = function(left, right) const result = origCombine(left, right); if (result && result.name) addRecipeFromCombine(left.name, right.name, result.name); return result; ; for (let [result
// ==UserScript== // @name Infinite Craft Enhanced // @namespace http://tampermonkey.net/ // @version 1.0 // @description Recipe book, auto-learn, and quick craft for Infinite Craft // @author You // @match https://neal.fun/infinite-craft/ // @icon https://www.google.com/s2/favicons?sz=64&domain=neal.fun // @grant none // ==/UserScript==
const elementNames = Array.from(discovered); let newElements = 0;
function init() // Store discovered elements and recipes let discovered = new Set(); let recipes = new Map(); // elementName -> [left, right]