Infinite Craft Userscript ✦ Fully Tested
// Manual recipe addition from user combining function addRecipeFromCombine(left, right, result) if (left && right && result) recipes.set(result, [left, right]); updateRecipeBook();
// Auto-fill the two slots and craft function autoCraft(leftName, rightName) const leftInput = document.querySelector('.left-element-input, input[placeholder*="left"], input[placeholder*="element"]:first-of-type'); const rightInput = document.querySelector('.right-element-input, input[placeholder*="right"], input[placeholder*="element"]:last-of-type'); const craftBtn = document.querySelector('.craft-button, button:contains("Craft"), button[aria-label="Craft"]'); infinite craft userscript
clearPanelBtn.addEventListener('click', () => recipes.clear(); updateRecipeBook(); ); // Manual recipe addition from user combining function
// Create UI panel const panel = document.createElement('div'); panel.id = 'ic-enhanced-panel'; panel.style.cssText = ` position: fixed; bottom: 20px; right: 20px; width: 320px; background: rgba(0,0,0,0.85); backdrop-filter: blur(8px); border-radius: 12px; padding: 12px; color: white; font-family: system-ui, sans-serif; z-index: 9999; border: 1px solid #444; font-size: 13px; max-height: 70vh; display: flex; flex-direction: column; `; const craftBtn = document.querySelector('.craft-button
panel.innerHTML = ` <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;"> <strong>🔧 Infinite Craft Tools</strong> <button id="ic-toggle-recipes" style="background:#2a2a2a; border:none; color:white; border-radius:6px; padding:2px 8px; cursor:pointer;">📖 Recipes</button> </div> <div id="ic-recipes-panel" style="display: none; overflow-y: auto; max-height: 300px; margin-top: 8px; border-top: 1px solid #333; padding-top: 8px;"> <div style="font-size:12px; color:#aaa;">Click any recipe to auto-fill and craft</div> <div id="ic-recipe-list"></div> </div> <div style="margin-top: 8px; display: flex; gap: 8px;"> <button id="ic-auto-learn" style="flex:1; background:#1e4a2f; border:none; color:white; border-radius:6px; padding:6px; cursor:pointer;">⚡ Auto-learn new</button> <button id="ic-clear-panel" style="flex:1; background:#4a2f2f; border:none; color:white; border-radius:6px; padding:6px; cursor:pointer;">🗑️ Reset panel</button> </div> `;
// 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; ;