this post was submitted on 26 Jun 2024
30 points (100.0% liked)

Minecraft

4416 readers
192 users here now

Welcome to the Minecraft community on Lemmy and Kbin!

The home for all posts related to the Minecraft franchise: from the classic game to the mobile ports, mods, adventure games, merchandise and similar!

Official Lemmy.world server available!

Lemmy.world hosts an official server that welcomes all players to contribute and have fun:

Minecraft Version: 1.20.x

Address: minecraft.lemmy.world

Please make sure you read our rules before posting.

Rules:

Rules can be clicked on to be expanded.

1: Treat all users with respect.

Bullying, threathening, doxxing, or toherwise hostile behaviors with any of our users will not be tolerated. Be civil, have fun.

2: Posts must be related to the Minecraft franchise.

This includes the main game, titles like Dungeons, fan art, wiki pages, toys, new feature votes, and similar content.

3: No advertising.

If you want to share a product you're a manufacturer or seller of, please contact the moderation team first. Affiliate links to online shopping stores or affiliate coupon codes are not allowed.

4: No piracy.

Links or discussions about cracked versions of games, unauthorized copies of copyrighted material and other similar piracy-related content are not allowed.

5: No NSFW or adult content.

This community is inclusive to users of all ages. Keep in mind Minecraft attracts children and adults alike. Therefore, no NSFW content is allowed.

6: No low-effort meme content.

Memes are allowed, and so are comics or other fan creations. However, low-effort reposts and otherwise overused memes will be removed.

Reddit reposts are allowed.

Reddit reposts are allowed, but you need to include the tag [Reddit] in the title.

Related communities:

founded 1 year ago
MODERATORS
30
submitted 4 months ago* (last edited 4 months ago) by Swaziboy to c/minecraft
 

I am trying to get two pistons to synch their pulses for an item sorter (nether).

In the attached pic:

  1. Observer which has a string in front of it (far side) that sees items drop down out of a cobweb, it pulses the redstone to start the pistons
  2. The primary piston (#2) that pushes the items a block over towards the secondary piston (#3)
  3. The Secondary piston (#3) that pushes the items along the ice path.

The redstone and repeaters are currently set up so that the observer pulse pushes the primary piston first, then after a short delay pushes the secondary piston.

What I am trying to do is prevent the primary piston from extending while the secondary is active. What's happening is every now and again due to timing of items dropping past the string, the secondary piston is extended and the primary piston pulses pushing items onto the top of the extended slime block attached to the secondary piston, vs. those items dropping into the empty space while it's withdrawn.

Any help appreciated!

top 16 comments
sorted by: hot top controversial new old
[–] Swaziboy 3 points 4 months ago

OK, so here's the update. thanks to all the suggestions - I combined a few ideas, and came up with the following solution.

The observer triggers as items drop, this does two things at once:

  1. Drives a pulse extender which immediately retracts the secondary piston
  2. Pulses the primary piston after a short delay to push the items into the space that the secondary piston just made

As the clock decays fully the secondary piston fires and pushes the items.

An added bonus here is spam protection - so if items drop consecutively more quickly than the clock decays, it simply resets the clock so you don't get pistons firing together, or too quickly. This way nothing ever ends up on the top of the slime/honey blocks. I've added a front-side view for those curious as well.

Thanks for all the help and tips!

[–] [email protected] 3 points 4 months ago (3 children)

I am by no means good at redstone, so I do not know if my solution is compact or efficient (or any good at all!).

My approach is to make the pistons fire alternatively constantly until the string is not triggered for a few seconds then it stops firing the pistons. This way there is always a constant piston firing rate and after the last item has fallen through the string the pistons still fire a couple of times just in case some items fell on top of a slime block then this will clear the items.

In the images you can see I made a pulse extender coming off the observer that is looking at the string. Then there are observers looking at the dust that is part of the pulse extender and every time the pulse degrades the observers trigger. Then after those observers are repeaters to slightly extend the pulse so that the pistons fire slow enough not to leave their slime blocks behind.

Note that the repeater after the left observer is 3 ticks and the repeater after the right observer is 4 ticks.

[–] Swaziboy 1 points 4 months ago

ok, I think I see how your system works now - I moved the dropper so it drops on the right spot and I now see the pistons firing regularly as expected. It does get a little messy with the speeds of them firing however I really like the idea so thanks for sharing.

[–] Swaziboy 1 points 4 months ago (1 children)

I tried to implement this, however my right hand side piston stays extended for the duration of the pulse extender rather than firing and retracting like the left hand side one does. Not sure if I am missing something in the pic that I cannot see. I also wasn't able to figure out what you're doing with the dropper - seems like it's on top of the observer for some reason and the clock coming out of it doesn't do anything?

[–] [email protected] 2 points 4 months ago (1 children)

I took another crack at it using a similar concept. This time I separated the pulse extender and the clock. This way it is very reliable and the clock speed and the speed between pistons extending can be easily controlled with the repeaters.

Basically I have the same pulse extender which switches on a clock. Then each pulse from the clock is connected to the pistons with a repeater going into one piston to make it extend after the first one.

By the way, the dropper and stuff coming out of it previously was just stuff I saw in your pic and tried to replicate it to see what space I was dealing with, it did nothing. I removed all the extra stuff in the new pics.

Here are some pics:

[–] Swaziboy 1 points 4 months ago

nice! I see we both landed on very similar solutions to this. I'm going to implement your double-reversi loop to see how that plays out - it's the main difference to mine which keeps the secondary piston extended by default, and it retracts and pushes based on the pulse-extender decaying fully.

I like this, thanks for sharing!

[–] Swaziboy 1 points 4 months ago

that's a novel approach, thanks for this - I am going to test it alongside my current version based off @[email protected] 's suggestion. Will come back with findings, thanks!

[–] [email protected] 2 points 4 months ago* (last edited 4 months ago)

I haven't done much MC Redstone in a long time (not in any significant way since some time observers were added). Couldn't you take the inverse signal for piston 2 and put it in an and gate to piston 1 (or vice versa). Basically make your circuit (p1/2 is piston 1/2) : p1= observer && !p2. p2 = delayed observer.

Edit: Actually, the delay might fuck this up. I don't know if I can help. It's been far too long. I don't have the intuition for it anymore.

[–] cryptiod137 2 points 4 months ago (1 children)

Which is supposed to be piston 1 or 2? They are labeled 2 and 3 in the image

[–] Swaziboy 1 points 4 months ago (1 children)

oh shoot! Good catch, I will edit the main post.

[–] Swaziboy 1 points 4 months ago (1 children)

wow, I re-read what I wrote originally - that was some terrible work! Hopefully much clearer now!

[–] [email protected] 1 points 4 months ago (2 children)

Your post is still unedited.

[–] Swaziboy 1 points 4 months ago
[–] Swaziboy 1 points 4 months ago* (last edited 4 months ago)

WTH - nooooooooooooooooo

[–] [email protected] 1 points 4 months ago (1 children)

what you could do is set piston 2 to be on an inverted signal from piston 1, instead of having a unique timing.

what this would do in effect is that piston 2 is extended by default, until an item passes in front of your observer, then piston 2 retracts and piston 1 extends, dropping the item in front of piston 2. and then when the pulse ends piston 1 retracts and piston 2 extends

[–] Swaziboy 1 points 4 months ago

ohh yes, I like this idea, lemme have a crack at it, tnx! (I suck at redstone lol!)