so, i've had this idea a bit ago but have no idea how to program. basically, there are 4 blocks, a controller, a frame, a detector, and a manipulator. the controller is the base block, which is where you interact with, frames are a mixture between item pipes, block places, and block breakers. a detector is, as it says on the tin, a thing that can detect mobs, items, or blocks. and a manipulator is a block that can control guis of other blocks, modded or not. the way it works is that you can basically make programs (with block type coding like CCE and PSI) to control, activate, and manipulate the other 3 blocks. say, for example, you could make a program that places a line of frames to a specific location, then places a sapling underneath, then breaking and taking back the frames to make a completely automated sapling planter. if anyone wants to know more in detail (i do have a pretty good idea on how it'd work) let me know
You say "Control other GUIs" but what do you mean by that? If you mean move items around, that's possible, but the GUIs don't exist on the server, where all the logic happens, so some things will be impossible.
While GUI's are server side, you could always get the inventory and reconstruct the GUI in a generic sense of manipulating "any" GUI, at least as far as item-slots go. Possibly link multiple together into one single "GUI" for the block. It definitely is possible, I just don't want to start digging around and doing it myself. But maybe later down the line if no one else jumps on this. Currently I'm busy with other projects.
Rollback Post to RevisionRollBack
Mod Author and Owner of Blockhole
Owner of other discontinued or status frozen work: LimpCraft2, LimpCore, InventoryCalculator, VillageTech, Bitto'Color.
Still could if you recreated an instance of the TE's gui / container and built it up and as you mess with it it changes the new instance, then on completion of using the recreated gui it saves the data back into the original Tile Entity, but I'm not sure if there would be an easy way to make it generic... you might have to add each mod support individually.
Rollback Post to RevisionRollBack
Mod Author and Owner of Blockhole
Owner of other discontinued or status frozen work: LimpCraft2, LimpCore, InventoryCalculator, VillageTech, Bitto'Color.
Using hacky workarounds you could get the GUI to work for the client to interact with it, but you could not automate it, because it simply doesn't exist server-side. And even if it did, you would have to add support for every single GUI in every single mod.
Ehh, perhaps I'll make a manipulator of sorts in my current mod later down the line. I don't think it would be nearly as hacky as you might think at first glance. But nevertheless, it wouldn't be impossible. The GUI doesn't store data on its own, so every client with the mod has it. All you have to do is get the block and call the onRightClick method using your player to make your client open the GUI of the block, despite however far away you may be. Should be fairly simple to implement using either coordinate programming or block linking back to the manipulator. How do you think stuff like wireless access terminals in Applied Energistics works? It shouldn't have to be manually added either, despite what I was originally thinking.
Yes, that would work. As long as the player meets the requirements for keeping the GUI open (which are normally a check that the block exists and is in range). I assume AE uses a check to ensure the held item is a wireless terminal and that the network transmitter is close enough. Those are the bits you would have to get around and handle for every GUI.
And that still doesn't mean that the GUI can be automated, just viewed from elsewhere.
so, i've had this idea a bit ago but have no idea how to program. basically, there are 4 blocks, a controller, a frame, a detector, and a manipulator. the controller is the base block, which is where you interact with, frames are a mixture between item pipes, block places, and block breakers. a detector is, as it says on the tin, a thing that can detect mobs, items, or blocks. and a manipulator is a block that can control guis of other blocks, modded or not. the way it works is that you can basically make programs (with block type coding like CCE and PSI) to control, activate, and manipulate the other 3 blocks. say, for example, you could make a program that places a line of frames to a specific location, then places a sapling underneath, then breaking and taking back the frames to make a completely automated sapling planter. if anyone wants to know more in detail (i do have a pretty good idea on how it'd work) let me know
What would you use the GUI manipulator for?
You say "Control other GUIs" but what do you mean by that? If you mean move items around, that's possible, but the GUIs don't exist on the server, where all the logic happens, so some things will be impossible.
If I helped you, please click the green up arrow.
While GUI's are server side, you could always get the inventory and reconstruct the GUI in a generic sense of manipulating "any" GUI, at least as far as item-slots go. Possibly link multiple together into one single "GUI" for the block. It definitely is possible, I just don't want to start digging around and doing it myself. But maybe later down the line if no one else jumps on this. Currently I'm busy with other projects.
Mod Author and Owner of Blockhole
Owner of other discontinued or status frozen work: LimpCraft2, LimpCore, InventoryCalculator, VillageTech, Bitto'Color.
Yes, what I meant was that you could interact with items and fluids, but not click on a button for example.
If I helped you, please click the green up arrow.
Still could if you recreated an instance of the TE's gui / container and built it up and as you mess with it it changes the new instance, then on completion of using the recreated gui it saves the data back into the original Tile Entity, but I'm not sure if there would be an easy way to make it generic... you might have to add each mod support individually.
Mod Author and Owner of Blockhole
Owner of other discontinued or status frozen work: LimpCraft2, LimpCore, InventoryCalculator, VillageTech, Bitto'Color.
Using hacky workarounds you could get the GUI to work for the client to interact with it, but you could not automate it, because it simply doesn't exist server-side. And even if it did, you would have to add support for every single GUI in every single mod.
If I helped you, please click the green up arrow.
Ehh, perhaps I'll make a manipulator of sorts in my current mod later down the line. I don't think it would be nearly as hacky as you might think at first glance. But nevertheless, it wouldn't be impossible. The GUI doesn't store data on its own, so every client with the mod has it. All you have to do is get the block and call the onRightClick method using your player to make your client open the GUI of the block, despite however far away you may be. Should be fairly simple to implement using either coordinate programming or block linking back to the manipulator. How do you think stuff like wireless access terminals in Applied Energistics works? It shouldn't have to be manually added either, despite what I was originally thinking.
Mod Author and Owner of Blockhole
Owner of other discontinued or status frozen work: LimpCraft2, LimpCore, InventoryCalculator, VillageTech, Bitto'Color.
Yes, that would work. As long as the player meets the requirements for keeping the GUI open (which are normally a check that the block exists and is in range). I assume AE uses a check to ensure the held item is a wireless terminal and that the network transmitter is close enough. Those are the bits you would have to get around and handle for every GUI.
And that still doesn't mean that the GUI can be automated, just viewed from elsewhere.
If I helped you, please click the green up arrow.