CC: Tweaked

CC: Tweaked

57M Downloads

[BUG] Generic APIs not exists when the target block have other API implemented

zyxkad opened this issue ยท 14 comments

commented

Useful information to include:

  • Explanation of how the feature/change should work.
    • Many mod add it's own tanks to operate, (create, mekanism, AE2), it's useful if we can transform fluids through the wired modem because then we can autocraft fluids.
  • Some rationale/use case for a feature. My general approach to designing new features is to ask yourself "what issue are we trying to solve" and then "is this the best way to solve this issue?".
    • For example, create mod can craft potions, if we have fluid transfer, we can easier to make potions from a basin to another one that contains gunpowder or dragon breath to upgrade them.

It's because some mods affect the tanks, not CC:T issue

commented

I am a bit confused, doesn't this already exist?
https://tweaked.cc/generic_peripheral/fluid_storage.html

commented

It is probably request for fabric, I guess.
You can use UnlimitedPeripheralWorks version for fabric to close this gap for now.

commented

No I'm on forge 1.19.2

Screenshot 2023-05-09 at 12 51 11 PM
commented

Do you have AdvancedPeripherals installed? Can you try without them?

commented

Ah yeah, I installed AdvancedPeripherals, so it should be that mod's issue?

commented

AdvancedPeripherals has integration with Create for some blocks. If another mod provide any kind of peripheral to block, generic peripheral (like energy_storage, fluid_storage and inventory) will not work.

From your screenshort I guess something is providing a peripheral integration for tank, because method getInfo not belong to CC:T

commented

I disabled advanced peripherals, and I'm testing without it

commented

Yes, create tanks works well without advancedPeripheral, but mekanism's not, should I report the issue to them?

commented

Mekanism has its own integration with CC:T, so probaby, yes.

commented

Is there even a way to fix this as an addon developer?

commented

You can or disable peripheral for this block or re-implement (copy) part of code that is responsible for this.

In UPW I introduced plugin system to solve this issue :)

commented

And linking this discussion here

commented

Noticed that even cc: tweaked it's own printer and diskDriver didn't implemented the generic inventory API.

I'm not sure if it's on purpose, but if not, you should fix that then other modders know what can they do

commented

Inventory methods on CC peripherals is an intentional choice right now - currently tracked at #633.