Refined Storage

Refined Storage

107M Downloads

[Enhancement] Patterns to craft sets of items without expecting an Output item to be reinserted or crafted.

QuickBASIC opened this issue ยท 6 comments

commented

Describe your enhancement

I would like to create processing patterns with no output so that I can output specific items using a Crafter to a specific inventory or machine without RS expecting an item to be returned after crafting is complete.

Use cases:

  1. Placing a specific number of disparate items items in a container.
    1. Preparing the exact amount of items to build a structure in the world.
      1. Pattern to output standard villager house that I make in my worlds.
      2. Pattern to output items for a specific size beacon pyramid
      3. Pattern to output items for a specific redstone contraption that I may build all over my world
    2. Create a set of items needed for other activities.
      1. Pattern to output a set of tools, food, torches, to quickly restock after death.
      2. Pattern to output items needed for other mods that don't necessarily have a result that gets input back into RS. i.e. items that will be used in the world or to feed machines that don't have an output to RS.

Real application example:

Immersive Engineering is a mod where all the "machines" are not single block crafters, but instead has multiblock structures that are build in the world. Each machine requires you to place specific blocks in the world and then convert them into a multiblock machine by hitting it with an engineer hammer. For example a Metal Press is composed of 2x steel scaffolding, 1x redstone engineering block, 1 heavy engineering block, 1 piston, 3 conveyor belts. These blocks aren't crafted together in the crafting table, but are instead arranged in the world by manually placing them in the correct orientations and positions relative to each other.

Current process: Review the Engineer Manual in-game for needed items, try to remember how many of each I need when I close the book, craft items needed for structure and extract them through the grid.

Desired process: Create a processing pattern named "Metal Press" with no output that specifies the required blocks, insert the pattern in a crafter facing an inventory (like barrel or shulker box), craft the recipe via RS and insert the items into the container (as if it was a machine).

This would mean that I could have patterns for each Immersive Engineering structure to quickly create the needed items.

Current workaround: Create a pattern for an item that you normally won't/can't craft (dummy item) including all the desired items as Inputs and craft that pattern. Then when all the prereqs are inserted into the crafter container and when RS is waiting for the result, manually cancel the crafting via Crafting Monitor. Alternatively, include the dummy item in the Input and use an importer on the container the crafter is pointing to to re-import the dummy item to complete the recipe.

I suggest that for no output processing patterns that the recipe shows in the RS grid as craftable and uses the item name (applied with a anvil or allow RS to add a custom name to a pattern when creating it) and uses the icon of the pattern itself.

One way of implementing it and reducing confusion would be adding a third checkbox in the pattern grid when Processing is selected called "No Output" that greys out the output grid recipes in this mode will only craft the requisite items (if there's a pattern) and push them out the crafter or insert them into storage.

Alternatively, if it's less confusing, allow setting the input and output to multiple items (the items you want to craft) and have that pattern searchable in the crafting grid.

I'm new to RS, so I might be missing something, so do tell if there's an easier way to do it.

commented

I think your examples and use-case can be reduced to "I want to craft a set of items, the same way I can request crafting for a single item through the grid GUI", right?

commented

Basically yes, that's the intent. I want to craft sets of items by requesting it through RS regardless of what they'll end up being used for, but I don't know if that fits the design goals of the mod, only that it's something that I (and others maybe) may find useful. Ultimately, I understand that added complexity and inconsistent behavior isn't wanted (like the bucket thing).

commented

You can kinda do this with a named item. I usually use paper, then a processing recipe that creates that paper. Then when the output appears in the designated chest, I automatically insert the paper into the system, fulfilling the request.

A proper solution might be a special item that, if requested just finishes the craft.

commented

You can kinda do this with a named item. I usually use paper, then a processing recipe that creates that paper. Then when the output appears in the designated chest, I automatically insert the paper into the system, fulfilling the request.

Ah this is the bit I was missing. I'm assuming you can basically do infinite of these paper items with different names.

My issue was that I was running out of dummy items to use that I was willing to use and felt that it was cluttering my crafting grid with confusing icons for dummy items.

Conceivably you could use a colored item (like a named colored wool) to color code and categorize the patterns.

And, per my post, you can actually avoid needing to reinsert the dummy items if you add it to the pattern with the desired items reimport it using an Importer. You'll need to keep at least one in storage though.

It's actually an elegant solution considering to me Paper makes sense in universe to have crafting instructions (I might use books so I can write in them lol.)

Yeah anything else would probably clutter the GUI and add confusion. Certainly you could add something like this, but the workaround isn't bad now that I've been told that I can have the output be a specific named item. Thanks so much.

commented

I'll leave this open as the idea of crafting sets is quite interesting.

commented

Chipping in here

What if we had something similar to a crafter, but call it something like "batch requester", and basically let you have your patterns in there as if it were a crafter? Also keeping, say, a barrel stocked with a set of tools and some armor where the Batch Requester is set to something like "Supply & Read Inventory" so if there's a helmet in the barrel already it won't craft a duplicate. Also would be neat if the items in the supply chest would show up in the RS system for ease of access on both fronts.

The more I think about this, the more it sounds like quite a unique but difficult implementation, but it could be quite cool.

ALTERNATIVELY

Let the RS Interface block communicate with other storage mods like LaserIO, and kinda have a system like the ancient AE & Logistics Pipes thing that people would do back in the day