Ore Processing Concepts

GTNH is all about technology (mechanical or magical). But lets face it, you won't be getting anywhere by just slapping those wooden logs together. All the metals you need have to be ripped out of the ground and processed from their useless ores into a pure form (usually dusts) for further processing. And that's why you're here.

How To Do "Good" Ore Processing?
Although there are many implementations of doing ore processing, the desired features of a "good" solution remain the same. These desirable characteristics are:


 * 1) Flexible
 * 2) Expandable
 * 3) Unbreakable
 * 4) High Throughput
 * 5) Lag Friendly
 * 6) Minimal Human Intervention

[Flexible]

Ores in GT: New Horizons have multiple "routes" you can take which give different outputs. (See the bauxite chart to the right.) For bauxite you can take three routes:


 * 1) Macerate -> Macerate -> Simple Wash/Centrifuge (Grossular byproduct)
 * 2) Macerate -> Thermal Centrifuge -> Macerate (Rutile + Gallium byproduct)
 * 3) Macerate -> Simple/Normal Wash -> Macerate -> Simple Wash/Centrifuge (Rutile + Grossular (if normal wash) byproduct)

While for most bases, Rutile + Gallium Route 2 is superior, perhaps you already have automated gallium from essence berries. Then you might decide to do Route 3 instead, as it gives 2x more Rutile and therefore 2x more Titanium.

Every ore in the game will have a different "optimal" route for your run and base needs. This may also change over time. As a result, you want ore processing systems to be flexible - allowing different ores to go on different routes.

You also want to be able to automatically pull out things at any step of the process. For example, Rare Earths from GT++ require much higher power load, which would cause your existing macerator line to choke without modifications. You'll want to filter these out and process them in specially dedicated macerators.

[Expandable]

Depending on what batch you are processing, you may find a major bottleneck in your current system, or you simply want to replace machines with multis. This means your system must be able to expand without causing catastrophic infrastructure redesigns. Ideally you only want to change stuff in the current step you're dealing with (eg thermal centrifuging), not the whole line.

[Unbreakable]

No matter what weird combination of ores or even non-ores you feed in, your system shouldn't break. At the same time, if your system experiences a power-outage, you should be able to restart your machines without catastrophic loss of rare materials.

[High Throughput]

Your choice of logistics system should not be a bottleneck for speed. For example, PRT (described in Pre-AE2 Autocrafting) has very low pipe speed (beyond not being TPS friendly at scale), so it would not be appropriate for a late game ore processing system.

[Lag Friendly]

Your choice of logistics system should not bring the server to its knees. This matters especially for late game players.

[Minimal Human Intervention]

You want to be able to throw everything into an input chest, and receive finished clean dusts and/or ingots in your output with zero intervention. You should only touch your ore processing system for upgrades or debugging issues.

Filter Options
placeholder

[MV+] EnderIO Conduits - The "Central Line"
EnderIO conduits are your first and cheapest option for creating a truly flexible ore processing system. This system is built around a "central conduit line" which all ores go through, and connected "modules" route ores into machines. Because of its modular nature, it is easy to add new routes or expand old ones. This is made possible due to the EIO conduit "priority" system, which allows us to make override routes.

The priority system for the "central line" design goes as follows:

Priority 0: Override routes. For example, specific ores, rare earths, etc.

Priority -1: Type filter routes. These are your "default" paths that are taken if nothing overrides them.

Priority -2: Output routes. This goes to the final output chest.

The simplest version of this is an input chest set to extract always, some conduits inbetween, and an output chest at -2 priority. Then everything you input (ores, random tinker tools by accident, w/e) will go to the output chest. But obviously this isn't very useful.

So you start adding "modules" to your inbetween conduits. These provide routes for ores to go. Let's start with a macerator module.

[The Macerator Module]

For every module, you must choose two things: the filters and the machines. For a macerator, we want to automatically send anything that fits these characteristics:


 * 1) ore
 * 2) crushed ore
 * 3) crushed purified ore
 * 4) crushed thermal centrifuged ore

GT type filters are perfect for this, so let's add four of those and configure appropriately.

Now I will add a buffer chest - this will hold items routed by EIO, but not yet processed by machines. If the buffer chest gets full, items will go to the next available route - in this case, the output chest with priority -2. This can lead to undesirable behavior with very large inputs - for example, if the Rare Earth macerator buffer chest gets overfilled, it might accidentally get routed to the normal macerators instead (which is bad). Unfortunately, there are no easy fixes for this besides adding bigger buffers.

Now I round robin extract from the buffer chest into my macerators. EIO lets you easily select this option by just hitting a toggle in the menu. For the connections to the macerators, I set input on green (from my buffer chest) and output on red. This programming can get a bit tedious, so I recommend making a conduit probe whenever you can - this lets you copy conduit settings. Finally, I add a "transfer chest." This is just so that my macerator round robin logic doesn't accidentally get sent to the rest of the central line.

[The Rest of the Line]

Every module you add will look almost exactly like the macerator module. The only things you will swap out will be different filters and machines in place of the macerators.

For specific item overrides (eg. I want crushed bauxite specifically to go to thermal centrifuging), remember to use priority 0, as this will override items going to the normal macerator route we defined above.

On the right you can see an example of a fully fledged EIO ore processing line.

[How Desirable is the System?]


 * 1) Flexible: S Rank. It is very easy to add new modules, and they can be added in any configuration (before or after existing modules) without breaking things. Filters are very explicit and can be examined visually with NEI-like images. Because of the priority system you are able to always add a new, higher priority exception.
 * 2) Expandable: S Rank. All you need for a machine integration is a space for item I/O, and EIO lets you do input and output from the same side. If you need fluids later, like for rare earths, you can bundle an ender fluid conduit inside the item conduit.
 * 3) Unbreakable: A Rank. While this system by default is very robust to random items thrown in, like backpacks and tinker tools (these will automatically go to the output chest since they have no routes), the ability for logic to break down if buffer chests fill is a major weakness. While you can always add more chests, it is never able to be "truly" solved - a large enough input can still break your system.
 * 4) High Throughput: B Rank. Item conduits are by default quite slow (4 items every 0.8 seconds or so). You can upgrade them up to 64 per 0.8 seconds, but this is still much too slow for endgame. You can use conveyors into conduits to get a sufficiently high throughput, but using conveyors everywhere is relatively expensive and annoying compared to just using AE interfaces.
 * 5) Lag Friendly: A Rank. EIO conduits are fine unless you're stargate tier. They are pretty optimized, just not to the level of AE.
 * 6) Minimal Human Intervention: S Rank. EIO Conduits are perfect for no intervention ore processing. You only touch the system when adding new modules or doing new upgrades. If you accidentally drop your tinker tool inside, you can simply collect it from the output chest instead of having to figure out what multi input bus it's inside.

[Other Stuff to Remember]


 * 1) Although I made a "linear" looking central line in the images above, you can actually put the output chest anywhere. In practice I tend to put the output chest right next to the input chest to make interfacing with other logistics (eg. AE) easier. This is because the priority system doesn't care where an inventory is, only that it follows the priority rules.

[HV] EnderIO Conduits + GT Type Filters
A fully specified ore processing system using EnderIO Conduit colors with GT Type filters, with all exception item filters up through moon rock processing fully specified can be found here on Reddit: Sequential Material Refining Engine

[EV/IV+] Applied Energistics 2
Applied Energistics (henceforth just referred to as AE) is the most commonly used logistics system for mid-late game. As such, it finds common use in high-tier ore-processing solutions designed by players. From EV - ZPM, the multiblock miners (Ore Drilling Plants I/II/III/IV) become available. At IV and beyond (up to a point), single-block machines are no longer acceptable for the amount of ores we will be processing, and instead we will move on to the GT++ multiblock machines. These are:


 * 1) Ore Washing Plant (OWP)
 * 2) Maceration Stack (MS)
 * 3) Large Thermal Refinery (LTR). This is the multiblock thermal centrifuge.
 * 4) Industrial Centrifuge (IC)
 * 5) Large Sifter (LS). Technically this is a HV-tier machine
 * 6) Industrial Electrolyzer (IE)

Other multiblock machines that we will be using are the Large Chemical Reactors (LCRs).

For a typical ore processing setup at EV - ZPM, we generally have the following desires.


 * 1) Maximise returns. If we throw in an ore that has tertiary byproducts, we want all the byproducts. This requires use of a thermal centrifuge. Thus, our system will make use of thermal centrifuges, especially for gallium
 * 2) Maximise throughput. ODPs are capable of immense output, and an inadequate setup will choke and die. In addition, Void Miners (VMs) become available near the tail end of this period, and these will overwhelm unprepared systems, especially when boosted with the noble gases.
 * 3) Indium retrieval. Indium is a particular metal needed for specific circuit components (namely as indium gallium phosphide, or InGaP). There are only 3 ways to get this metal. Replication with UU-Matter (slow and painful), fusion from lithium and silver (requires T3 Fusion, a UV-tier technology), or extraction from purified sphalerite and galena ores.
 * 4) Lanthanide processing. Newly added, this processing line takes in crushed bastnasite or crushed monazite to yield the different lanthanide elements.

For our purposes, we will only need 6 specific AE components in order to create a rudimentary, and yet infinitely expandable AE ore processing system:


 * 1) ME Controller. This is basic and fundamental. You will need at least 1 to be the brains of your ore processing subnet. Each exposed face can connect to and control up to 32 other AE devices, giving our 1-block controller control over a maximum of 192 devices.
 * 2) ME Drive. This will serve as an overflow buffer, just in case all your machines suffer maintenance issues and shutdown simultaneously.
 * 3) ME Storage Cell. Place inside the ME Drive. You will need at least 1.
 * 4) ME Interfaces (the full block type). These will serve as the import blocks, from which the outputs of your machines will be pushed into to enter the AE network. How many you need depends on how creative you are with your GT piping.
 * 5) ME Storage Buses. You will need 1 for each input bus of your multiblock machines, and one extra to handle overflow (optional).
 * 6) ME Oredictionary Filter Cards. This is the magic that makes AE amazing for ore processing. You will need at least 1 per storage bus, with some exceptions.

Now, lets talk more about the ME Oredictionary Filter Card. We will just call them Oredict cards from now on. Many GT items have an Ore Dictionary Name, that looks something like [(item type)(name)]. There are oredict name for the ore block, each of the intermediates during the ore processing steps, and the final pure dust. Using galena as an example, they are:


 * 1) Galena Ore. [oreGalena]
 * 2) Crushed Galena Ore. [crushedGalena]
 * 3) Purified Galena Ore. [crushedPurifiedGalena]
 * 4) Centrifuged Galena Ore. [crushedCentrifugedGalena]
 * 5) Impure Pile of Galena Dust [dustImpureGalena]
 * 6) Purified Pile of Galena Dust [dustPureGalena]
 * 7) Galena Dust [dustGalena]

ME Storage Buses attempt to push out compatible items, when immediately received by the network via either ME Interfaces or ME Import Buses, into the inventories that they face. Conventionally, these would be storage blocks like chests/drawers/barrels. But note that Input Buses also have internal inventories. Thus, when we place an Oredict card inside a ME Storage Bus facing towards an Input Bus, we have created an intelligent exporter of items!

Another thing to note is that the Oredict Card is capable of filtering an arbitrarily complex set of requirements for the items being exported by the storage bus. Asterisks (*) serve as fuzzy placeholders, vertical bars (|) serve as OR conditionals, exclamation points (!) serve as NOT conditionals, and ampersands (&) serve as AND conditionals

For our purposes we will want the following definitions (within the brackets) inside our ME Storage Buses, based on the machines they are facing. The brackets themselves are not required for the Oredict definitions.


 * 1) To Macerators: (crushedCentrifuged* | ore* & !oreOilsands). In human-speak, this means Ores OR Centrifuged Ores AND exclude Ore Oilsands, which cannot be macerated. This enables initial maceration of whole ores (from VMs) and maceration of centrifuged ores (from LTRs) to recover tertiary byproducts.
 * 2) To OWPs: (crushed* & !crushedPurified* & !crushedCentrifuged* &!crushedBastnasite & !crushedMonazite). This means Crushed Ores that are NOT Purified and are NOT Centrifuged, as well as NOT Crushed Bastnasite and NOT Crushed Monazite This is needed because (crushed*) by itself also encompasses crushed, purified AND centrifuged ores due to the ways they are oredicted. The crushed Bastnasite and Monazite ores go into the Lanthanide Processing Line.
 * 3) To LTRs: (crushedPurified* & !*Galena* & !*Sphalerite*). This means Purified Ores that are NOT containing Galena AND are NOT containing Sphalerite in their names. This is needed as we want to export these 2 specific purified ores for indium processing later.
 * 4) To Large Sifters: No definitions are required, although you should increase the priority for these Storage Buses to be significantly higher than those on the LTRs as purified ores that can be sifted might be sent to the LTRs instead of the Large Sifters.
 * 5) To output from the Ore-proc Subnet: (crushedPurifiedGalena | crushedPurifiedSphalerite) on 1 ME Storage Bus, and (*dust* | *gem*) on another ME Storage Bus. This means Purified Galena and Purified Sphalerite Ores, as well as all Dusts and Gems.

