-
Notifications
You must be signed in to change notification settings - Fork 21
Ore Processing
This module runs on a 'local server'.
- Sorts incoming ores based on configurable filters
- Segments your oreproc machines into simple, easy to manage sections
- Supports "extra" processing methods like chemical bathing, sifting, and even smelting
- Supports processing lines such as indium or platline
- Outputs aren't set in stone, and the machines attached to them can be changed
- Allows for easy importing/exporting of filter files
- Allows searching for and lookup/editing of existing filters
- Compact and simple (only takes a 2x3x2 block space)
- Designed for use between the unlock of OpenComputers/NIDAS and the need for endgame levels of oreproc throughput
Module GUI showing the info pane
A barebones physical installation of the module, without supporting machines
A cramped example of this module's implementation. Batteries not included. GT item pipe spaghetti sold separately.
This module doesn't require any extra internal components, but does require some external ones. For a barebones installation without machines, you'll need:
- A computer with NIDAS installed
- 2 Transposers
- 9 Baby Chests
- Some OC cable
The chests don't necessarily need to be baby chests or even 1-slot chests. However, this module will only interact with the first slot of each chest, and baby chests are the simplest to get.
For the machine segments needed for a full implementation of this module, you'll additionally need:
- The machines themselves (covered later)
- Item pipes of some sort (GT item pipes, item conduits, item P2P)
- Stackwise item extraction from the output chests
Let's get started.
- Place down the computer and install all necessary components.
- Draw out a line of OC cable and place the 2 Transposers on top of the line.
- Place the Baby Chests on every open side of the Transposers.
You should now have something like this:
This example and any other implementation I create will always have the chests facing the same way. While this is not necessary, it helps determine at a glance the orientation of the Transposers and outputs.
The chest in the middle is going to be the system's input, or "working inventory", and you'll likely want to prioritize whatever comes back through.
Labels are as such: [1] Conveyor set to import, disable on redstone; [2] Machine Controller Cover set to disable on redstone; [3] Item Detector Cover set to inverted, item threshold 1; [4] Conveyor set to import; Conveyors should preferably be EV.
Don't connect your ore flow to the input chest just yet.
This module contains 8 outputs, with each output assigned to a chest. Each output is to lead to a section (or "leg") of machines where the sorted ores will be processed. The legs are simple and easy to understand:
- Primary Output (macerator -> centrifuge -> out)
- Ore Washer Purification (ore washer -> recycle)
- Chemical Bath Purification (chemical bath -> recycle)
- Tertiary Output (thermal centrifuge -> macerator -> out)
- Smelting Output (furnace -> macerator -> packager -> out)
- Sifting (sifting machine -> out)
- Special (special)
- Excess/No Filter (out)
The locations of each output are seen in this image:
This is also shown on the info pane of the GUI, along with the output descriptions.
The brackets with numbers denote a chest and its assigned output.
So:
- Determine which orientation your setup will be in. If you have all of your chests facing the same direction like in the example images, take note of what cardinal direction they are facing (in F3 or the minimap). Otherwise, just choose a cardinal direction and ensure that the transposers are inline perpendicular to the chosen direction. Take note of it.
- Refer to the output chart image above to see what output each chest will be assigned.
- Connect pipes, etc. to each output chest and ensure they are configured for fast, stackwise item extraction.
In this example, I am using EV Conveyor Modules attached to normal PVC Item Pipes. Both are sufficient to keep up with the Transposer's max speed of 4 stacks per second, but you can use whatever you wish. Just beware of Item Conduits, as they extract single items at a time, not stacks.
You don't need to color GT pipes, but they help with visibility. Notably, output 8 is red, which is the only color chosen deliberately.
- Draw out your item pipes to where you will have each legs' machines. If you want to make any changes to a leg (such as replacing the smelting leg with another flavor of chemical bath), now's where you'll want to make sure that's figured out.
Now we focus on the individual legs:
- It is suggested to buffer each leg's inputs in some sort of large chest so the module has space to breathe.
- Connect the buffer to the leg's corresponding machines.
- Configure the machines' outputs to lead either out of the system or into the recycle input, depending on the leg.
- Repeat steps 8-10 until all legs are built.
The exact type and number of machines used is determined by you. The example shown will use singleblock HV machines for simplicity, but by all means use whatever you want. Just remember that you don't need to go overboard with speeds higher than 4 stacks per second.
Here's some notes for each leg:
- Output 1 will produce byproducts from both the macerator and centrifuge steps. It is suggested to add a type filter between them to ensure that only the impure dust/purified dust goes through to the centrifuges. For GT pipes, you can use restrictive pipes for items that fail the type filters.
- Ore Washers work significantly faster and are more water-efficient when using distilled water, if you have a distilled water DT or sufficient number of singleblock distilleries.
- Output 5 is designed for when you want to simply smelt pure ores (iron ore as opposed to limonite, etc.) to get that extra guaranteed nugget. A super buffer is suggested to store the tiny dusts. This is also probably the least useful/least used one, if you were wanting to change up a leg.
- Output 7 should not lead to your ME system or wherever else you put finalized ores. It is specifically for ores you want to put aside for other lines (such as purified sphalerite and galena for indium) in lieu of extracting them outside this module's scope.
- Output 8 should not have any machines on it. Lead it to an ME Interface for ME storage. That interface can be used by the other legs as well to save on channels.
Remember, don't follow this block-for-block. It's slow.
Oh, one last thing before the next section begins. This system is designed around a crushed ore input, so if you're still hand mining or using singleblock miners, get a multiblock miner or add a maceration step before tossing it into the input chest.
Also, still leave the ore input disconnected.
Now that the physical setup is complete, we can shift our focus back to the computer.
- Install OpenOS onto the computer.
- Install NIDAS onto the computer.
- Click on the "Ore Processing" module under "Available" and click "Enable". The module will move under "Active".
- Click on the module again and click "Configure".
- Set the orientation setting to the cardinal direction you determined back in step 4.
- Set the Transposer addresses. Look at the WAILA output of the Transposers to know which one is which. No, you don't have to type it out. 1 is left, 2 is right.
Until Further Notice: Enable "Legacy Mode".
- Click on "Save Configuration", then "Settings".
- Enable autorun and click "Save Configuration".
- Click on "Save" at the bottom left, then "Reboot".
When the computer reboots, you should see an extra button at the bottom called "OreFilters". Click it and it will change to something like this:
Now follow the next section to add some filters. Once you're done, you can connect the ore input to the input chest and watch the system work its magic. The module is now fully set up.
There are three methods to add filters: through the GUI, by importing an existing oreFilters file, or by typing the file manually.
If you're setting the system up for the first time (or don't mind replacing your existing filters), it can be much faster to simply import someone else's configuration, as there's a lot of ores to make filters for. I'll cover all 3 methods regardless.
This method is the fanciest way to do it and it's the one where the most time was spent on programming it. Unfortunately, due to the way text boxes work, this method requires you to click the Return button and re-enter this module's GUI...every time you create or edit a filter. It's a known issue that I (the creator of this module) tried my best to fix, but to no success. S4mpsa says it's a product of NIDAS 1.0's glue leaking out of the seams. Sorry. It still works well for minor additions and edits, though.
Anywho:
- With the GUI open, click the "Add Filter" button on the top right.
See that "None" at the top right? Yeah, that's the glue. Apologies.
- Click on the text box beside "Filter Name", backspace out the text "None", and type out the name of the ore you want filtered. Ensure it's typed exactly as it's named. Press enter once done.
- Click on the text box beside "Filter Output" and type the output number you want. Press enter once done.
- If Legacy Mode is on, click on the text box beside "Damage Value" and type the ore's damage value. Press enter once done. You can find an ore's damage value by ensuring that item IDs are turned on in NEI settings and looking at the number after the colon at the end ([name] [id]:[damage]).
- Once you enter something in all text boxes, they will return to saying "None" and a "Save Filter" button will appear in the top right. Click it.
If you did it right, your screen should look something like the above. Click "< < < Return" at the bottom left and reopen the module's GUI to be able to do it again.
- Click the "Shell" button on NIDAS's main screen.
- Navigate to the settings folder with
cd NIDAS/settings/
. - Copy the oreFilters file into that directory (if done over the Internet, do
wget -f [url] oreFilters
). - Reboot with
reboot
.
Alternatively, if you have access to the world files, either as a singleplayer world or by having file access to the server you play on, you can go into [world]/opencomputers
, enter the folder with the address matching the one on your hard drive (hover over it to see), and copy the file in that way, no commands necessary.
This can be done either inside or outside of the game. It's often times easier to do it outside of the game, since you can access text editors that mark up what you're typing, but the drawback is that it's then a bit more difficult to put the file in the game (just follow method 2 to do that).
If done outside the game:
- Open your text editor of choice and create a new file.
If done inside the game:
- Navigate to the settings folder with
cd NIDAS/settings/
and create a new file withedit oreFilters
.
Now, the oreFilters file is just a Lua table, and its format looks a bit like this:
{
{
name = "[your ore here]",
filter = [filter number],
damage = [ore's damage value; -1 if legacy mode is off]
},
{
name = "[your ore here]",
filter = [filter number],
damage = [ore's damage value; -1 if legacy mode is off]
},
{
name = "[your ore here]",
filter = [filter number],
damage = [ore's damage value; -1 if legacy mode is off]
}
}
- Follow the snippet above to create your filter file (don't add the brackets, and don't worry about the damage value unless you're using Legacy Mode).
- Save the file and close the editor. If done outside the game, you'll have to use method 2 to import the file you made.
If the search bar currently doesn't exist (but you swore it was there before) or if some entries in the left pane don't show up anymore, reboot. Known bug.
- Click on the search bar and type in exactly what ore you want to search for (searching is hard okay). Press enter once done.
- Click on the relevant entry in the left pane.
The right pane will then show the filter's information, including the name and selected filter. You can edit either field and save your changes with the top right button, remove the filter with the bottom left button, or back out with the bottom right button.