GTNewHorizons / GT-New-Horizons-Modpack

New Modpack with Gregtech, Thaumcraft and Witchery
https://www.gtnewhorizons.com/
Other
942 stars 294 forks source link

Advanced Blocking Card can't block recipes that consist of only fluid #14620

Closed shiita0903 closed 5 months ago

shiita0903 commented 11 months ago

Your GTNH Discord Username

shiita0903

Your Pack Version

2.4.0

Your Server

SP

Java Version

Java 19

Type of Server

Single Player

Your Expectation

Tring to use Advanced Blocking Card for fluid only recipe. Expect to work blocking mode.

The Reality

I tried to use advanced blocking card to avoid conflicting fluid only recipe for LCR but fluid for two recipes are inserted to input hatch at once.

How to reproduce

  1. Insert any fluid to input hatch
  2. Craft two recipes that consist of only fluid. (Blocking mode works here)
  3. Remove the fluid inserted by No.1 from the input hatch
  4. Check all fluid are inserted to the input hatch at once

https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/assets/20969270/988eeab5-f0a4-48ca-871c-53d06f9009d6

Your Proposal

Change behavior of Advanced Blocking Card for fluid only recipe to work blocking mode.

Final Checklist

Qwasyx commented 10 months ago

This same issue also happens for me, even when using multiple normal input hatches + fluid storage busses (I was told in the discord that this issue was thought to be with the quad hatch, but that doesn't seem to be the case for me).

vovaksenov commented 10 months ago

Can not test it myself right now, but perhaps adding a fluid discretizer into the subnet could help? This might allow blocking mode to pick up that there are fluid drops in the network.

shiita0903 commented 10 months ago

@vovaksenov Thank you for your suggestion. I tried it but unfortunately fluid discretizer doesn't solve this issue.

AbdielKavash commented 8 months ago

Since this is now mentioned in issues for 2.5.0, I can add my own example. This is from 2.4.1.

https://www.dropbox.com/scl/fi/urlmnpcst7phpogg5xorh/Jxw9W5dfmv.mp4?rlkey=ijq9zgufk7trkwxk3n3uf5rmr&dl=0

This is a very typical subnet setup, main net (blue) dual interface in blocking mode points to a subnet (red) dual interface with an advanced blocking card. The red network has storage buses on tanks and a chest. The patterns in the interface are:

Requesting a blue wool, then a red wool, correctly inserts water into the subnet and then blocks until the subnet is empty before inserting lava.

However, requesting white wool (which uses both red and blue wool as precrafts), inserts both water and lava into the subnet at the same time, circumventing blocking mode.

Things that do not fix the issue:

The problem persists even if one of the two patterns has an item input (add any item to one of the red/blue wool recipes) and the other pattern is fluid-only. When white wool is requested, both water and lava still get inserted into the subnet at the same time. The only way for the setup to reliably only process one recipe at a time is to make sure that every pattern contains at least one item input.

AbdielKavash commented 8 months ago

Noting that this is still an issue in 2.5.0. Replicating steps in the previous post still causes the same problem.

Glease commented 5 months ago

@AbdielKavash does it still break if the none of the output tank can hold the entire packet of any kind of fluid? In your example, it'd be 4 tank, 2 with 500mB space left for water and 2 with 500mB space left for lava or just try the build from the linked PR