Hand Recycling


Lets you recycle items by hand, using the same recycling recipes the Recycler uses. compatible with other mods that add recipes.

Content
26 days ago
2.0
62
Manufacturing

Changelog

Version: 1.5.12
Date: 2026-01-27
  Changes:
    - Updated mod portal thumbnail (thumbnail.png) and in-mod icon (graphics/hand-recycling.png) using the new artwork.
      Thumbnail is 144x144; in-mod icon is 64x64 for UI/sprite compatibility.
Version: 1.5.11
Date: 2026-01-24
  Fixes:
    - Pressing E no longer blocks opening the character inventory: the "hand-recycling-close" custom input now uses consuming="none".
      When the Hand Recycling UI is open, E will close it and the base game will still open the character inventory as usual.
Version: 1.5.10
Date: 2026-01-24
  Fixes:
    - Fixed "E to close" crash: close hotkey now checks for the UI frame and calls destroy_gui(), instead of calling a missing is_gui_open()/close_gui().
Version: 1.5.9
Date: 2026-01-24
  Changes:
    - Recycling now uses items from BOTH main inventory and trash. Missing ingredients are staged from trash into main before queuing crafts.
    - Added hotkey "E" to close the Hand Recycling UI (custom input: hand-recycling-close).
Version: 1.5.8
Date: 2026-01-24
  Fixes:
    - Hand recycling recipes are now marked hidden (normal/expensive + base), so they no longer appear as selectable recipes in assembling machines.
      They remain craftable via the Hand Recycling UI / scripted crafting.
Version: 1.5.7
Date: 2026-01-24
  Fixes:
    - Fixed crash: removed accidental text duplication in function declaration ("local function build_rows(player)(player)(player)").
Version: 1.5.6
Date: 2026-01-24
  Fixes:
    - "Recycle trash" now consumes ONLY items from the trash inventory (not the main inventory).
      Implementation: temporarily stashes the entire main inventory, stages trash items into main for crafting,
      queues recycling crafts, then restores the main inventory (spilling overflow if needed).
Version: 1.5.5
Date: 2026-01-24
  Fixes:
    - "Recycle trash" now works: Factorio crafting can't consume ingredients directly from trash slots, so the mod now moves the required items
      from character trash into the main inventory (preserving quality) before queuing recycling crafts.
    - If there is no space in the main inventory, it will recycle as much as can be moved.
Version: 1.5.4
Date: 2026-01-24
  Fixes:
    - Fixed a control.lua syntax error in 1.5.3: "local function build_rows(player)(player)".
Version: 1.5.3
Date: 2026-01-24
  Fixes:
    - UI now uses combined totals from both main inventory and character trash. Trash items no longer only appear when main inventory is empty.
    - "Recycle trash" button now iterates trash stacks (quality-safe) and queues recycling crafts without moving/removing items manually.
    - Shift-click "craft max" now calculates using combined totals (main + trash).
Version: 1.5.2
Date: 2026-01-24
  Fixes:
    - Fixed a control.lua syntax error in 1.5.1 caused by leftover duplicate code after ingredient_amount_for_recipe().
Version: 1.5.1
Date: 2026-01-24
  Fixes:
    - Fixed a control.lua syntax error in 1.5.0 caused by leftover get_contents()-based totals code after get_inventory_totals().
Version: 1.5.0
Date: 2026-01-24
  Fixes:
    - Quality compatibility: the UI now reads inventory contents by iterating stacks instead of inv.get_contents(),
      so items with quality variants are counted and shown correctly.
    - Ingredient parsing: supports shorthand ingredient formats when determining max craftable amount.
Version: 1.4.9
Date: 2026-01-24
  Fixes:
    - Fixed control.lua syntax error introduced in 1.4.8 (removed leftover duplicate get_contents() code after inventory_item_count()).
Version: 1.4.8
Date: 2026-01-24
  Fixes:
    - Inventory counting and UI list building now iterate inventory stacks directly instead of using get_contents().
      This improves compatibility with Factorio 2.0 + Quality and prevents false "empty inventory" results.
Version: 1.4.7
Date: 2026-01-24
  Fixes:
    - Fixed Ctrl+R crash: get_character_inventory() was defined after find_best_inventory() used it.
      Moved helper definition earlier so Lua sees it.
Version: 1.4.6
Date: 2026-01-24
  Fixes:
    - Inventory detection: now reads character inventories via player.character.get_inventory() (more reliable in Factorio 2.0/Space Age),
      fixing cases where player.get_inventory()/get_main_inventory() appeared empty while you still had items.
  Diagnostics:
    - DEBUG inventory snapshot now shows nil/invalid vs counts and compares player vs character inventory handles.
Version: 1.4.5
Date: 2026-01-24
  Fixes:
    - DEBUG output corrected: now prints controller type and a full inventory snapshot when the UI is empty.
Version: 1.4.4
Date: 2026-01-24
  Fixes:
    - Inventory detection: improved inventory scanning by iterating all defines.inventory IDs (plus a fallback range),
      and removed a duplicate get_trash_inventory() definition that could override logic.
  Diagnostics:
    - Empty UI now prints a detailed inventory snapshot (counts for main/char_main/etc plus best inventory id/count).
Version: 1.4.3
Date: 2026-01-24
  Fixes:
    - Fixed runtime error where Ctrl+R crashed because inventory_item_count() was defined after get_main_inventory().
      (Moved inventory helper functions above their first use.)
Version: 1.4.2
Date: 2026-01-24
  Fixes:
    - UI inventory detection is now controller-agnostic: the mod scans available player inventories and uses the non-empty one
      (highest item count) as the main inventory. This fixes cases where inventory was detected as empty (UI showed no items and
      "Recycle trash" did nothing).
  Notes:
    - If the UI is still empty, it prints a detailed DEBUG line including controller type and best inventory id.
Version: 1.4.1
Date: 2026-01-24
  Changes:
    - Expanded changelog to include full history of features/fixes across versions.
  Fixes:
    - Improved inventory detection fallback (character_main/god_main) for Factorio 2.0 controller states.
Version: 1.4.0
Date: 2026-01-24
  Fixes:
    - Fixed a control.lua syntax error that could crash when opening the UI.
Version: 1.3.9
Date: 2026-01-24
  Changes:
    - Hand-recycle recipes are no longer marked as 'hidden' (still hidden from the crafting menu via hide_from_player_crafting),
      improving compatibility with force recipe visibility so the UI can find them.
  Notes:
    - When the UI list is empty, a debug line is printed to chat.
Version: 1.3.8
Date: 2026-01-24
  Fixes:
    - Recipe generation supports ingredients where type is omitted (common Factorio format: {name="x", amount=1}).
Version: 1.3.7
Date: 2026-01-24
  Fixes:
    - Fixed Lua syntax error in data-updates.lua that prevented the mod from loading.
Version: 1.3.6
Date: 2026-01-24
  Fixes:
    - Hand-recycling recipes are generated for shorthand ingredient format (e.g. {"iron-plate", 1}).
Version: 1.3.5
Date: 2026-01-24
  Fixes:
    - Restored control.lua so Ctrl+R and the shortcut work again.
Version: 1.3.4
Date: 2026-01-24
  Changes:
    - Filled out publishing metadata: improved info.json description, added thumbnail.png, locale, and portal-style changelog formatting.
  Fixes:
    - Fixed invalid icon/sprite issues (shortcut icon sizes).
Version: 1.3.3
Date: 2026-01-24
  Changes:
    - UI list sorted by quantity (highest first), then name.
    - Added "Recycle trash" button to recycle everything in character trash slots with one click.
