Bug: Buildcraft gates use upgrade slots when processing inventory conditions

  • Minecraft 1.2.5, IC2 v1.9.7, Buildcraft 3.1.5. No log because it's a logic bug.


    Steps to reproduce: Place an IC2 recycler. Connect a BC wooden transport pipe to the recycler. Put a BC Iron AND Gate on the wooden transport pipe. Right-click on the gate to open it and click on the top-left square repeatedly to set the gate's top condition to "inventory empty". Note that the line to the right is red, showing that this condition is true. Set the gate's bottom conditional to "items in inventory". Note the darkened line showing that this condition is false. Open the recycler's interface and put an IC2 transformer upgrade into one of the upgrade slots on the right. Reopen the BC gate and note that both conditions have changed - "inventory empty" is false and "items in inventory" is true.


    Observed behavior: Buildcraft gates use IC2 machines' upgrade slots when calculating the "inventory empty", "items in inventory", "space in
    inventory", and "inventory full" conditions. Tested with Recyclers, Electric Furnaces, and Compressors.


    Expected behavior: Only a machine's input and output slots should be used to calculate inventory-related conditions.


    I'm not entirely sure if I should have filed this as an IC2 bug or a BC bug. I suspect that the problem is closer to IC2's side, though, so I've submitted it here. Thanks!

    i = 0x5f3759df - (i>>1); // what the @&#%?

    Edited 2 times, last by Vebyast ().

    • Official Post

    IC²-Bug. Upgradeslots are normal Inventoryslots like every other Slot. To solve it one would have to exclude those Slots at the "getSizeInventory"-Function (just -4 if the Upgradeslots are last). The Regulator of RP is also a good InventoryItemDetector, which does no have that Problem but only looks at the Side its placed on.

  • Not our bug, it considers any slot even if not sided. We can't hook into it either.

    That's an annoyance. I guess I'm off to the buildcraft forums, then. Thanks!

    i = 0x5f3759df - (i>>1); // what the @&#%?

  • you could also get the additional machines mod, and use rotary macerators etc... and industion furnaces, they accept medium voltage and no upgrade slots.