AdvancedPeripherals icon indicating copy to clipboard operation
AdvancedPeripherals copied to clipboard

new RS / ME Bridge functions

Open gamenTV opened this issue 4 years ago • 8 comments

Describe your idea

Some new functions for the RS / ME Bridges would be nice:

  • getCraftingProgress(item) > return the percentage progress from a crafting operation
  • getExternalStoredItems() > return a list of Items that are external stored
  • getExternalStoredFluids() > return a list of Fluids that are external stored
  • getMaxItemDiskStorage() > return max amount of Items that can be stored in Disks
  • getMaxFluidDiskStorage() > return max amound of Fluids that can be stored in Disks
  • getItemsStoredDisk() > return the current amount of stored Items in Disks
  • getFluidsStoredDisk() > return the current amount of stored Fluids in Disks

probably not the best function names but i guess to make clear what i mean it's fine :)

Describe alternatives you've considered if you've any

No response

Additional context

No response

Linked Issues

No response

gamenTV avatar Jul 21 '21 20:07 gamenTV

It would be nice to add methods which are present in uecasm's mod. Missing methods are:

  • .isConnected()
  • ~~.getEnergyUsage()~~
  • .getStorages()
  • .getItem(item[, compareNBT[, evenIfZero]])
  • .getFluid(fluid[, compareNBT[, evenIfZero]])
  • .getPatterns([item])
  • .getFluidPatterns([fluid])
  • .hasPattern(item)
  • .hasFluidPattern(fluid)
  • .getPattern(item)
  • .getFluidPattern(fluid)
  • .getTasks()
  • .scheduleTask(item[, count[, canSchedule]])
  • .scheduleFluidTask(fluid[, amount[, canSchedule]])
  • .cancelTask(item)
  • .cancelFluidTask(fluid)
  • .extractFluid(fluid[, amount[, direction]])

SLASHLogin avatar Aug 20 '21 16:08 SLASHLogin

You want API interface compatibility?

SirEdvin avatar Aug 20 '21 17:08 SirEdvin

It would be nice to add methods which are present in uecasm's mod. Missing methods are:

  • .isConnected()
  • .getEnergyUsage()
  • .getStorages()
  • .getItem(item[, compareNBT[, evenIfZero]])
  • .getFluid(fluid[, compareNBT[, evenIfZero]])
  • .getPatterns([item])
  • .getFluidPatterns([fluid])
  • .hasPattern(item)
  • .hasFluidPattern(fluid)
  • .getPattern(item)
  • .getFluidPattern(fluid)
  • .getTasks()
  • .scheduleTask(item[, count[, canSchedule]])
  • .scheduleFluidTask(fluid[, amount[, canSchedule]])
  • .cancelTask(item)
  • .cancelFluidTask(fluid)
  • .extractFluid(fluid[, amount[, direction]])

Take a look at the documentation: https://docs.srendi.de/peripherals/me_bridge/ Some of your requested functions does already support the me bridge

SirEndii avatar Aug 20 '21 17:08 SirEndii

It would be nice to add methods which are present in uecasm's mod. Missing methods are:

  • .isConnected()
  • ~~.getEnergyUsage()~~
  • .getStorages()
  • .getItem(item[, compareNBT[, evenIfZero]])
  • .getFluid(fluid[, compareNBT[, evenIfZero]])
  • .getPatterns([item])
  • .getFluidPatterns([fluid])
  • .hasPattern(item)
  • .hasFluidPattern(fluid)
  • .getPattern(item)
  • .getFluidPattern(fluid)
  • .getTasks()
  • .scheduleTask(item[, count[, canSchedule]])
  • .scheduleFluidTask(fluid[, amount[, canSchedule]])
  • .cancelTask(item)
  • .cancelFluidTask(fluid)
  • .extractFluid(fluid[, amount[, direction]])

Take a look at the documentation: https://docs.srendi.de/peripherals/me_bridge/ Some of your requested functions does already support the me bridge

Thanks, I've crossed out the one that's indeed already implemented. Also, the .getItem(item[, compareNBT[, evenIfZero]]) is implemented, however it does not let you choose to compare NBT or not. Additionally, if there is no matching items, it will return nil by default. I think it would be nice to give the user an option to choose whether to return item information even if there are zero items inside the storage system. Similarly, there's .scheduleTask(item[, count[, canSchedule]]) which is equal to craftItem(table item) but you can't "preview" the task.

SLASHLogin avatar Aug 21 '21 19:08 SLASHLogin

Moved to 0.7.2r

SirEndii avatar Aug 23 '21 11:08 SirEndii

IStorageDiskManager in the API and IStorageDisk.getCapacity can help with getMaxItemDiskStorage and getMaxFluidDiskStorage

IExternalStorage could help with a new function to see total space including disks and external storage.

itzTheMeow avatar Sep 09 '21 16:09 itzTheMeow

We added some of these functions in 0.7.3r Some of these are a little complex, so I didn't added them in 0.7.3r

Things that are not implemented:

  • .getItem(item[, compareNBT[, evenIfZero]])
  • .getFluid(fluid[, compareNBT[, evenIfZero]]) These two functions are implemented, but not with these parameters
  • .getFluidPatterns([fluid])
  • .hasPattern(item)
  • .hasFluidPattern(fluid)
  • .getFluidPattern(fluid)
  • .getTasks()
  • .cancelTask(item)
  • .cancelFluidTask(fluid)
  • .extractFluid(fluid[, amount[, direction]])

SirEndii avatar Oct 13 '21 17:10 SirEndii

Thanks, that's still something

SLASHLogin avatar Nov 19 '21 10:11 SLASHLogin