Better input/output face arrangement for machines

Discussion in 'Suggestions' started by Ezer'Arch, May 21, 2014.

  1. ProxiByte

    ProxiByte Member

    Joined:
    Feb 5, 2016
    Messages:
    1
    Likes Received:
    0
    i hate having to figure out where the input and output for the machines are so can you set up a thing like thermal expansion has where you can pick where the input, output and power is
     
  2. Ezer'Arch

    Ezer'Arch Administrator
    Staff Member

    Joined:
    May 18, 2013
    Messages:
    1,560
    Likes Received:
    429
    I agree with this but I'm not sure if this is easy to implement.

    My idea would be:
    1. Engineer mode: Shift-wrenching a machine would open a UI where you can swap the faces except the front face which is your reference.
    2. Each machine has its default face arrangement. When you place the machine, the mod will use the default face arrangement.
    3. What about the old machines? They will use the default face arrangement which is the same of today's. No mess up machines.
    Similar ideas:
     
    #22 Ezer'Arch, Feb 6, 2016
    Last edited: Feb 6, 2016
  3. radfast

    radfast Administrator
    Staff Member

    Joined:
    Apr 27, 2014
    Messages:
    1,144
    Likes Received:
    352
    Maybe something for GC4? This is one thing which might actually be easier to code under MC1.8.
     
  4. pra

    pra Member

    Joined:
    Mar 7, 2015
    Messages:
    331
    Likes Received:
    118
    Hm, I added a machine to my GC mod recently, and I actually was thinking of making it configurable like that. Most difficult part would probably be the GUI... But in the end, you would just have to store the side<-->i/o association in the TileEntity, which handles most of that stuff anyway, and then save/load it to/from NBT. Then the block would need to access the tile entity in order to return the correct texture for it's sides. If done right, this could actually make it simpler to add new machines afterwards, too.
     
  5. Adarcer

    Adarcer Member

    Joined:
    Oct 11, 2016
    Messages:
    3
    Likes Received:
    1
    My only pet peeve about this mod is the lack of customizable input/output of the machines. something sort of like thermal expansion or ender IO . i would love the ability to wire and pipe up the machines as i would like.

    this IMO would be the best improvement to the mod at the time.
     
  6. Ezer'Arch

    Ezer'Arch Administrator
    Staff Member

    Joined:
    May 18, 2013
    Messages:
    1,560
    Likes Received:
    429
    Merged 4 similar topics for deeper discussion with a wider audience.
     
    #26 Ezer'Arch, Oct 15, 2016
    Last edited: Oct 15, 2016
    AugiteSoul likes this.
  7. Proxy_PlayerHD

    Joined:
    Apr 5, 2014
    Messages:
    67
    Likes Received:
    1
    why even use Input/Output sides?
    Energy should be accepted from any side.
    and automatic In/Out could be done like TE, or just no Auto-In/Out at all... so that you need to use something like Item Conduits to Input/Output Items.
     
  8. RurouniTim

    RurouniTim Member

    Joined:
    Oct 22, 2016
    Messages:
    2
    Likes Received:
    0
    I'd certainly enjoy if inputs and outputs worked more like they do in TE or IC2. I like having a condensed machine area which means I have to currently just memorize which machine is which without being able to see its front block. It's not a dealbreaker or anything, but it's just one of those features that would be an overall improvement in my opinion.
     
  9. radfast

    radfast Administrator
    Staff Member

    Joined:
    Apr 27, 2014
    Messages:
    1,144
    Likes Received:
    352
    I am aware this is something people have been asking for for some time.

    There is a "window of opportunity" to make a few changes currently in the GC4 betas.


    Here are my current thoughts.

    I am not willing to implement an EnderIO / Thermal Expansion style system. That's a system where up to all 6 faces of each block are configurable as different energy / fluid / item inputs/outputs, or inputs/outputs can be switched off, using an internal GUI made for this. Four good reasons why I am not willing to do this:

    (1) EnderIO and Thermal Expansion are purely tech / connection mods, it makes sense for them to spend a lot of detail on stuff like input/output configurations, but Galacticraft is not that type of mod at all: at its heart, Galacticraft is about getting the player into space not messing about with machine configurations

    (2) Galacticraft aims for simplicity, with its energy and fluid pipe systems - for example there's only (2-3) types of energy connection and 1 type of fluid pipe, and everything starts working immediately when you place the blocks - that's our intention anyhow - this simplicity also makes Galacticraft more accessible for younger players (simplicity for players - we're actually fairly sophisticated 'under the hood' with high performance code for energy distribution which outperforms every other mod, even though we are at the same time compatible with more types of energy than any other mod)

    (3) A major change of this nature would be incredibly time-consuming for the developers and take the focus away from other more fun development in Galacticraft, it would also be likely to give rise to a lot of support issues, as it's almost guaranteed that there would be bugs and issues in any new system

    (4) It's actually not to my taste - I kind of like Thermal Expansion + Thermal Foundation, some parts of their system work in a way I like (for example the yellow / blue / red corners on the usable faces of Energy Cells): but EnderIO I think looks "un-Minecraft" and doesn't fit with the aesthetic of the game and other mods.

    So let's talk about what I can consider doing!

    A. The system needs to be simple, it needs to be clear from just looking at the machine what each face is for, and every machine needs to work from its default faces when first placed, without any configuration needed

    B. The functionality of every face needs to be present always - not going to have options where (for example) the fluid pipe input can be switched on or off

    C. The default arrangement for each machine needs to say the same as it is now, so that players who don't change the configuration will not notice any change - I don't want anything which breaks existing builds

    D. I don't want anything which changes the existing GUIs in Galacticraft or the existing textures of the machines - we're just talking here about which texture is drawn on which face

    E. Changes to the configuration have to be possible with the Standard Wrench alone. I'm OK with the possibility of wrench-click for a simple rotation, and Shift (Sneak)-wrench-click to make a more complicated change - similar to the Configurator item in IC2

    F. The bottom face of each machine normally needs to be kept clear, as that's where a Hopper can go for output (the three Tier 2 gas machines are different as they are mainly about outputting gases or liquids, not items, so that's why those machines have energy on their bottom face)

    What all this is pointing to is actually a fairly straightforward change. We can have a system where the front face of each machine, with the graphic, can be changed by using Shift-wrench-click. The front would "trade places" with whichever other face of the machine is Shift-wrench-clicked.

    I think this simple change would cover 95% of what people are asking for in this thread. It would let people build a "wall of machines" without visible energy connections. But machines needing pipe or item connections might still have to have those on show. It would also let people build some machines in the floor, which is how I like building sometimes.

    There are some machines where some faces would not be options for the front face - for example Fuel Loaders or Cargo Loaders backing onto landing pads. And something like the Astro Miner Dock won't be changing at all.

    DISCLAIMER : although I'm opening this for discussion I am not promising to implement any of this in GC4. It might prove to be difficult or impossible, for some coding reason I haven't thought of. There might simply not be time for me to fit this in before release, and it might be world-breaking to change something like this after release.
     
    Ezer'Arch likes this.
  10. Proxy_PlayerHD

    Joined:
    Apr 5, 2014
    Messages:
    67
    Likes Received:
    1
    1. Ender IO and Un-minecraft. pfft. Ender IO is a essential Mod for Automation and Tech all together.
    2. How about... no faces. You purly determine waht goes in and out of a machine via Pipes... kinda like Mekanism's Pipes, where you just got a Tool to tell a Pipe to either Extract or Insert stuff into a Block.
    and Energy can go from all sides.

    Only downside to this, It wouldn#t be possible for a machine to auto-eject stuff into adjected Inventories, like Chests.
     
  11. Ezer'Arch

    Ezer'Arch Administrator
    Staff Member

    Joined:
    May 18, 2013
    Messages:
    1,560
    Likes Received:
    429
    Just an idea. I tried to keep it as simple as possible.

    [​IMG]

    How it would work:
    • When you place a machine, it will use the default I/O face setup honoring the direction the player is facing to, that is, exactly as of today (not to break old worlds).
    • Only the "rotatable" faces are displayed in the UI. The others are protected: front, top (if air output), bottom (if air intake) and others that the developer wants to (e.g. for hoppers).
    • The front face is your reference and can't be rotated.
    • The rotatable faces can be rotated only to non-protected faces.
    • Cycle through options: Left, Right, Back, Bottom, and Top sides. (I hated the "East/West/North/South/Top/Bottom" side thing from Electrical Expansion. I had to press F3 all the time)
    • The button goes red if you choose an invalid option (e.g. two faces on the left side).
    • Tooltip will tell you what a face is for: connection type {wire, liquid, gas} + input or output, \n the material {energy, fuel, oxygen, hydrogen, methane, items} + unit {gJ, mB}. (It doubles as a Manual)
     
    #31 Ezer'Arch, Apr 10, 2017
    Last edited: Apr 10, 2017
  12. radfast

    radfast Administrator
    Staff Member

    Joined:
    Apr 27, 2014
    Messages:
    1,144
    Likes Received:
    352
    I definitely don't want a new custom GUI for each machine. GUIs are ultra-time consuming to code, compared with the benefits.

    But the rest of these ideas are good, I understand about the front face as the reference face. What if I make it possible to do this by cycling through 4 or 6 possibilities using Shift-Wrench-Click?
     
    #32 radfast, Apr 10, 2017
    Last edited: Apr 10, 2017
    Ezer'Arch likes this.
  13. Ezer'Arch

    Ezer'Arch Administrator
    Staff Member

    Joined:
    May 18, 2013
    Messages:
    1,560
    Likes Received:
    429
    I've got a GUI-less idea:
    • Shift-wrench an I/O face to select it.
    • Print "Advanced wrench mode: Select another face to swap with." on screen.
    • Shift-wrench another face.
    • Immediately the 1st and the 2nd selected faces swap sides.
    - If the face is protected, the player will be prompted to select other face.

    - Protect the front face? I'm inclined to since you can use the normal wrench mode to rotate it. I predict the player will place the machine with the front face right and then will try to tweak the I/O faces for aesthetics (to hide cables/pipes beneath or behind the machine) or easier cabling/piping. Unless we want the player to be able to see the machine's front face in any direction (such as, free fall in a space station?).

    - As to "needs to be clear from just looking at the machine": some machines still use the blank face graphic for functioning sides, e.g. Methane Synthesizer (top), geothermal generator (top), Gas Liquefier (top, back, right). A specific graphic will tell the player those sides have a use, must be clear and/or can't be rotated.
     
    #33 Ezer'Arch, Apr 10, 2017
    Last edited: Apr 10, 2017
  14. radfast

    radfast Administrator
    Staff Member

    Joined:
    Apr 27, 2014
    Messages:
    1,144
    Likes Received:
    352
    Looks like I should never say never, lol. :)
     
    Ezer'Arch likes this.
  15. Proxy_PlayerHD

    Joined:
    Apr 5, 2014
    Messages:
    67
    Likes Received:
    1
    [Internal Happyiness]
    Automation is gonna be way easier.
    lastly tho, how about ALL faces should accept Power, and a I/O face, which can work for both In and output at the same time.
    Because you know, Ender IO is awesome.
     
  16. Ezer'Arch

    Ezer'Arch Administrator
    Staff Member

    Joined:
    May 18, 2013
    Messages:
    1,560
    Likes Received:
    429
    Seems I should have taken the Keep-It-Simple-Stupid approach since the beginning. :)
     
  17. radfast

    radfast Administrator
    Staff Member

    Joined:
    Apr 27, 2014
    Messages:
    1,144
    Likes Received:
    352
    Did you try out 1.8 / 10 / 11 build 64 yet? Try sneak-wrenching Electric Furnace or Electric Arc Furnace, or Energy Storage Module (or Cluster). Let me know what you think?

    I think micdoodle8 has some ideas here as well, so this sneak-wrenching may just be a placeholder.
     
  18. Ezer'Arch

    Ezer'Arch Administrator
    Staff Member

    Joined:
    May 18, 2013
    Messages:
    1,560
    Likes Received:
    429
    [​IMG]
    [​IMG]



    Excellent!


    The only issue is if I go away and the chunks are unloaded and I'm back, the furnaces lost their face rotation, the energy module was okay.
     
    #38 Ezer'Arch, Apr 17, 2017
    Last edited: Apr 20, 2017
  19. radfast

    radfast Administrator
    Staff Member

    Joined:
    Apr 27, 2014
    Messages:
    1,144
    Likes Received:
    352
    > The only issue is if I go away and the chunks are unloaded and I'm back, the furnaces lost their face rotation

    Thanks, I forgot to save to disk in the Electric Furnace. Fixed from build 70.
     

Share This Page