Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Upload file
Getting Started
Cryopod
Commands
New Player Guide
Star Systems and Planets
Asteri System
Ilios System
Regulus System
Sirius System
Horizon
Trench
AU-0821
Items
Natural Resources
Crafted Resources
Processed Resources
Player Weapons
Power Armor
Starships
Starship Basics
Drill (Starship)
Gravity Well (Starship)
Hyperdrive
Mining Lasers
Navigation Computer
Particle Shields
Supercapital Multiblocks
Thrusters
Machines
Ammo Press
Area Shield
Auto Crafter
Decomposer
Farming Machines
Gas Machines
Incinerator
Item Charger
Mob Defender
Power Furnace
Power Generation and Storage
Printer
Processing Machines
Ship Factory
Solar Panels
Splitter
Horizon's End Wiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Pipes
(section)
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Pathfinding == A very important detail for pipes is '''pathfinding'''. When the server is deciding where items should go in a pipe, and it comes to a crossroads where items could flow either way, it chooses one of those paths at random. This means that if your pipe system has lots of places where the glass splits and goes 2 different ways, your pipes will slow down a lot. {| class="wikitable" |+ !BAD !GOOD |- |[[File:Badmultipipes.png|thumb]] |[[File:Goodmultipipes.png|thumb]] |- |In this pipe system, items that enter from the leftmost chest hit a junction multiple times going down the pipe. If the pathfinding chooses to turn right instead of going straight at any of these points, the items will run into a dead end and have nowhere to go. With 5 junctions, this means pathfinding only succeeds 1/32 times. (Items transfer 32x slower) |In this pipe system, the junctions are gone, and items will move through much faster. For every chest other than the leftmost, there is a 50% chance the pathfinding will turn left instead of right and hit a dead end, but these pipes will still be quite fast. |} With the above example, the slowdown is small - it only takes a few seconds to work properly. However, every dead-end between the input and output doubles the time needed, and in large pipe networks, it quickly becomes way too slow. Thankfully, there are a few ways we can resolve ambiguity in our pipe systems. === Grindstones === [[File:Grindstonepipes.png|thumb|This pipe system has 0 ambiguous junctions; pathfinding will always succeed.]] Grindstones act like pipes, but will always transmit items in the way they are facing. Grindstones are the easiest and most popular method for resolving ambiguous junctions in pipes. === Panes === '''Panes''' accept and give items to glass of the same color, and also work as pipes - however, they don't work the exact same. When items flowing through a pane reach a junction, they will always try to keep moving straight first before turning. This can be very useful when you want items to move a certain way, but be careful! If your pane pipes are made poorly, they might end up never extracting correctly. {| class="wikitable" |+ !GOOD !BAD |- |[[File:Panepipes 2.png|thumb]] |[[File:Badpanepipesreal.png|thumb]] |- |This system will be just as efficient as the earlier "good" piping example. None of the junctions will interrupt pathfinding because the panes will always move items in a straight direction if they can. |When pathfinding reaches the intersection at the end, it will always attempt to move the items straight, and never turn left to go to the top chest. This means that the top chest will never receive any items. |} [[File:Trash filtering with panes.png|thumb|Each hopper along this zig-zag will be checked, and only items that match none of the filters will make it through to the end of the pipe.]] Panes can be good for performing proper junk filtering without a ''[[Splitter|S]]''[[Splitter|plitter]]''.'' Namely, if a pane checks a hopper and sees that it does not match the items being moved, pathfinding will not terminate. This allows us to ensure that all desired items are filtered and the trash goes to the [[Incinerator]] without needing specific filters for the trash''.'' Seen to the right is such a system. For each zig-zag, the pane will attempt to move items in the same way items entered that pane, resulting in the hopper being checked. If the item does not match that hopper, it will continue down the system. This ensures that we always filter out what we want from this system - if we did not force the system to check each hopper, valuable items might not pathfind to the filters, and could instead get funneled into our incinerator.
Summary:
Please note that all contributions to Horizon's End Wiki are considered to be released under the GNU Free Documentation License 1.3 or later (see
Horizon's End Wiki:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width