GithubHelp home page GithubHelp logo

Comments (10)

Cypphi avatar Cypphi commented on July 4, 2024 1

I'm also experiencing this issue, hopefully it will be fixed in the future so we can simplify autocrafters quite a lot!

from carpet-autocraftingtable.

DragonEggBedrockBreaking avatar DragonEggBedrockBreaking commented on July 4, 2024

Confirmed in 1.16.3.

from carpet-autocraftingtable.

kneasle avatar kneasle commented on July 4, 2024

Also found this in 1.16.3:

edited-screenshot

Here's my setup - crafting paper is tedious if this is impossible

from carpet-autocraftingtable.

evermoreobsolete avatar evermoreobsolete commented on July 4, 2024

There is a larger problem than just the use case here. Currently if there is no space for the crafted item in the bottom hopper it tries to pull the output slot, consumes the input items and then leaves the crafted item on the table. I raised a separate issue (#13) but reading this ticket again I see it is the same core problem.

Amongst other things observed:

  • when crafting honey blocks the glass bottles can be pulled off the table first
  • when crafting a gold block, if the bottom is full of, for example, dirt, the block will craft but not be extracted. Then 9 iron can be placed on the table, an iron block crafted and the gold block is 'deleted'

My take on this is a check is needed to ensure there is space in the bottom hopper for the output item prior to the item being crafted. My understanding of container code is not fantastic but I'm guessing the crafting table is queried for what slots are available for extraction, then the item is pulled, which triggers the crafting of the item, but then the extraction is aborted when there is no space available?

from carpet-autocraftingtable.

kneasle avatar kneasle commented on July 4, 2024

Your theory matches my observations too. I also have no real idea how the game code works (otherwise I'd attempt to fix this in a PR), but your solution also seems like it will work.

from carpet-autocraftingtable.

evermoreobsolete avatar evermoreobsolete commented on July 4, 2024

I've been kicking this around a bit and I think a design decision is needed here. There are 2 possible options:

  1. Items are crafted whenever the bottom hopper is enabled. This would mean controlling the crafting table using item filters would be impossible and instead everything would have to be done by carefully locking the bottom hopper (to craft gold blocks the bottom hopper would have to be locked until the table was full). No code changes would need to be made in this case and this ticket can be closed.

  2. Items are crafted when an item is successfully moved from the crafting table to the hopper. This would allow for item filters to be used. This would require alterations to hopper behaviour to prevent items being crafted prematurely.

Neither is necessarily wrong but a decision does need to be made. In my opinion (1) seems more confusing but plenty of things are counter-intuitive in this game and the correct behaviour just needs to be made clear.

from carpet-autocraftingtable.

kneasle avatar kneasle commented on July 4, 2024

I would prefer option 2., in that I (and it seems the 3 other people who added examples to this issue) found it intuitive that item filters should behave the way they do with other block entities.

I think that generally the non-function of item filters is OK, but in some cases (like the sugar cane -> paper machine I demonstrated), doing this without an item filter is both massively less efficient and extremely annoying.

However, I think that the point of this mod over the old autocrafting mod is that it is more compatible with vanilla clients, and rewriting some of the hopper code could potentially break that compatibility.

from carpet-autocraftingtable.

JacktheDevel0per avatar JacktheDevel0per commented on July 4, 2024

This is a Hopper thing and a way for you to fix is to lock the hopper for set time or for gnembon to add a system (if possible probably) that gets if the crafted item is in the hopper and if not the hopper is kept locked and / or where items end back get somehow uncrafted and get overwritten with new recipe, this should only be if the locking system does not work, and It could have been implemented before conversion if able, so I don't know if it will work.

from carpet-autocraftingtable.

JacktheDevel0per avatar JacktheDevel0per commented on July 4, 2024

I would prefer option 2., in that I (and it seems the 3 other people who added examples to this issue) found it intuitive that item filters should behave the way they do with other block entities.

I think that generally the non-function of item filters is OK, but in some cases (like the sugar cane -> paper machine I demonstrated), doing this without an item filter is both massively less efficient and extremely annoying.

However, I think that the point of this mod over the old autocrafting mod is that it is more compatible with vanilla clients, and rewriting some of the hopper code could potentially break that compatibility.

sadly the reason it can't be the same is cause the item is different from the starter item and for a furnace there is only one way something can smelt so it does not have this issue but similarly you can use a system that tries it and if it comes back and does not go back it will not do it

from carpet-autocraftingtable.

JacktheDevel0per avatar JacktheDevel0per commented on July 4, 2024

I've been kicking this around a bit and I think a design decision is needed here. There are 2 possible options:

  1. Items are crafted whenever the bottom hopper is enabled. This would mean controlling the crafting table using item filters would be impossible and instead everything would have to be done by carefully locking the bottom hopper (to craft gold blocks the bottom hopper would have to be locked until the table was full). No code changes would need to be made in this case and this ticket can be closed.
  2. Items are crafted when an item is successfully moved from the crafting table to the hopper. This would allow for item filters to be used. This would require alterations to hopper behavior to prevent items being crafted prematurely.

Neither is necessarily wrong but a decision does need to be made. In my opinion (1) seems more confusing but plenty of things are counter-intuitive in this game and the correct behavior just needs to be made clear.

this is a good idea but if 2 was an option it could be good as a rule

from carpet-autocraftingtable.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.