GregTech icon indicating copy to clipboard operation
GregTech copied to clipboard

Allow placing Machine Controller cover on Large Boilers

Open OneEyeMaker opened this issue 4 years ago • 14 comments

... or just add another simple way to turn on and off such multiblocks by redstone signal.

As of right now the only way I found to control Large Boiler is by controlling the amount of fuel in input buses/hatches of multiblock. This is pretty tricky and complicated, especially if you use fuel with high energy efficiency. There should be easy way to control activity of Large Boiler, like Machine Control cover (which right now doesn't. supported by the controller).

In another words: If I can turn off my EBF when battery buffer is discharged, why can't I turn off my boiler when battery buffer is fully charged?

GTCE version: 1.10.0.546

OneEyeMaker avatar Aug 29 '20 08:08 OneEyeMaker

I asked for the same purpose "Redstone signal detector #1155"

In YouTube there is a video where the boiler automation is shown through the battery buffer charge control. GT5 version. A block coating was used, which produced a different Redstone signal depending on the battery level. It would be nice to add something similar in GTCE.

mgun82 avatar Aug 29 '20 10:08 mgun82

First of all @mgun82 I am sorry because I probably misunderstood what exactly you were asking in #1155. Because you check how Battery Buffer is full via Redstone and it is done via Vanilla MC Redstone Comparator as shown on image bellow. 2020-08-30_09 14 19

LAGIdiot avatar Aug 30 '20 07:08 LAGIdiot

Now for original question. I believe that Large Boilers were designed to always run and not to be turned on/off frequently. Because of heating and cooling period which mostly wastes fuel. You can use throttling mechanism to specify amount of steam (energy) it produces but that does not cover your case of usage.

Regarding covers they were designed so that they can't be place on "face" of machines (and I would like to preserve this rule) which in this case prevents it from working. Making block which would have same functionality as cover does not feel right with current design and I can't think of any other solution to this.

So I would like you or community to propose something which could be applied in this case.

LAGIdiot avatar Aug 30 '20 07:08 LAGIdiot

@LAGIdiot

  1. Thoughts about design of boilers. As any GTCE machine, bolers should support Machine Controller cover. I agree, that covers shouldn't be placed on front side. In previous "lives" (iterations of project) of GT (like GT5U) there was solution: there was Redstone Detection cover; one can be attached to block adjaced to controller so it "connects" with Machine Controller cover. In such setup machine can be controlled through this adjacent block. So there can be two solutions for issue: implementing Redstone Detection cover (and use solution from the past) or to allow Machine Controller cover to check strong redstone signal on adjacent block (so it can be activated "through" block). In second case I can attach Controller cover to the bottom of Large Boiler controller and apply strong redstone signal to firebox casing (using repeater, for example).

  2. Note about efficiency. Right now uncontrollable boiler is much more inefficient, because boiler just wastes fuel when output hatches are full. Pumping fuel out of hatches (when you want to turn this generator off) just complicates setup and doesn't solve issue either. Also heating boiler "from zero" doesn't waste so much fuel. In one hand, fuels with low energy density (like Creosote) are so plentiful and easy to produce so you can just ignore loose of some buckets of ones. In another hand, to heat up boiler with energy-dense fuels (like Cetane-Boosted Diesel) you need just tiny amount of it; at stage when you can produce Cetane-Boosted Diesel (or similar fuel) these drops doesn't matter.

  3. There's no automatic way to throttle boiler when you want to limit energy production. ...Maybe, except some very specific OpenComputers drivers... But that's overcomplication anyway.

OneEyeMaker avatar Aug 30 '20 09:08 OneEyeMaker

Прежде всего @ mgun82 Мне очень жаль, потому что я, вероятно, неправильно понял, о чем именно вы спрашивали в # 1155 . Потому что вы проверяете, насколько заполнен аккумуляторный буфер через Redstone, и это делается через Vanilla MC Redstone Comparator, как показано на изображении ниже. 2020-08-30_09 14 19

First of all, I want to thank you for the answer, it helped a lot. The first time I put the question wrong, so You misunderstood me. Thank you again!

mgun82 avatar Aug 31 '20 07:08 mgun82

Why not implementing both solution (from the past and allowing for stong signal detection) and adding a Throtle control cover wich would regulate the Throtle of the machine base on signal strenght ? Covers would still ne on face of machines. Putting covers on multiblock controller would require some changes in controller fonctionnement I think but nothing breaking.

galyfray avatar Nov 15 '20 08:11 galyfray

(1) First thing regarding this would be solving problem that you can't place covers on blocks which does not have capability for them like blocks from which boiler is formed. This could be probably done by registering for every block where is it's controller (more than one can be available as blocks may be shared between multiblocks) is. This may not even be required to be saved to NBT (not sure about it). Question is how to handle input/output blocks which provides some capabilities? And then on placement checking if controller is present and allow placing cover and tie it to controller. This would present another problem (2) which is Machine controller could have more than one machine available for which it was not designed - which may present quite challenge to redesign.

I think this could be handled by creating new cover which will handled throttling plus allows shutdown of boiler. Of course problem 1. will still need to be solved. Any though on this?

Also if possible I would like not to allow placing cover on front face.

LAGIdiot avatar Nov 18 '20 09:11 LAGIdiot

Why not just allow certain covers to be placed on any GT block ? Like a redstone repeating cover which would simply get thé current redstone signal it get ans repeat it on all side (or only the opposite one on config ) with same strenght ? With this no need to register where is the controller other covers needing special capabilities would not work on general blocks . This will need a New type of cover which doesn't need block capabilities. With this the controller still have only one block to controll

galyfray avatar Nov 18 '20 10:11 galyfray

I messed a bit with how I use capabilities I forget this terme is for multiblock part with special behavior

galyfray avatar Nov 18 '20 10:11 galyfray

GTCE does not have capability which would allow placing only specific cover. It is either all or none as logic for cover placement is quite difficult. Also it would be nearly impossible to explain players why some covers can be used and some not on same block. Also I am not sure if you can propagate and react to redstone signal change without tileentity.

LAGIdiot avatar Nov 18 '20 16:11 LAGIdiot

GTCE does not have capability which would allow placing only specific cover. It is either all or none as logic for cover placement is quite difficult. Ow that aproblem ...

Also I am not sure if you can propagate and react to redstone signal change without tileentity. yep might not be possible ...

Also it would be nearly impossible to explain players why some covers can be used and some not on same block. you know i'm barrely sure that everyone would understand why you can't place filter, machine controller or conveyors on hulls ...

galyfray avatar Nov 18 '20 20:11 galyfray

What about adding a new option "automatic throttle", depending on steam level in output hatch? Like in thermal expansion dynamos. Something like throttle = 100% - 80% * steam in hatch / hatch volume. I think it will cover most cases and seems easy to implement.

amelentev avatar Dec 15 '20 21:12 amelentev

Here is a prototype for auto throttle: https://github.com/GregTechCE/GregTech/compare/master...amelentev:feature/largeBoilerAutoThrottle (disclaimer: zero mc-dev experience. tested in FTB:I modpack) I'm not sure it is right "spirit" for gregtech. Personally I think some redstone control for on/off/throttle will still be useful and more fun. WDYT?

amelentev avatar Dec 17 '20 00:12 amelentev

Wouldn't a new multiblock part fix this problem? Something like a "Multiblock contoller proxy"

This new block;

  • can be placed anywhere a part (e.g. a hatch or bus) is allowed.
  • would follow the normal rules that it can't be shared between multiblocks
  • doesn't have a "front facing" to stop you placing covers (although you could just wrench it out of the way if it did)
  • would do nothing unless the multiblock structure is formed
  • when the structure is formed, it proxies the multiblock controller's capabilities

Recipe would be something like a machine hull + circuit

warjort avatar Feb 10 '21 07:02 warjort