Slimefun4 icon indicating copy to clipboard operation
Slimefun4 copied to clipboard

Recipe Rewrite (API Only)

Open SchnTgaiSpock opened this issue 2 years ago • 5 comments

Description

This PR supersedes #4078

Description from #4078

Hey guys, this is my attempt at the recipe rewrite.

I have written up an ADR that goes over how the new API currently works, but in short:

  • Recipe system sucks
  • Can't translate recipes in the dispenser (like crafting Copper Wire on the top row)
  • Items can only have one* recipe (mostly)
  • Can't have true shapeless recipes

Any feedback on the API or discussion around the new recipe system in general would be greatly appreciated!

Proposed changes

  • Adds a new recipe API which:
    • Allows recipe inputs with multiple options (e.g. Vanilla/Slimefun Copper)
    • Allows true shaped/shapeless recipes (does not replace the old versions)
    • Allows machines and workstations to search recipes more efficiently

Related Issues (if applicable)

N/A

Checklist

  • [ ] I have fully tested the proposed changes and promise that they will not break everything into chaos.
  • [ ] I have also tested the proposed changes in combination with various popular addons and can confirm my changes do not break them.
  • [ ] I have made sure that the proposed changes do not break compatibility across the supported Minecraft versions (1.16.* - 1.20.*).
  • [x] I followed the existing code standards and didn't mess up the formatting.
  • [x] I did my best to add documentation to any public classes or methods I added.
  • [x] I have added Nonnull and Nullable annotations to my methods to indicate their behaviour for null values
  • [x] I added sufficient Unit Tests to cover my code.

SchnTgaiSpock avatar Jan 15 '24 19:01 SchnTgaiSpock

Your Pull Request was automatically labelled as: "🔧 API" Thank you for contributing to this project! ❤️

github-actions[bot] avatar Jan 15 '24 19:01 github-actions[bot]

yup thats my prio rn

SchnTgaiSpock avatar Jan 15 '24 19:01 SchnTgaiSpock

Slimefun preview build

A Slimefun preview build is available for testing! Commit: 0e8b2632

https://preview-builds.walshy.dev/download/Slimefun/4093/0e8b2632

Note: This is not a supported build and is only here for the purposes of testing. Do not run this on a live server and do not report bugs anywhere but this PR!

github-actions[bot] avatar Jan 15 '24 19:01 github-actions[bot]

unit tests should be done, if i missed something lmk

SchnTgaiSpock avatar Jan 15 '24 23:01 SchnTgaiSpock

Might be worth waiting for the item stack component changes before doing much more with this

JustAHuman-xD avatar Mar 21 '24 12:03 JustAHuman-xD