Framed Compacting Drawers

Framed Compacting Drawers

8M Downloads

Framing Table; Allow changing a framed drawer's materials, without material loss

Jack-McKalling opened this issue · 0 comments

commented

When (re)implementing the framing table, it should become possible to change a drawer's material without having to overwrite and lose the previous.

The framing table:

  • There would be 4 input slots that also act as output slots. one for framed drawers, three for materials.
  • The drawer slot would accept drawers that are either already framed or not yet
  • Each of the three material slots would affect a different part of the resulting texture (just like in the current crafting table recipe each slot is dedicated to one thing)
  • If all slots are empty and you'd insert not yet framed drawers, the material slots would be used to frame the drawers
  • If you'd insert already framed drawers, the material slots would automatically fill with the original materials used to frame them, to be able to remove the material or to switch to others
  • If you have already framed drawers and matching materials in the slots, and remove one of the materials, the stack of drawers would update to retain only the other materials as framing

The four slots would put restrictions on their input in these ways:

  • If the material slots have something in them already, the framed drawer slot would only accept drawers of matching materials, or drawers that have not been framed yet
  • If the material slots are not empty, inserting already framed drawers into the drawer slot would add their materials to the matching material slots (this is why drawers of mismatching materials cannot fit, as itemstacks only support 1 item type)
  • This means you wouldn't be able to insert more framed drawers than 64 minus the greatest material slot stacksize
  • Conversely, the material slots would only support stacksizes greater than or equal to the stacksize of the drawer slot (materials ≥ the number of drawers)

So for example:

  • If there is already 32 stone in one slot and you have 33 drawers in your cursor that are decorated with stone, the drawer slot would accept only 32 of them and leave 1 in your hand, and result in 64 stone in the material slot
  • But if there's only 10 stone in one of the material slots, and you'd insert 2 framed drawers that have stone as their material, the stone slot would output 12 stone
  • If you then take from the stone slot, the cursor would pick up the 12 stone and cause both framed drawers in the table to loose all their framing material (since they only had the one material), leaving you with the option to insert new materials or take out the unframed drawers