As it currently stands we have access to getting a user list, however this is not very useful to us as there is nothing we can do with that information, since we cannot do different GUIs for each person.
So I propose the following:
--------------------------------------------------------------------------------
STANDARD API
addText
Adds text to all terminal glasses
addText( xPos, yPos, text, color, opacity )
NOTE: Also, opacity would be nice?
addBox
Adds a box to all terminal glasses
addBox( xPos, yPos, width, height, color, opacity )
clear
functions normally, clears all objects from all terminal glasses
getUsers
returns a key/value pair table containing the username (key) and the glasses id (value) of all connected glasses
resetGuid
functions normally
getStringWidth
works normally, although I think this could be deprecated because of the getWidth on the text object
getGlasses
returns an object of the glasses for the supplied key (see next section for more details)
local users = bridge.getUsers()
local myGlasses = bridge.getGlasses( users.theoriginalbit )
local otherGlasses = bridge.getGlasses( users.someotheruser )
--------------------------------------------------------------------------------
MULTIUSER SUPPORT
The below functions are all contained within the object returned from the
getGlasses function
getScreenSize || getSize
gets the wearing users minecraft screen width and height
addText
works the same as the default except only adds text for these glasses
addBox
works the same as the default except only adds a box for these glasses
clear
works the same as the default except only clears these glasses
getUsername
returns the username of the wearer
getID
returns the id of the glasses
--------------------------------------------------------------------------------
I believe that the above changes would benefit the mod as a whole, and also allow for more
advanced programs that require only one computer and one terminal bridge to support a large
amount of users.
Also I do have a project in mind that would benefit greatly from being able to run a large
`team` of user's HUD from the one computer on collaborative tasks as opposed to setting up
some form of secure communications network.