Enchanter output slot not accessible via automation
Rithenar opened this issue ยท 6 comments
Describe the bug
I am trying to automate a recipe that uses enchanted books through AE2. I am using the MA enchanter to make the looting books, however, I am not able to automate getting the enchanted books out of the enchanter. I have tried Pipez, Mek Log cables, and AE2 importer. When using anything without a filter it will import everything in the enchanter, if I put a filter to take out only enchanted books it will not take anything out
To Reproduce
Steps to reproduce the behavior: Craft an enchanted book in enchanter, try to get enchanted book out of it through automation
Expected behavior
respect the filtering and remove enchanted books so autocrafting can be achieved
Screenshots / Scripts / Logs
Please add your logs and scripts (if applicable).
Versions (please complete the following information):
- Minecraft: 1.20.1
- Forge: 47.2.19
- Cucumber: 7.0.7
- Mystical Agriculture: 7.0.8
- Singleplayer or Multiplayer:SP
Ok so I'm a bit hesitant to do this as in the current implementation the output only really exists in the screen. There's ways I can make it work but I'm worried about compatibility issues/dupe bugs since I would be doing some hacky stuff.
So from a design perspective (at least in my opinion) the inputs and outputs can't both be available at the same time for automatable blocks. Currently that's how this block works.
I think I would either need to make it have some sort of 'processing' step to untie the crafting logic from the screen or just not expose the inventory to automation at all.
So being able to insert items into the Enchanter using pipes/etc was a bit of an oversight. I never really intended for this block to be automatable. That being said I'm still going to see how difficult it would be to make this work.
The main quirk about this is how the outputted enchantment level is dependent on the amount of items in the inventory. I had originally assumed that this would be confusing in the case of automation because the enchantment level would effectively be based on both the time between extracts and the speed of item insertion. I guess it would just be implied that if you want a specific result you would need to have an NBT filter of some kind on the extractor.
Hey @BlakeBr0, if you're looking for inspiration on the design for slots in the enchanter and how to automate it, i'd like to suggest taking a look at how Alchemistry does it, specifically the "lock recipe" function might be a convenient solution!
it would then take one setup per desired enchantment, but that seems alright to me...if a player is at a point where they are looking to mass produce enchantments, that shouldn't be an issue...
cheers
Why can't the block have sides for each slot ? Also no automation allows for higher than 64 items in the input slots wich is a bummer, crafting a level 10 enchant takes forever by hand, not to mention the level of the enchant does not 'update' when inserting more input items and you have to remove/reinsert books to update.
Yeah exposing the output slot on the bottom would be a nice solution.
In what way would the solution be hacky? I'm guessing because it would store both the ingredients and result at the same time? I guess it's similar to the vanilla Smithing Table, which doesn't allow automation at all. For the Smithing Table, the Applied Energistics 2 mod allows you to create a pattern for it that can go into its normal crafting stuff and doesn't interact with a smithing table block at all. I'm wondering if having that kind of ae2 integration could be a solution?
Then again locking automation to only ae2 is a bad solution as not everyone uses ae2 and it'd be nice to not need a full storage system to automate it.
Maybe just expose the output slot on the bottom of the machine and people can just use filtered pipes or something similar to pull the correct book from that slot? And then pulling out the book would instantly also set the ingredients to empty item stacks so hopefully there can't be a situation where a pipe can pull both the ingredients and output at the same time.
I've been taking a break from modding, but this honestly seems interesting so I might even take a look at it myself and if I figure anything out, I'll send a pr.
Yeah I'm too unfamiliar with the forge apis and whatever else this mod uses, but I think the second idea would be a nice solution.
For example the Pipez mod allows you to filter by specific nbt. For example if all the books you wanted to be automated were at level 3, you could tell the pipe to match all books with a level 3 enchant. Or just filter specific books that you want.