[BUG] Alloy Smelter Order Dependence #292

Closed
opened 2023-07-11 21:44:22 +00:00 by Rover656 · 4 comments
Rover656 commented 2023-07-11 21:44:22 +00:00 (Migrated from github.com)

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When crafting vibrant alloy, a player experienced an issue where it would only work if the enderpearl was placed first and the energetic alloy second (i.e. reversed to what JEI suggested).

I have been unable to confirm this bug in dev, but I confirmed issues with a player playing on a dedicated server for ATM9.

This doesn't appear to occur with the primitive alloy smelter.

Expected Behavior

The craft should be completely order independent.

Steps To Reproduce

  1. Place down an alloy smelter
  2. Put in an ender pearl into the first input slot
  3. Put energetic alloy in the second slot
  4. It shouldn't craft.

Environment

- Minecraft version: 1.20.1
- Version: 6.0.5-alpha
- Modpack: ATM9 0.0.32

Anything else?

I would love if anyone else experiencing this problem could come forward and let us know, it'll hopefully help us trace this bug.

### Is there an existing issue for this? - [X] I have searched the existing issues ### Current Behavior When crafting vibrant alloy, a player experienced an issue where it would only work if the enderpearl was placed first and the energetic alloy second (i.e. reversed to what JEI suggested). I have been unable to confirm this bug in dev, but I confirmed issues with a player playing on a dedicated server for ATM9. This doesn't appear to occur with the primitive alloy smelter. ### Expected Behavior The craft should be completely order independent. ### Steps To Reproduce 1. Place down an alloy smelter 2. Put in an ender pearl into the first input slot 3. Put energetic alloy in the second slot 4. It shouldn't craft. ### Environment ```markdown - Minecraft version: 1.20.1 - Version: 6.0.5-alpha - Modpack: ATM9 0.0.32 ``` ### Anything else? I would love if anyone else experiencing this problem could come forward and let us know, it'll hopefully help us trace this bug.
DarthJake commented 2023-07-12 07:47:14 +00:00 (Migrated from github.com)

I am able to reproduce something similar to this.

Steps to Reproduce:

  1. Place an alloy smelter, place a capacitor in it, and power it with creative power
  2. Place an Ender Pearl in slot 2, and an Energetic Alloy Ingot in slot 3. This will craft as normal.
  3. Place an Energetic Alloy Ingot in slot 1 and an Ender Pearl in slot 2. (This is the JEI recipe)
  4. The craft will not happen.
    image
  5. To complete the craft, slots 1 and 3 must be used

I messed around with it a bunch and you can actually cause a bunch of different combinations of slots to craft hang depending on what slots the previous sequence of crafts used. I was able to get nearly every way you can place these two ingredients into the smelter to not craft. It seems to follow some sort of pattern, which is very strange to me.

My guess is whoever ran into this somehow got it into a state that resulted in the behavior they described by pure chance of what items/slots they were using previously.

Hope this helps!

I am able to reproduce something similar to this. Steps to Reproduce: 1. Place an alloy smelter, place a capacitor in it, and power it with creative power 2. Place an Ender Pearl in slot 2, and an Energetic Alloy Ingot in slot 3. This will craft as normal. 3. Place an Energetic Alloy Ingot in slot 1 and an Ender Pearl in slot 2. (This is the JEI recipe) 4. The craft will not happen. ![image](https://github.com/SleepyTrousers/EnderIO-Rewrite/assets/19763416/a308ed43-0b70-43cc-bb71-c9e8c816a6d1) 5. To complete the craft, slots 1 and 3 must be used I messed around with it a bunch and you can actually cause a bunch of different combinations of slots to craft hang depending on what slots the previous sequence of crafts used. I was able to get nearly every way you can place these two ingredients into the smelter to not craft. It seems to follow some sort of pattern, which is very strange to me. My guess is whoever ran into this somehow got it into a state that resulted in the behavior they described by pure chance of what items/slots they were using previously. Hope this helps!
Rover656 commented 2023-07-12 07:53:26 +00:00 (Migrated from github.com)

Thanks for the info and testing, will attempt again later too, additional context from other conversations:

  1. Looks like RS can get into stick situations with ordering too when automating the alloy smelter
  2. It appears our ordering makes it hard to use the dark steel recipe when steel (powdered coal and iron) is enabled. Maybe order dependent recipes could be a solution, needs more investigation. Could be that our entire model of consume then craft needs changed so the recipe can be updated as you put stuff in. I'll consider this then present case for change to the team

Thanks again!

Thanks for the info and testing, will attempt again later too, additional context from other conversations: 1. Looks like RS can get into stick situations with ordering too when automating the alloy smelter 2. It appears our ordering makes it hard to use the dark steel recipe when steel (powdered coal and iron) is enabled. Maybe order dependent recipes could be a solution, needs more investigation. Could be that our entire model of consume then craft needs changed so the recipe can be updated as you put stuff in. I'll consider this then present case for change to the team Thanks again!
Rover656 commented 2023-07-12 11:43:13 +00:00 (Migrated from github.com)

I'm unsure as to why the order dependence has emerged, but I think I'm going to make alloying recipes order-dependent by design for the following reasons:

  1. I think it'll make the slot filtering logic make more sense, and will let me design it in such a way that even when slots are empty you can add valid items for that craft. I think it's always going to be a limitation that you can't freely insert a different recipe until the current craft is completed though (atleast via machine input if I can configure that separately) to avoid stuff like hoppers and item pipes not working with this.
  2. I have hopes that explicitly defining the orderings will allow us to more strategically avoid recipe conflicts, as you can then use recipe input order to differentiate between different desired outputs.
  3. Defining the ordering in a fixed way would hopefully also take away this seemingly broken way of taking recipe ingredients at the minute.

I'll have another try at reproducing when I get home, but I'm assigning myself to this and will look into fixing this.

I'm unsure as to why the order dependence has emerged, but I think I'm going to make alloying recipes order-dependent by design for the following reasons: 1. I think it'll make the slot filtering logic make more sense, and will let me design it in such a way that even when slots are empty you can add valid items for that craft. I think it's always going to be a limitation that you can't freely insert a different recipe until the current craft is completed though (atleast via machine input if I can configure that separately) to avoid stuff like hoppers and item pipes not working with this. 2. I have hopes that explicitly defining the orderings will allow us to more strategically avoid recipe conflicts, as you can then use recipe input order to differentiate between different desired outputs. 3. Defining the ordering in a fixed way would hopefully also take away this seemingly broken way of taking recipe ingredients at the minute. I'll have another try at reproducing when I get home, but I'm assigning myself to this and will look into fixing this.
Rover656 commented 2023-07-12 17:22:08 +00:00 (Migrated from github.com)

Was able to reproduce and determine what's happening.
Until a build goes out, the workaround is to put any item into all three slots and take it out again by hand to "reset" the machine.

Was able to reproduce and determine what's happening. Until a build goes out, the workaround is to put any item into all three slots and take it out again by hand to "reset" the machine.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Team-EnderIO/EnderIO#292
No description provided.