Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Fabricator ignore special recipes deleting result item / persistent ingredients #67

Closed
DevDyna opened this issue Oct 18, 2024 · 12 comments
Labels
bug Something isn't working investigating The report has been understood and looking into the issue.

Comments

@DevDyna
Copy link

DevDyna commented Oct 18, 2024

Mod Title

XyCraft Machines

Minecraft Version

1.20.1

Severity

Odd Results

NeoForge Version

Forge 47.3.11

Describe the Suggestion

Fabricator can delete recipe ingredients that aren't consumed

Reproduction Steps

  1. Configure the fabricator like [Screen 1] and set on High Signal
  2. Add input ingredients and the item that cannot be consumed [Screen 2]
  3. Change the fabricator mode on Always On and see that it have consumed the original book (it persist on any recipes inclused custom with same logic) [Screen 3]

Screenshots and Videos

[Screen 1]

2024-10-18_15 12 50

[Screen 2]

2024-10-18_15 13 05

[Screen 3]

2024-10-18_15 13 11

2024-10-18_15 33 07

Additional Context

No response

@DevDyna DevDyna added the bug Something isn't working label Oct 18, 2024
@Soaryn
Copy link
Owner

Soaryn commented Oct 18, 2024

Mmm will need to check after the weekend, but how are the ingredients specified as "not consumed" in the recipe itself for thos recipe? If memory serves I handled that I jnow stack get remainders are fine, and I had thought I had the recipe remainders were fine too. Buckets for instance are handled via the stack I think, but this also handles other cases It hough of special recipes.

Regardless will double check what the code is doing after the weekend

@DevDyna
Copy link
Author

DevDyna commented Oct 18, 2024

but how are the ingredients specified as "not consumed" in the recipe itself for thos recipe?

I have tested with a few of other special recipes and only one dont want to work -> banner cloning

also apparently that recipes are completly broken on any other "crafter"

except that i have try with other mods

@Soaryn
Copy link
Owner

Soaryn commented Oct 18, 2024

OH! I just read 1.20.1 that is the wild west of bugs I feel for Xy as that isnt updated anymore 😅 So this is likely a bug, but should no longer be an issue if it was

@Soaryn
Copy link
Owner

Soaryn commented Nov 25, 2024

Do you have an example of a vanilla recipe that has this behaviour? I designed the fabricator to work with things like cookware from pam's, etc. but wanted to check if it is working correctly in 1.21. 1.20.1 is very much a unsupported version at this point with all of the gradle changes I have made 😅

@DevDyna
Copy link
Author

DevDyna commented Nov 26, 2024

Do you have an example of a vanilla recipe that has this behaviour?

book cloning was one of that but apparently every 1.20.1 bug persist on 1.21.1

[Forge 1.20.1]

2024-11-26_13 28 22

[Neo 1.21.1]

2024-11-26_13 33 27

Complete list of recipe broken on fabricator

recipe that persist without execute the recipe

  • banner cloning

recipe that execute but ignore nbt result

  • armor dye
  • firework star & rocket
  • shield decoration (banner + shield)
  • tipped arrow
  • suspicious stew
  • decorated pots (using sherds on recipe pattern grid)
  • trasmute items (like shulker box)

@Soaryn
Copy link
Owner

Soaryn commented Nov 27, 2024

For the first one (banner) try making one of the slots "strict" by ctrl clicking it. If you don't HAVE a control key, you will need to rebind in settings first :P

Shulker boxes are doing what I'd expect really.
image
image

That being said, cloning books does present a problem. Part of this is me wanting the fabricator to put back the items such as empty buckets BACK into the source they found them in. This will involve a much longer fix, but a bandaid seems to work for the moment for the more simple recipes:
image
This will likely be 1.21.3+ but there is a possibility at the very least to be back ported to 1.21.1. Depends on time.

@Soaryn Soaryn added the investigating The report has been understood and looking into the issue. label Nov 27, 2024
@Soaryn
Copy link
Owner

Soaryn commented Nov 27, 2024

Ok, the long route wasn't as long as I expected. It SHOULD be more robust which will allow a little more control on the user side when dealing with external inventories. So a bucket will empty and place the empty bucket back in the original slot if it can (assuming there is no other stackable option present). This means using something like the buffer will be a little easier to guess where a remainder will wind up if used early.

This does however, require mods to make sure that they write their getRemainingItems for their custom recipes correctly. Will keep testing, but with a minimal testing and no JEI in dev, it will be low priority for now

@DevDyna
Copy link
Author

DevDyna commented Nov 27, 2024

For the first one (banner) try making one of the slots "strict" by ctrl clicking it. If you don't HAVE a control key, you will need to rebind in settings first :P

tested with "strict mode" and completly delete the banner empty like book cloning

Shulker boxes are doing what I'd expect really.

with same input dye work , but if added a different dye it try to color it ignoring that wasn't the same

tested a few about that and it keep on consume any dye inside coloring the same shulker until it was the same color of result

image

image

@Soaryn
Copy link
Owner

Soaryn commented Nov 27, 2024

As weird as the shulker box one is, that is vanilla recipe being vanilla. It is one of the reasons I added the strict mode.

I'll check banners again, but it was working as the recipe indicated

@Soaryn
Copy link
Owner

Soaryn commented Nov 27, 2024

Can you get me an example of the banner recipe you are trying?
Ah so like this one? This should be fixed with the changes I made... or seems to be if it is exactly like the book copying, but it will need to be set to strict since the output matches the input, this forces the craft
image

@DevDyna
Copy link
Author

DevDyna commented Nov 27, 2024

Ah so like this one?

yes

@Soaryn
Copy link
Owner

Soaryn commented Nov 27, 2024

Marking as completed then as fixed in dev in 1.21.3 😊
Still working on other attributes in my porting, but depending on how MC's changes changed that file may not be back portable to 1.21.1. At the moment, it is leaning towards only forward movement.

@Soaryn Soaryn closed this as completed Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working investigating The report has been understood and looking into the issue.
Projects
None yet
Development

No branches or pull requests

2 participants