Thus, to setup an AE-compatible system, we will do the following.


 * 1) Place down a ME Controller and ME Drive (with storage cell inside). Ensure that power is being adequately fed into the network.
 * 2) Setup an Input. This must push the ores/crushed ores into the network, to trigger the export function of the ME Storage Buses. This looks like a Chest Buffer (ideally IV-tier) pushing into an ME interface linked to the ore-processing subnet.
 * 3) Setup the ME Storage Buses with Oredict Cards. Using the appropriate definitions above, hook up your multiblock machines to the network.
 * 4) Setup the ME Interfaces to collect back the outputs from the multiblock machines. No extra fiddling with the interfaces is required besides initial placement and hooking up to the network. For the player on a channel budget, you can use GT pipes with large throughputs (platinum or quantium) to funnel outputs from multiple output buses into a single ME Interface.
 * 5) Setup an Output. This involves ME Storage Buses with the appropriate definitions as above, facing towards a Chest Buffer (ideally IV-tier) pushing into an ME interface linked to your main AE Network.
 * 6) (Optional) Setup an Overflow. The overflow should be a storage bus with minimum priority but with no definitions at all. Any items that is not supposed to go to output but does not have anywhere else to go (because all the input busses are full) should go here, and should be pushed back into the Input. (This is only needed if your system cannot process all the materials fast enough, and if you usually have some downtime between ore-processing batches, which is common in EV/IV. Note that having an overflow buffer is a lot less useful with VMs as you don't have any downtime to process the items in the overflow. Get more machines.)

And like this, you now have an AE-linked ore processing machine capable of:


 * 1) Accepting both crushed ores (from ODPs) or whole ores (from VMs).
 * 2) Sifting appropriate ores capable of gem byproducts.
 * 3) Acquisition of tertiary byproducts from all possible ores (via thermal centrifuging and macerating of centrifuged ores)
 * 4) Export of dusts (impure and pure), gems (of all qualities), purified sphalerite and galena ores for indium processing, and crushed bastnasite and monazite for lanthanide processing.

Auxiliary ore processing setups that we can link to our main network, along with the useful oredicts, are:


 * 1) Industrial Centrifuges to process Stone Dust (dustStone), Impure dusts (dustImpure*), Limonites (dust*Limonite), Metal Mixture Dust (dustMetalMixture), Sheldonite dusts (dustCooperite), and others
 * 2) Industrial Electrolyzers to process arbitrary dusts to recover purified elemental dusts and gases
 * 3) LCRs to process purified Sphalerite and purified Galena with sulfuric acid to get Indium Concentrate, and the subsequent precipitation using Aluminium dust to get Indium Dust and Lead-Zinc solution (can be electrolyzed to recover lead, silver, zinc, sulfur and water)
 * 4) OWP set to Chemical Bath mode with a screwdriver to process Rare Earth dusts with sulfuric acid and get Crushed Rare Earth ores. Feed these into the oreproc network to eventually recover Rare Earth (I) dusts which can be dehydrated to recover useful dusts (namely Yttrium).
 * 5) Platinum Processing Line, fed with the Platinum Metallic Powder Dust. Too long and complex to catalog here.
 * 6) Lanthanide Processing Line, fed with the crushed Bastnasite and crushed Monazite ores. Too long to catalog here.

[LV+] Limited Flexibility GT Pipes
placeholder