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

Make "unusable" IO port modes useful & add cell movement queue #626

Merged
merged 18 commits into from
Dec 27, 2024

Conversation

S4mpsa
Copy link

@S4mpsa S4mpsa commented Dec 21, 2024

Has the following changes:

  • IO Port on "Move to output when empty" and "Pull from network" modes will now move the cell to the output slot if the network was emptied and work was done, essentially checking if the network was emptied by the IO port.
  • IO Port on "Move to output when full" and "Push to network" modes will now move the cell to the output slot if the network was filled and work was done, checking if the network was filled by the IO port.

These two new behaviors allow using the IO port in new ways more reliably.

Another change contained in the PR is a "move queue", where a cell that has finished its work, but couldn't be moved to the output slots, will no longer do work within the IO port and will try to move every time the IO port is updated. This change is required for the above two modes to work, but doesn't influence the behavior of any existing used modes.

@S4mpsa S4mpsa added the enhancement New feature or request label Dec 21, 2024
@ivelieu
Copy link

ivelieu commented Dec 21, 2024

This will break IO port automation that specifically relies on this functionality (notably, some of my vacuum nuke approaches which are used by a fair few people). Better to add this behavior as a fourth mode.

@Dream-Master Dream-Master requested a review from a team December 21, 2024 11:37
@Caedis Caedis marked this pull request as draft December 23, 2024 02:28
@Caedis
Copy link
Member

Caedis commented Dec 23, 2024

drafted per request of Sampsa

@AnrDaemon
Copy link

Ain't there are already all modes necessary? What 4'th mode?
Move when done, move when empty, move when full.
What else do you need, and why?

@ivelieu
Copy link

ivelieu commented Dec 23, 2024

Move when done some work (wait for work to start then stop), move when transfer finished (wait for work to stop), move when empty and move when full.

You may also read the relevant part of the GTNH official discord tips and trick thread "Universal Automation for any processing machine*" where this PR is linked. There sampsa explained instead changing this only for the modes "Move when cell full" when the IO port is on "Push to network" and "Move when cell empty" when IO port is on "Pull to cell" which are otherwise useless modes. I am indifferent both implementations seem reasonable.

@S4mpsa S4mpsa changed the title Make IO ports not transfer the cell if no items were moved and in "After work done" mode Make "unusable" IO port modes useful & add cell movement queue Dec 26, 2024
@S4mpsa S4mpsa marked this pull request as ready for review December 26, 2024 20:21
@serenibyss serenibyss enabled auto-merge (squash) December 27, 2024 16:08
@serenibyss serenibyss disabled auto-merge December 27, 2024 16:16
Copy link

Warning: 2 uncommitted changes
#632

@serenibyss serenibyss merged commit 95aad54 into master Dec 27, 2024
1 check passed
@serenibyss serenibyss deleted the IO-of-Harmony branch December 27, 2024 17:18
michaeldoylecs pushed a commit to michaeldoylecs/Applied-Energistics-2-Unofficial that referenced this pull request Jan 4, 2025
…Horizons#626)

Co-authored-by: Sampsa <sampo.vanninen@aalto.fi>
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants