---------------------General Operation--------------------------

	1) Overview
Pick a floodgate or a valve and rename it (yes, now you can!) if u make its name start by "afl_" (like AutoFloodgateLevel) then it will be taking into account by this mod.
The next step is to bind some Automation element to it. 
These Automation elements will define the value of height or amount of liquid for the floodgate or valve they are bound to.
As an Automation element can only output true or false we will need to communicate that value in binary.
So each Automation element will hold a single bit of the binary number coding the height/amount.
You can bind up to 8 automation elements (i.e. a standard byte : an octet) as we need to be able to provide a number between 0 and 200 for the throttling valve which goes from 0.00 to 2.00 m³/s (so the number will be divided by 100)

	2) The binding
The binding is done simply by using the name of the involved elements.
First you must choose a unique group name.
Then you will rename the element you want to control (which must be a floodgate or a valve) with the prefix "afl_" followed by the group name.
To bind an automation element to that controlled element just name it with the "afl_" prefix followed by the group name and finish by the suffix "_0", "_1", "_2", ... or "_7".
The bound automation element ending by 0 will control the 2^0 bit, The bound automation element ending by 1 will control the 2^1 bit, and so on.

example : 
if you name the floodgate "afl_something" then any automation element named "afl_something_0" will control the weakest bit of the binary number coding the index of the current recipe.



---------------------How the value is interpreted--------------------------

For "throttling valves" as we said we need up to 8 automation elements to cover the needed range 0 to 200
So the binary number once converted into decimal will be divided by 100 and will set the "flow limit" of that throttling valve to that value.

For "fill valves" we need up to 4 automation elements to cover the needed range 0 to 100 divided by 5 (cause the step in the UI is not 0.01 but 0.05 : u can't set it to 0.02 it goes directly from 0 to 0.05)
So the binary number once converted into decimal will be multiplied by 5 and divided by 100 and will set the "target height" of that fill valve to that value.

Finally for "floodgates" we need up to 5 automation elements to cover the needed range 0 to 300 divided by 5 (same reason as for the fill valves). The resulting number (once multiplied by 5 and divided by 100) will set the height of that floodgate.





---------------------Control multiple at once--------------------------

You can have multiple controlled elements in a group but they must all be the same type (i.e. you have to keep floodgate in a group containing only floodgates (and automation elements), and the same thing is true for "throttling valves" and for "fill valves" : they all must be seperated from each other).
As each name prefixed with afl_ must be unique, another prefix is used : @ . After that arobase (that the french name for "at sign", I will use it here as it's a single word so it's more handy) you can add anything you want as long as the resulting name is unique. Note though that the arobase part itself doesn't have to be unique : no issue with having an element named afl_group1@another and another element named afl_group2@another.

So with the previous example, you can have a second floodgate which will follow the same "memory" made of multiple automation elements, you just have to name it "afl_something@another" and you can add as many as you want by changing the arobase part (afl_something@hello or afl_something@world...)



---------------------By the way--------------------------

I know such a system might be a little "too much", it was great for recipe selection in my previous mod (ohTomatoRecipe) which is the father of this one, but I've kinda reach the limit of such a system as we need a whole byte for the throttling valve so it's a bit (no pun intended) tedious; that's why i also created another : EzAutoFloodgateLevel , it works like this one but instead of using a binary number you directly set the decimal value in the automation element name; check it if you prefer an easier system ;)