liplum / MultiCrafterLib

A Mindustry mod library provides a multiple-recipe crafter to produce items, fluids, power or even heat for Json and JavaScript mods.
https://liplum.github.io/MultiCrafterLib/
GNU General Public License v3.0
45 stars 10 forks source link

Same input/output stop crafter #27

Closed JojoFR1 closed 7 months ago

JojoFR1 commented 9 months ago

If a recipe that has the same items in both input and output, when the crafter is full of items, it will stop working.

How to reproduce:

  1. Run :java:runClient gradle task.
  2. Build with this schematic:
    bXNjaAF4nDVOQW7DIBCcYLAdRVGavqBSzxz6hp77gqoHYm8iIgwuBld9fbpgVaOdgWF3FuzRNZDeTITnj+ySfY/mmii+XPLt9Q2HkZYh2jnZ4AG0zlzILRCfXz0ONtGkl5DjQDgnm4y3edJD8Cv9hojz3axGVxq2UBzn7BYqLWO2CUdnv7Md/zOe5vBDUfswknYm3gina+AHPcdwpyFx5r7uXIMd+TcnLghVeMcQqMQi0EDsqt1sKCQ3UWj4hFZJ7lPsohePRx2UPCC3HFWkZchyazezK9KhL/IHF/I/1g==
  3. Switch to the first recipe which has copper.
JojoFR1 commented 9 months ago

Possible fix:

liplum commented 9 months ago

I can reproduce it. image

JojoFR1 commented 9 months ago

Possible fix:

  • Different item stack for input/output (Might require some UI work)

Example image of how it would look, it would probably be able to show liquids, power, heat and payloads IMG_20231218_103703.jpg

EDIT: NOT possible

JojoFR1 commented 8 months ago

Can't reproduce like the example.

Same input/output makes the block act as a big bridge/conveyor. When the item capacity limit is reached the Efficiency is stuck (which effectively stop the crafting) In that case, the same input/output + another output will make it impossible for the 2nd output to be produced when the same input/output reach the limit and block the craft process.

For now, I don't see any fix. Will look at it later. Priority: Low. None or very few users will make a same input/output and it's a very specific situation.

JojoFR1 commented 7 months ago

Closing for now. Might reopen in the future if another report comes in.