Version: 1.3.2
Date: 2026-01-24
  Fixes:
    - Compatibility: supports recycling-like categories (any recipe category containing "recycling"),
      including categories like "recycling-or-hand-crafting" (e.g. Fulgora Extended).
Version: 1.3.1
Date: 2026-01-24
  Fixes:
    - Fixed custom-input consuming value (Factorio 2.0 does not accept "script-only"); kept Ctrl+R binding.
Version: 1.3.0
Date: 2026-01-24
  Fixes:
    - Multiplayer/desync hardening around Ctrl+R toggling and GUI state handling.
Version: 1.2.4
Date: 2026-01-24
  Fixes:
    - Continued multiplayer stability improvements (Ctrl+R desync investigation).
Version: 1.2.3
Date: 2026-01-24
  Fixes:
    - Continued multiplayer stability improvements (Ctrl+R desync investigation).
Version: 1.2.2
Date: 2026-01-24
  Fixes:
    - Continued multiplayer stability improvements (Ctrl+R desync investigation).
Version: 1.2.1
Date: 2026-01-24
  Fixes:
    - Continued multiplayer stability improvements (Ctrl+R desync investigation).
Version: 1.2.0
Date: 2026-01-24
  Changes:
    - Stabilized Ctrl+R as the primary UI toggle (towards multiplayer-safe behavior).
Version: 1.1.8
Date: 2026-01-24
  Fixes:
    - Recycling time corrected to match hand-recycling behavior (original recycle time * 2).
    - UI limited to items present in player inventory (no full-game list).
Version: 1.1.6
Date: 2026-01-24
  Fixes:
    - Fixed recycling execution so items are actually recycled rather than deleted.
Version: 1.1.5
Date: 2026-01-24
  Fixes:
    - Fixed UI click handling error (attempt to compare number with table).
Version: 1.1.4
Date: 2026-01-24
  Fixes:
    - Fixed runtime init errors involving recipe prototype access.
Version: 1.1.3
Date: 2026-01-24
  Fixes:
    - Fixed invalid access to global state during on_init.
Version: 1.1.2
Date: 2026-01-24
  Fixes:
    - Fixed shortcut prototype definition (added small_icon fields as required).
Version: 1.1.1
Date: 2026-01-24
  Fixes:
    - Fixed invalid custom-input consuming type.
Version: 1.1.0
Date: 2026-01-24
  Changes:
    - Added dedicated Recycling UI (Ctrl+R) that lists items to recycle.
    - UI shows only items you currently have available.
    - Access gated behind Recycler research/technology.
Version: 1.0.8
Date: 2026-01-24
  Changes:
    - UI recipe icons now use the original item icon.
Version: 1.0.7
Date: 2026-01-24
  Fixes:
    - Prototype loading: enforced minimum energy_required for recycling-like recipes to satisfy Factorio constraints.
Version: 1.0.6
Date: 2026-01-24
  Fixes:
    - Additional prototype loading fixes for energy_required edge cases.
Version: 1.0.5
Date: 2026-01-24
  Fixes:
    - Additional prototype loading fixes for energy_required edge cases.
Version: 1.0.4
Date: 2026-01-24
  Changes:
    - Added a dedicated crafting group/subgroup so recycling recipes appear under their own tab.
Version: 1.0.3
Date: 2026-01-24
  Fixes:
    - Improved recipe visibility / unlock logic in-game.
Version: 1.0.2
Date: 2026-01-24
  Changes:
    - Hand recycling crafting time adjusted to (recycle recipe time) * 2.
Version: 1.0.1
Date: 2026-01-24
  Fixes:
    - Initial prototype loading fixes.
Version: 1.0.0
Date: 2026-01-24
  Initial release:
    - Generate hand-craftable recycling recipes based on existing recycling recipes.
    - Author: Playerdog.
Version: 0.0.1
Date: 2026-01-24
  Development build:
    - Proof of concept for hand recycling using existing recycling recipes.