[GUIDE / TIP] How to make water-based item filters work on EMC (better than hopper-based systems)

Discussion in 'Player Guides, Tips and Tricks' started by Egeau, Apr 10, 2019.

  1. Whello there everyone,
    I have recently been doing some storage system redstone for my own storage at 752, and found out some normally quite trivial redstone doesn’t work on EMC, and I have spent some hours trying to make it all work on EMC again. Most of the fixes are trivial, but this one wasn’t, which is why I wanted to share it with you all: It considers water(or ice)-based single hopper speed item sorters that make use of item entity positioning, if you already know what that are, you can skip the next paragraph, if you don’t, here we go:

    Basically, there are three commonly used ways of sorting items in Minecraft:
    -The first one is sorting into chests: This is a way that only works if the only output is you picking out items from the chests that are sorted into: basically, it only works if your sorter is your storage, which isn’t always the case. It also requires the most effort and genially speaking is the slowest, but it works if you have loads of different items for your storage area.
    -The second one is normal hopper sorting, this is what most people on EMC use. You have a normal hopper line and under that you put a sorter module that sorts out a specific item when that item goes through the hopper line. If you have a few items you want to sort through and they are going through a hopper line anyway, it’s a great sorter, but, usually, It’s not the best. Hoppers are expensive, laggy and aren’t very fast at transporting items. Usually, water streams are the best option, which breaks me to the third one.
    -Water-based item transportation is pretty much the norm in technical Minecraft: if the items are inserted via a hopper, you just dropper them out at the start, let them woosh over (packed) ice with water streams running over it. It’s really fancy, relatively cheap and lag-friendly.
    There also is a way to sort through items that are going over ice: basically, the first align the items such they are going both over the ice and over the block that is next to the ice, and place your normal hopper sorters on those side-blocks. This is a tutorial on how to do that if you’re interested. I know, it’s slow and all that, but It’s the only one I could find that explains this basic redstone…

    There is one more thing I need to explain here, you seem there are two different types of water sorters:


    The left one is not overflow-proof, the right one is. Meaning that, if the hopper underneath is filled, the left one breaks, the right one doesn’t. It does not matter why. The right one also exists in Double speed, but, the problem isn’t different for that one.
    The sorting-hopper of the left one would probably look a bit like this: and that one the left one would look like this:

    You also need to know that if you have two items really close to each other, they stack and become one items entity of size 2, meaning there is one entity, but you get 2 if you pick them up. This can go up all the way to the full stack. Hoppers are also able to pick tease up.

    What goes wrong:
    The problem with both of them is that they are not able to pick up a full stack (or other large quantity of items) at once: The left one would let one behind and break if there are multiple next to each other, the left one would pick up 23 and leave 41 behind (and would always be fine). Normally, this isn’t a problem, there are no full stacks that go through the water streams.
    Jet, on EMC, due to the different stacking mechanics, there are. Normally an item stacks with another if it roughly is in the same block space, on EMC, they stack if they are less than 6 (I think) blocks apart. Meaning that, if you have items (of one item type) coming out a dropper, there will only be stacks going through your water streams, which breaks the sorters.

    Okay, now, How do we fix this:
    There are two obvious answers: make the sorters overflow-proof and make sure there are no full stacks in the water stream. Both are easier said than done.

    Making the sorters overflow-proof is kind of trivial, but just requires a lot of space. You see: the overflow proof one doesn’t break if you let a stack go over it, it just leaves stuff unsorted: so, you make more of them. Making three of these item sorters right next to each other fixes the problem. It’s ugly, but, if you just need to filter out one item out of many that go over your many-input water stream it’s probably the way to go.
    Making the output not output full stacks also is easier said than done, but I have a redstone contraption that can do exactly that:
    Normally you would use something like this to output a hopper line into a water stream:

    items flow into dropper, which automatically drops them into the stream. This results in the stacking that is the cause of this problem. I made this:

    This system does exactly the same, but without the stacking problem. This is how it works:
    Basically: a dropper can output items at double hopper speed so, instead of shooting out an item every time it gets one, it shoots out four items really quickly and then waits for a second and repeat, to also average on hopper speed. That, though, is not jet enough to make it work, because usually, the items accelerate very slowly away from the dropper, meaning the clusters would still stack with others. So: you have to accelerate them away from the dropper as fast as you can. I did this with a slime block. That also makes it not exactly trivial to hook it up to a water stream:


    This is what it would look like hocked up. I think this all is pretty much self-explanatory: you just make the water stream as if the block space the dropper outputs in is the start, making sure the slime block doesn’t connect to the blocks around it and starting the water stream with the sign as soon as possible. That sign, that water separator, has to be a sign, or any other block without a hitbox that keeps water out: a top slab or trapdoor wouldn’t work, as the items sometimes do get shot upwards. This upwards shooting also is why you need a roof until the first corner. And, until then, probably should also only use signs.
    The first corner is the first place you can start aligning the items such that you can sort through them: jet, you cannot make it be too close to the slime block (as you would be making it obsolete). What is displayed here is the minimum distance, for which the length of the water is 4 blocks, but I would suggest that, if you have the space, you should make it at least one longer. After that, as long as the water streams don’t get too close to each other (on which point the items, of course, would again stack) you should be fine.
    After all that, this is how you build it:



    The difference between sticky and normal pistons can be seen from the side; the direction of the bottom hopper does not matter, the top hopper is the input; the cyan wool can be any solid block; the stone slab can be any slab; and the glazed terracotta can be any block that does not get picked up by a slime block.
    I tried to keep the redstone both relatively compact and not too expensive to build. I’ve spend a good part of my afternoon on it.

    I hope that is everything. If there is any questions you still have, just send them here, I’ll try to answer them :)
  2. Cool! :D This appears to solve what I was going to be trying out soon too. :D

    Something important that I think you missed: like you mentioned, items need to be aligned properly to be accepted by the hoppers, and this is how you would do that. :)



    JesusPower2, 607 and Sprhyngtime like this.
  3. Would you by chance be willing to make me one if I pay you?
  4. If I want to make it on EMC depends on what that "one" refers to, but I would defenetly help you out by downloading the world to creative, doing the stuff you want done, so that you can use the schematica mod to make it work on EMC again.
    607 likes this.
  5. Alternative overflow prevention: Loop the water stream onto itself, and then drop away. I believe that's how I solved this problem in one of my sorting systems. The rest I was just lazy and used a ton of hoppers :p
    JesusPower2 and 607 like this.
  6. That would work, but only in certain scenario’s:

    For it to work you have to assume that every item going in the water stream can be sorted into one of the sorters and that there is space in the sorters for them to go to. This is not necessarily true.

    For the last one, you can, of course, just make an overflow protection to make sure that is always the case. Which would in some scenarios be larger as the solution I have here.
    The first one actually is, as far as I can see, not solvable, as, for a loop to work, you have to assume there is a place for the items to go to, which does not need to be the case. Both because there might be items you accidently throw in the system that are not sorted through, in which case, with a loop, you would just loose that item, as it would despawn.
    It also might not be true because the water stream simply isn't just for sorting purpose: with an "overflow protection" like this (It's technically not really overflow protection, as that is a term quite narrowly defined within the technical community) you can use one water stream for multiple purposes, without having to sort through all the items you throw in.

    The main reason I do not like using a loop though is that usually I like to make use of multiple modules. Sure, if you're sorting through the output of your farm, that probably isn't necessary, but for your common main storage, that is definitely needed. The water streams, I only use for the bulk items, which I also want to just be able to throw into my main input, together with my "flower pots", for which I would use what I'm going to call a "type-1" sorter (the first sorter type I named). This way, your loop would be partially made out of hoppers, which means that not sorted through items will just flow through it forever, as they would not despawn. It also means that your melons would have to go 3 times though your type-1, which would also make it a lot (as they are under hopper speed), and a lot laggier.

    So it in that case basically is objectively a bad idea. :p

    The only place a loop would work is with the output of a farm of some sort, where you would know there are 10 or so specific items to sort though, at a rate that you know and where every item you accidently throw in probably is a tool you're using to build it, so you're going to miss it and look for it in the loop.

    I do agree with you that it has some purpose, that I missed it in this guide, which is not meant to be a guide but just an explanation of a solution I came up with I thought I would share, but, anyway, for all other purposes than a farm, I would go for something else.