Open Computers Crop Breeding: Difference between revisions

Content added Content deleted
m (→‎Building the Robot: cleanup, link)
m (Changed Robot Inventory Photo, removed a step in building the robot by combining two lines of code, and removed notable changes section.)
Line 1: Line 1:
== Introduction ==
== Introduction ==
[https://github.com/DylanTaylor1/ic2-crop-automation These Open Computers (OC) scripts] will automatically tier-up, stat-up, and spread (duplicate) crops for you. Open Computers is a very powerful yet complicated mod using custom scripts, but fear not. I have made everything here as straight forward as possible to help you get your crop bot running in no time.
[https://github.com/DylanTaylor1/ic2-crop-automation These Open Computers (OC) scripts] will automatically tier-up, stat-up, and spread (duplicate) crops for you. OC is a very powerful yet complicated mod using custom scripts, but fear not. I have made everything here as straight forward as possible to help you get your crop bot running in no time without any prior knowledge of OC.


==Bare Minimum Components==
==Bare Minimum Components==
Obtaining these components will require access to EV circuits and epoxid (late HV). This is because you need an internet card to pull the scripts from GitHub (it is possible to create all the files manually and then copy and paste the code from GitHub, but that is not recommended). The CPU and Graphics Card can be replaced by a single APU if you feel so inclined. Both inventory upgrades are necessary.
Obtaining these components will require access to EV circuits and epoxid (late HV). This is because you need an internet card to pull the scripts from GitHub (it is possible to create all the files manually and then copy and paste the code from GitHub, but that is not recommended). The CPU and Graphics Card can be replaced by a single APU if you feel so inclined. Both inventory upgrades are necessary.
[[File:Robot Components.png|thumb|400x400px|Bare minimum components inside the OC Electronics Assembler.]]
[[File:Robot Components.png|thumb|400x400px|Bare minimum components inside the OC Electronics Assembler.]]
* '''OC Electronics Assembler '''
*'''OC Electronics Assembler '''


*'''OC Charger'''
*'''OC Charger'''
*'''Tier 3 Computer Case'''
*'''Tier 3 Computer Case'''


* '''Tier 2 Central Processing Unit'''
*'''Tier 2 Central Processing Unit'''
* '''Tier 2 Memory'''
*'''Tier 2 Memory'''


*'''Tier 1 Graphics Card'''
*'''Tier 1 Graphics Card'''
Line 29: Line 29:


==Building the Robot==
==Building the Robot==
[[File:Robot_Inventory.png|thumb|Inventory of the robot.]]
[[File:Robot Inventory3.png|thumb|292x292px|Inventory of the robot.]]
# Insert the computer case into the OC Electronics Assembler which can be powered directly by any GT cable
# Insert the computer case into the OC Electronics Assembler which can be powered directly by any GT cable.
# Shift-click all of the parts into the computer case except the OpenOS floppy disk
#Shift-click all of the components into the computer case except the OpenOS floppy disk.
# Click assemble and wait until it completes
#Click assemble and wait until it completes (~3 min).
# [[Rename]] the robot
#[[Rename]] the robot.
# Place the robot down on the OC Charger which can also be powered directly by any GT cable
#Place the robot on the OC Charger which can also be powered directly by any GT cable. The OC Charger must be activated using some form of redstone such as a lever.
# Insert the OpenOS floppy disk in the disk slot of the robot and press the power button
#Insert the OpenOS floppy disk into the disk slot of the robot and press the power button.
# Follow the commands on the screen "install" --> "Y" --> "Y" (Note: The OpenOS floppy disk is no longer needed in the robot afterwards)
# Follow the commands on screen "install" --> "Y" --> "Y" (Note: The OpenOS floppy disk is no longer needed in the robot afterwards).
# Copy the following line of code into the robot (middle-click to paste) and hit enter: <code>wget https://raw.githubusercontent.com/DylanTaylor1/ic2-crop-automation/main/install.lua</code>
#Install the required scripts by copying this line of code into the robot (middle-click to paste) <code>wget [https://raw.githubusercontent.com/DylanTaylor1/ic2-crop-automation/main/install.lua https://raw.githubusercontent.com/DylanTaylor1/ic2-crop-automation/main/setup.lua && setup]</code>
# Install the rest of the scripts by entering: <code>./install</code>
#Edit the config (not recommended, but check it out) by entering: <code>edit config.lua</code>
#Place the Spade and Transvector Binder into the last and second to last slot of the robot, respectively. Crop sticks will go in the third, but it is not required to put them in yourself. An axe or mattock can also be placed into the tool slot of the robot to speed up destroying crops (optional). See image to the right.
# Edit the config (not recommended, but check it out) by entering: <code>edit config.lua</code>
# Place the Spade and Transvector Binder into the last and second to last slot of the robot, respectively. Crop sticks will go in the third, but it is not required to put them in yourself. An axe or mattock can also be placed into the tool slot of the robot (optional) to speed up destroying crops. See image to the right.


==Building the Farms==
==Building the Farms==
First off, it is recommended to set everything up in a Jungle or Swamp biome at Y=130 as that will give you the highest humidity and air quality stats. This is most easily done in a personal dimension which you earn as a quest reward from reaching the moon. Do not place any solid blocks above the farm as that will reduce the air quality. All of the machines on the surface are waterproof so do not worry about the rain. Use vanilla dirt because that will allow you to grow crops that require a particular block underneath, and boost the nutrient stat of your crops. The whole farm can easily fit into a single chunk for easy chunk loading.<br>
First off, it is recommended to set everything up in a Jungle or Swamp biome at Y=130 as that will give you the highest humidity and air quality stats. This is most easily done in a personal dimension which you earn as a quest reward from reaching the moon. Do not place any solid blocks above the farm as that will reduce the air quality. All of the machines on the surface are waterproof so do not worry about the rain. Use vanilla dirt because that will allow you to grow crops that require a particular block underneath, and boost the nutrient stat of your crops. The whole farm can easily fit into a single chunk for easy chunk loading.<br>


'''You may change both the size of the working farm and the size of the storage farm''' in the config (default is 6x6 and 9x9, respectively). Larger working farm sizes will extend left and up while larger storage farm sizes will extend down and to the right (see image below). The top row of the working farm will always align with the top row of the storage farm. There is no maximum or minimum size for either farm and it does not matter if the lengths are even or odd. Note that larger storage farm sizes will leave your working farm more susceptible to weeds because the robot will have to travel further when transporting crops which means less time spent scanning the working farm. Also note that the maximum range for the transvector dislocator is 16 blocks. Changing anything in the config, including these sizes, requires you to restart your robot.
'''You may change both the size of the working farm and the size of the storage farm''' in the config (default is 6x6 and 9x9, respectively). Larger working farm sizes will extend left and up while larger storage farm sizes will extend down and to the right (see image below). The top row of the working farm will always align with the top row of the storage farm. There is no maximum or minimum size for either farm and it does not matter if the lengths are even or odd. Note that larger storage farm sizes will leave your working farm more susceptible to weeds because the robot will have to travel further when transporting crops which means less time spent scanning the working farm. Also note that the maximum range for the transvector dislocator is 16 blocks. ''Changing anything in the config requires you to restart your robot.''


[[File:Farm Top 2.png|center|thumb|779x779px|Top-View of the farm. There MUST be a block on top of the water sources.]]
[[File:Farm Top 2.png|center|thumb|779x779px|Top-View of the farm. There MUST be a block on top of the water sources.]]
[[File:Farm Side.png|center|thumb|783x783px|Side-View of the farm. There MUST be a block on top of the water sources.]]
[[File:Farm Side.png|center|thumb|783x783px|Side-View of the farm. There MUST be a block on top of the water sources.]]


First note the orientation of the robot sitting atop the OC charger. It must face up towards the right-most column of the working farm. The crop stick chest directly next to the charger can be a few things: any sort of chest, a JABBA barrel, or storage drawer (orientation does not matter). If the crop stick chest is ever empty, bad things will happen. In the image, I have a trash can on the other side of the crop stick chest because I do not want any drops beyond the target crop, but this can be a second chest if you do want random drops. On the same y-level as all of the chests, the transvector dislocator sits facing the top of the blank farmland (where a crop would go). Think of this as a buffer between the working and storage farms. You can tell which direction the transvector dislocator is facing by the side that is animated. The last spot is for a crop-matron which is optional and one y-level lower than the rest of the blocks. It is just to hydrate most of the crops to help them grow a little faster.<br>
First note the orientation of the robot sitting atop the OC charger. It must face towards the right-most column of the working farm. The crop stick chest directly next to the charger can be a few things: any sort of chest, a JABBA barrel, or storage drawer (orientation does not matter). If the crop stick chest is ever empty, bad things will happen. In the image, I have a trash can on the other side of the crop stick chest because I do not want any drops beyond the target crop, but this can be a second chest if you do want random drops. The transvector dislocator sits facing the top of the blank farmland (where a crop would go). Think of this as a buffer between the working and storage farms. You can tell which direction the transvector dislocator is facing by the side that is animated. The last spot is for a crop-matron which is optional and one y-level lower than the rest of the blocks. It is just to hydrate most of the crops to help them grow a little faster.<br>


'''The location of the water is completely flexible''': they do not have to be in the same locations as in the photo (underneath all five sea lantern slabs) and you can have as many as you would like on both the working farm and storage farm. However, ''there MUST be a block on top of each water'' and no two can be next to each other. The block can be literally anything, even a lily pad will work, so long as there is something. It is also possible to use garden soil or fertilized dirt and have absolutely no water on the farms at all, but this will sacrifice a few nutrient stats and bar you from growing crops that require a particular block underneath.<br>
'''The location of the water is completely flexible''': they do not have to be in the same locations as in the photo (underneath all five sea lantern slabs) and you can have as many as you would like on both the working farm and storage farm. However, ''there MUST be a block on top of each water'' and no two can be next to each other. The block can be literally anything, even a lily pad will work, so long as there is something. It is also possible to use garden soil or fertilized dirt and have absolutely no water on the farms at all, but this will sacrifice a few nutrient stats and bar you from growing crops that require a particular block underneath.<br>


'''The starting crops must be placed manually in the checkerboard pattern''' seen in the photo. This layout goes for all three programs. If you cannot fill the entire checkerboard to start, the absolute minimum required is two (one as the target crop and the other next to it for crossbreeding). Even worse, if you have just a single seed of a particular crop, it is possible to start with a different crop next to it for crossbreeding (ie. Stickreed). It is not necessary to place empty crop sticks to fill the rest of the checkerboard. The target crop is used by autoStat and autoSpread to identify the crop you want to stat-up or spread to the storage farm, respectively.<br>
'''The starting crops must be placed manually in the checkerboard pattern''' seen in the photo. This layout goes for all three programs. If you cannot fill the entire checkerboard to start, the absolute minimum required is two (one as the target crop and the other next to it for crossbreeding). Even worse, if you have just a single seed of your target crop, it is possible to start with a different crop next to it for crossbreeding (ie. Stickreed). It is not necessary to place empty crop sticks to fill the rest of the checkerboard. The target crop is used by autoStat and autoSpread to identify the crop you want to stat-up or spread to the storage farm, respectively.<br>


[[File:Farm_Bottom.png|Bottom-View of the farm.|center|thumb|801x801px]]
[[File:Farm_Bottom.png|Bottom-View of the farm.|center|thumb|801x801px]]
Line 64: Line 63:
For power, I am using an HV gas turbine and a super tank with some benzene (no transformer needed). This is a little overkill, but the important part is that the charger is always at 100% charging speed which you can see by hovering over it. A set-up such as this will last forever with a few hundred thousand benzene since both machines require very little EU/t. Lastly, a reservoir feeds water into the crop-matron automatically after right-clicking it with a wrench.
For power, I am using an HV gas turbine and a super tank with some benzene (no transformer needed). This is a little overkill, but the important part is that the charger is always at 100% charging speed which you can see by hovering over it. A set-up such as this will last forever with a few hundred thousand benzene since both machines require very little EU/t. Lastly, a reservoir feeds water into the crop-matron automatically after right-clicking it with a wrench.


==Running the Programs==
==Running the Programs ==
The first program is autoTier. This will automatically tier-up your crops, terminating once the max breeding round is reached (configurable) or the storage farm is full. A storage chest is recommended for this program. Note that unrecognized crops will be moved to the storage farm first before replacing any of the lower tier crops in the working farm. Statting-up crops during this program is a configurable option. To run, simply enter:
The first program is autoTier. This will automatically tier-up your crops, terminating once the max breeding round is reached (configurable) or the storage farm is full. A storage chest is recommended for this program. Note that unrecognized crops will be moved to the storage farm first before replacing any of the lower tier crops in the working farm. Statting-up crops during this program is also a configurable option. To run, simply enter:


''autoTier''
''autoTier''


The second program is autoStat. This will automatically stat-up your crops, terminating once Gr + Ga - Re is at least 52 (configurable) for all crops on the working farm. A trash can is recommended for this program. Maximum growth and resistance for parent crops are also configurable parameters which default to 21 and 2, respectively. To run, simply enter:
The second program is autoStat. This will automatically stat-up your target crop, terminating once Gr + Ga - Re is at least 52 (configurable) for all crops on the working farm. A trash can is recommended for this program. Maximum growth and resistance for parent crops are also configurable parameters which default to 21 and 2, respectively. To run, simply enter:


''autoStat''
''autoStat''


The third program is autoSpread. This will automatically spread (duplicate) your crops if each new Gr + Ga - Re is at least 50 (configurable), terminating once the storage farm is full. A trash can is recommended for this program. Maximum growth and resistance for new (child) crops are also configurable parameters which default to 23 and 2, respectively. To run, simply enter:
The third program is autoSpread. This will automatically spread (duplicate) your target crop if each new Gr + Ga - Re is at least 50 (configurable), terminating once the storage farm is full. A trash can is recommended for this program. Maximum growth and resistance for new (child) crops are also configurable parameters which default to 23 and 2, respectively. To run, simply enter:


''autoSpread''
''autoSpread''
Line 80: Line 79:


''autoStat && autoSpread''
''autoStat && autoSpread''
Changing anything in the config requires you to restart your robot.


==Other Helpful Commands==
==Other Helpful Commands==
Line 105: Line 105:
*'''Stickreed for sticky resin and discovering/breeding with other crops'''
*'''Stickreed for sticky resin and discovering/breeding with other crops'''
*'''Spruce Bonsai for all of your benzene and power needs'''
*'''Spruce Bonsai for all of your benzene and power needs'''
*'''Black Stonelilly for black granite dust (fluorine, potassium, magnesium, aluminium, silicon)'''
*'''Nether Stonelilly for netherrack dust (coal, sulfur, redstone, gold)'''
*'''Yellow Stonelilly for endstone dust (helium, tungstate, platinum metallic powder)'''
*'''Sugarbeet for sugar (oxygen)'''
*'''Sugarbeet for sugar (oxygen)'''
*'''Salty Root OR Tearstalks for salt (chlorine and sodium)'''
*'''Salty Root OR Tearstalks for salt (chlorine and sodium)'''
*'''Enderbloom for enderpearls/endereyes'''
* '''Enderbloom for enderpearls/endereyes'''
*'''Glowing Earth Coral for sunnarium and glowstone (gold and redstone)'''
*'''Glowing Earth Coral for sunnarium and glowstone (gold and redstone)'''
*'''Rape for seed oil'''
*'''Rape for seed oil'''
*'''Goldfish plant for fish oil'''
*'''Goldfish plant for fish oil'''
*'''Diareed for diamonds'''
*'''Diareed for diamonds'''
*'''Bobsyeruncleranks for emeralds'''
*'''Bobsyeruncleranks for emeralds'''


==Thanks==
==Thanks==
My repo is a fork from https://github.com/huchenlei/auto-crossbreeding/tree/improve_autocrossbreed which was originally authored by huchenlei and improved by xyqyear. Huge props to them for getting this off the ground and allowing me to take it further.
My repo is a fork from https://github.com/huchenlei/auto-crossbreeding/tree/improve_autocrossbreed which was originally authored by huchenlei and improved by xyqyear. Huge props to them for getting this off the ground and allowing me to take it further.[[File:Giant Sword.png|center|thumb|775x775px|Happy Farming! To report a bug or have a suggestion, please leave a comment on my GitHub repo linked at the top!]]


[[Category:OpenComputers]]
==Notable Changes==
[[Category:Guides]]
If you are familiar with the older versions of this code then here are some notable changes that motivated me to develop this fork in the first place.
[[Category:Crops]]

*Changed general layout to access chests more easily.
*Changed farm layout to facilitate running autoSpread immediately after autoStat.
*Added the option to use regular dirt instead of fertilized dirt for crops requiring a particular block underneath.
*Added configurable maximum growth and maximum resistance stats.
*Added configurable thresholds for autoSpread, autoStat, and autoTier.
*Added configurable option to stat-up crops while running autoTier.
* Added configurable option to cleanup after complete (no longer a flag).
*Added a built-in storage reset to prevent having to break the robot in order to run autoSpread or autoTier more than once.
*Added an uninstall script.
* Code is a LOT cleaner and more organized.
*It is no longer the code's fault if any of the programs crash (probably).
[[File:Giant Sword.png|center|thumb|775x775px|Happy Farming! To report a bug or have a suggestion, please leave a comment on my GitHub repo linked at the top!]]

[[Category:OpenComputers]][[Category:Guides]][[Category:Crops]]