Advanced Peripherals

Advanced Peripherals

29M Downloads

[Feature] Integrated Dynamics Support

Reginald-Halifrax opened this issue ยท 11 comments

commented

Describe your feature idea

Quite simply Integrated Dynamics has so far been a fantastic tool for data retrieval and formatting, however lackluster in processing (or quite possibly my ability to use it is lackluster). Integrated Dynamics already uses standard classes as it is, (string, int, double, list... what have you.) so being able to simply import the variables from variable cards would be extremely helpful! unless I am unaware of some existing compatibility I don't understand, regardless it would be great to streamline it as a peripheral.

commented

Added in 0.7a

commented

Hey, could you provide me a list of functions you want for an integrated dynamics integration?

commented

You will have to forgive me when I say its hard to even imagine how to answer that. It really depends on the structure that works best.

A great way to start would honestly just being able to convert the ID aspects to CC compatible variables, such as being able to read a string from- well you know, a string variable. Something as simple as ID.getValue() would be a good start, returning nil if the aspect is of a type unfamiliar to AP.

I personally don't have familiarity with the ID API, so I know nothing about setting variables. I presume variable cards expect to be given a specific aspect so, I think all interaction with ID will likely require an intermediary block (ID Bridge more than likely) that accepts one slot for a variable card. Once a valid variable card is in I would make a safe bet it should not be allowed to modify its aspect, practically shouldn't be an issue anyways.

TL:DR

Theoretically I think all that's needed is:

ID.setValue([value])
ID.getValue()
ID.getAspect()

ID of course being a wrapped peripheral of what would presumably be a "ID Bridge" block with a singular inventory slot to store a valid variable card.

I could get into syntax and expected behaviours but I would much prefer hearing your input on the matter first.

commented

I will add an integrated dynamics support. But I will need some time, I never played with this mod ๐Ÿ˜…

I could get into syntax and expected behaviours but I would much prefer hearing your input on the matter first.

I like your ideas, I will see, what I can add for Integrated Dynamics.

commented

Actually, a very simple and nice way to add this integration this is to make Variable Store from ID a peripheral, that will allow to access data of variables inside it.

commented

I recommended a separate block as it matches the current format of the mod as is, as well for the fact I am unaware of how compliant ID will be when trying to change values opposed to reading them.

commented

I am agree, that separate block to read data from ID is better, but I am not sure, that someone will need a output from CC to ID.

I can't even imagine setup, when you will need this kind of integration and redstone will be not enough.

commented

An output from CC to ID could quite simply be to set a string, I for one have never been a fan of multiple CC's with wireless modems for data transport. ID has a lower overhead for data transport but has a semi-low data processing, hence the whole point of this peripheral concept.

I know some really wild people ditch wireless modems for binary redstone pulse chains but that exemplifies the overhead issue even further with block updates only to have a painfully slow bitrate of 20bp/s. Simply saying "Hello, World!" (I think using ascii) would take a full 5 seconds to receive, god forbid your project has distance involved.
-excuse my side tangent, sometimes I like looking over the math of things.

Above all else, I believe it would make centralizing data processing heaps easier being able to input and output without 5 different CC computers.

commented

So, setting Value is really not an option with ID, in my PR I have implemented NBT storage that will allow to output any data to ID)

commented

Great work out there! Thank you all again for looking at my request, let alone doing anything with it.

commented

I'll reopen this until 0.7r is released.