OpenClonk Bugtracker - OpenClonk
View Issue Details
0001871OpenClonkObjectspublic2016-12-19 19:282018-12-27 19:55
Assigned ToMarky 
PrioritynormalSeverityminorReproducibilityhave not tried
PlatformOSOS Version
Product Versiongit master 
Target Versiongit masterFixed in Version 
Summary0001871: Improvements to liquid system
DescriptionSome improvements that can be made:
* Allow multiple drain pipes for the pump and assign priority (interaction menu).
* [Done] Let a pump only pump certain liquids (interaction menu).
* [Done] Allow to pump from a tank like the steam engine or foundry.
* [Done] Create a tank structure which can hold more liquid O(10000) pixels.
* Give the pipe a mode where it floats on liquids, this can be useful in general, but also in the future for pumping concrete.
* Allow to block the pipe at its end, so that one does not pump water into places while transporting the pipe.
* Transfer liquid from barrel to foundry works, but back is a pain and the barrel needs to be opened before. Make this easier by looking into possible liquid containers in the clonk as secondary option.
* Use new type effects in the libraries.
* Implement a proper check when swapping pipelines at the pump.
* [Done] Implement proper checks for air pipes and their connections, they sometimes transform drains to source pipes and vice versa, i.e. the pump can have two drains.
* [Done] Fix the liquid test scenarios.
* Improve the liquid test scenarios.
* [Done] Move cut pipes into the inventory of the clonk if a free slot is available.
* [Done] Fix issues with disconnecting multiple lines of refinery drain in Rapid Refining.
* Add an easier way to attach and detach pipes from the diving helmet.
  Note: Attaching to the diving helmet is possible via inventory already.
  Cutting the lines is more complicated, though.
TagsNo tags attached.
Attached Files

2016-12-20 08:55   
Concerning the last point -> I think you should be able to drag and drop the liquid into a barrel right now, but I may be mistaken.
2016-12-20 21:40   
There is no drag and drop. I will try to implement some of these features.
2018-01-12 11:04   
I want to implement many of these, also because I am working with pipes on a private branch.
2018-01-13 10:33   
What are the issues in the refinery drain?
2018-01-13 10:42   
I will fix these, I am also working on this list a bit and other problems that appear while testing. The refinery drain accepts multiple drain pipes because it allows to fulfill the goal faster, but removing them but the last connected one is impossible.
2018-01-13 10:52   
Ok. Concerning the list: I think that the tests should be fixed already - at least I had a look at the tests not too long ago and I automated those tests with the air pipes.

I will definetely not do the one where the pump floats on something, because I do not understand the description.
I'd do the one with pipe blocking and transferring liquids back to the Clonk/barrel.
2018-12-25 14:08   
What about restricting liquids in the containers to the material IDs? Originally I designed the system, having in mind that certain objects (pump) use material strings as an input, but most of the time we have the liquid as an object anyway, or you want something that you can display, so maybe changing the whole system to ID-only is worthwhile. I actually started that conversion, but reverted the changes when I came to the metal barrel (because it accepts really every liquid, but then there should be objects again, shouldn't they?)

 The only problem I can see is that DuroLava turns into Lava (or is there a DuroLava object?)
2018-12-27 19:55   
Multiple drains and sources should be a general thing in the tank library, but it is unclear what the priority should do then, or if we should just allow multiple supply strategies to choose from? Strategies could be: distribute among drains equally / fill least effort first (=fill containers where you have to fill the least first) / fill largest effort first...

With a pump this seems easy, because it pushes the liquid to the containers. What about the other way, where a producer might request values from a tank or other supplier? In this case the source/drain logic is relative... of course, the pump adds a drain to the tank. Now, if the tank is connected to a producer that is a source for the producer, but a drain for the tank...

Issue History
2016-12-19 19:28MaikelNew Issue
2016-12-19 20:12MaikelDescription Updatedbug_revision_view_page.php?rev_id=1299#r1299
2016-12-20 08:55MarkyNote Added: 0005553
2016-12-20 21:40MaikelNote Added: 0005556
2016-12-25 16:52MaikelDescription Updatedbug_revision_view_page.php?rev_id=1302#r1302
2016-12-26 19:23MaikelDescription Updatedbug_revision_view_page.php?rev_id=1303#r1303
2016-12-26 19:24MaikelDescription Updatedbug_revision_view_page.php?rev_id=1304#r1304
2016-12-26 19:26MaikelDescription Updatedbug_revision_view_page.php?rev_id=1305#r1305
2016-12-26 19:31MaikelDescription Updatedbug_revision_view_page.php?rev_id=1306#r1306
2018-01-12 08:05MaikelDescription Updatedbug_revision_view_page.php?rev_id=1351#r1351
2018-01-12 08:05MaikelDescription Updatedbug_revision_view_page.php?rev_id=1352#r1352
2018-01-12 11:02MarkyAssigned To => Marky
2018-01-12 11:02MarkyStatusnew => assigned
2018-01-12 11:04MarkyNote Added: 0006040
2018-01-13 09:58MaikelDescription Updatedbug_revision_view_page.php?rev_id=1353#r1353
2018-01-13 10:07MaikelDescription Updatedbug_revision_view_page.php?rev_id=1354#r1354
2018-01-13 10:07MaikelDescription Updatedbug_revision_view_page.php?rev_id=1355#r1355
2018-01-13 10:33MarkyNote Added: 0006043
2018-01-13 10:41MaikelDescription Updatedbug_revision_view_page.php?rev_id=1356#r1356
2018-01-13 10:42MaikelNote Added: 0006044
2018-01-13 10:52MarkyNote Added: 0006045
2018-01-24 17:28MaikelDescription Updatedbug_revision_view_page.php?rev_id=1361#r1361
2018-01-24 18:17MaikelDescription Updatedbug_revision_view_page.php?rev_id=1362#r1362
2018-12-25 14:08MarkyNote Added: 0006196
2018-12-25 14:11MarkyDescription Updatedbug_revision_view_page.php?rev_id=1382#r1382
2018-12-25 14:55MarkyDescription Updatedbug_revision_view_page.php?rev_id=1383#r1383
2018-12-27 19:55MarkyNote Added: 0006197