Buddy Blocks: a BTW P.S.A.

A place to talk to other users about the mod.
Post Reply
User avatar
BlackCat
Posts: 470
Joined: Sat Nov 03, 2012 2:21 pm
Location: Cat Pajamas

Buddy Blocks: a BTW P.S.A.

Post by BlackCat »

So I've been hearing a lot about how people seem to think buddy blocks are unreliable, more trouble than they are worth, glitchy, etc. I would like to clear the air a bit on this depressing issue.

Buddy blocks are extremely broad in their usefulness, but they are far and away the most difficult redstone components to work with due to their complexity. This will often cause people to give up and say "Buddy blocks are glitchy, I don't want to use them." Aside from being totally off base, this serves as a detriment to people who are looking to learn about the redstone side of BTW, it will discourage new players from learning by making it seem pointless. As one of the most avid lovers of BTW redstone, especially the buddy block, that leaves a bad taste in my mouth.

A large part of why so much misinformation has been spreading is the lack of a detailed wiki page. To be perfectly honest the wiki page for buddy blocks is lackluster at best; prior to my recent edits it had not been changed or updated with any details for ages, and the information that was on there did not cover any of the major facts that people would need to know. As a result I've been working on trying to add more to it so that people who don't use the forums but frequent the wiki would have some idea of how they work. And that's where this thread comes in, I'm sick of people just ignoring buddy blocks because there is either not enough information out about them, or people are badmouthing the blocks ignorantly.

I've outlined what I believe to be the most important intricacies of the buddy block, as well as some of the intricacies within those intricacies.


Buddy blocks react to most changes in state
⁃ Plant growth stages, spread of grass/mycelium, mossy growth, etc. are examples
⁃ It's usually best to test if something is counted as a change in state before building something that depends on buddy block detection,
⁃ FlowerChild designs everything to work intuitively, common sense and logical thinking will serve you well
Buddy blocks emit very short pulses
⁃ Use repeaters if you want to pulse a block dispenser directly from a buddy block, otherwise you'll get a whole lot of nothing.
⁃ Frequency ≠ duration, you can pulse buddy blocks incredibly fast but the actual pulse duration will remain the same.
Buddy blocks react to changes in state in any adjacent block
⁃ Detector blocks will trigger buddy blocks with 1 block of space in any direction, so keep that in mind when you are troubleshooting
⁃ ALL CHANGES IN STATE FROM ANY ADJACENT BLOCK
⁃ Noteblocks, vMC dispensers, and placed redstone dust/torches/repeaters are exceptions to this rule.
Entities are not blocks
⁃ Falling sand will not set off buddy blocks unless the buddy blocks are adjacent to where it falls from or where it lands
Buddy blocks will create feedback loops with update-able redstone blocks
⁃ Noteblocks and vMC dispensers do not create feedback loops
Don't blame the blocks for your mistakes
⁃ Chances are if you run into the so called "glitchy buddy block" behaviors, you're doing something wrong.
Buddy blocks are not unreliable, they are particular in their use
⁃ Buddy blocks are likely the most advanced redstone components in BTW, that said they are generally not fit for just getting started with redstone.
⁃ If you want to use buddy blocks in your designs you should be prepared to do some trial and error, logical thinking is going to be your best friend while using these.
Buddy blocks will directionally send strong power to their output
⁃ Buddy blocks that power blocks will power redstone dust adjacent to said blocks
⁃ Think similarly to how you would when using repeaters to power something rather than redstone dust.

So with that I ask that people try to learn how to use buddy blocks before they make claims about the supposed "unreliable" nature of the blocks. FC did a wonderful job making them so reliable, and to say they are less than that is baffling to me and disrespectful to FC.

And as a final note, to FC specifically if he does read this: I greatly appreciate that you took the time to come up with such well done and balanced redstone blocks that serve so many purposes, it really does amaze me how far they go to make so much possible, and the main focus of the mod isn't even on adding redstone blocks per se.
Ribky: eh, maybe kinda iffy at first, but you grew on me like a glorious tumor of innovation
Detritus: A whole lot of walls decided they wanted to give you a hug, but you're allergic to walls

My Youtube Channel: http://www.youtube.com/illogicallycompact
Mason11987
Posts: 1159
Joined: Wed Jul 06, 2011 11:03 am

Re: Buddy Blocks: a BTW P.S.A.

Post by Mason11987 »

I saw a handful of those "Buddy blocks are unreliable" comments as well and was confused by it. I've never seen the Buddy work in a way that I didn't expect or (once I realize what I did wrong) understand. Finally understanding the huge variety of uses for the buddy block was when I started actually getting into some good BTW automation.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Buddy Blocks: a BTW P.S.A.

Post by FlowerChild »

People say they're unreliable? That's actually the first time I've heard that :)

Thanks for the detailed post on them man, and glad you appreciate them so much.
User avatar
MoRmEnGiL
Posts: 1728
Joined: Sat Oct 08, 2011 5:29 pm
Location: Bosom Higgs

Re: Buddy Blocks: a BTW P.S.A.

Post by MoRmEnGiL »

I believe they say it is unreliable because mysteriously, it detects all updates, and not only those they want detected :P
War..
War never changes.

Remember what the dormouse said
User avatar
Graphite
Posts: 390
Joined: Sun Mar 18, 2012 3:12 am

Re: Buddy Blocks: a BTW P.S.A.

Post by Graphite »

Since this post feels rather squarely aimed at me (me and BlackCat had a discussion on irc about this), I'd like to clarify what I mean by unreliable:

On one of my maps I have a wool farm. It works by extending pistons in front of the BDs, which are then activated to suck the wool right off the sheep. My first design suffered from chunk-unloaded issues, which ended up suffocating half the sheep with their own wool as the wool was placed first, then the piston extended. I replaced it with a design that should be completely safe in that regard. The redstone activating the pistons is on top of the pistons, so always in the same chunk. Only once the whole row of pistons is powered will it move on to activating the BDs. Theoretically a malfunction like before should've been impossible... and yet I still once found a block of wool where a sheep should've been.

As I said on irc I trust the implementation of the buddy block... I just don't trust minecraft to always do the right thing. This makes the buddy block unreliable to me as any machine built with it relies on that one single pulse that happens when a block changes. After that, you will likely not be getting any new pulses ever (with pottery being the exception). Should that one pulse malfunction for whatever reason (chunk unloaded, glitchiness, or minecraft coping with large numbers of updates), then the machine will jam indefinitely. That's the kind of unreliable I was talking about.

That's also the reason why I prefer timer-based machinery, as I can just design the machine to "reset" whenever the timer pulses.
User avatar
BlackCat
Posts: 470
Joined: Sat Nov 03, 2012 2:21 pm
Location: Cat Pajamas

Re: Buddy Blocks: a BTW P.S.A.

Post by BlackCat »

I had no ill intentions of targeting anyone, I had thought about doing this before but forgot about it until our chat in the IRC, I apologize if I caused any offense by this, and you're right minecraft can be unreliable at times.

And as another little update with this, I'm going to get working on the wiki page now so if anyone has something to add I'd be happy to include it.
Ribky: eh, maybe kinda iffy at first, but you grew on me like a glorious tumor of innovation
Detritus: A whole lot of walls decided they wanted to give you a hug, but you're allergic to walls

My Youtube Channel: http://www.youtube.com/illogicallycompact
User avatar
Graphite
Posts: 390
Joined: Sun Mar 18, 2012 3:12 am

Re: Buddy Blocks: a BTW P.S.A.

Post by Graphite »

Oh, no offense taken. It just felt like I was the catalyst for this post and I figured I'd at least explain my point of view. Then again, my point of view might be mostly academical as the likelihood of it messing up is probably pretty small. I have sort of trained myself to consider what-ifs for my work though and it's leaking through in BtW :P
User avatar
STrRedWolf
Posts: 154
Joined: Wed Oct 26, 2011 9:23 pm

Re: Buddy Blocks: a BTW P.S.A.

Post by STrRedWolf »

Well... I'm not sure how glitchy this is or if it's something FC already heard of (memory's being fuzzy on this), but the Buddy block does detect changes not only one block away, but two blocks away (thankfully not diagonally).

You'll say "wha?" but a previous design of Blackcat here had a Buddy block detect changes in a regular detector when wheat grew up. Off to the side in the second-from-block was the detector, but two blocks down was a redstone repeater. What happened is that the detector popped on, the Buddy pulsed, triggered a piston, hit another detector, which lit, squelching a torch, turning off the repeater on delay, which sucked stuff in... and trigger the Buddy block again.
User avatar
BlackCat
Posts: 470
Joined: Sat Nov 03, 2012 2:21 pm
Location: Cat Pajamas

Re: Buddy Blocks: a BTW P.S.A.

Post by BlackCat »

Yes, I stated already that detector blocks can trigger buddy blocks from up to a block away.

My videos on buddy blocks for anyone who cares to see them, I touched on a lot of this stuff before.
http://www.youtube.com/watch?v=fRQTwk1izfU
http://www.youtube.com/watch?v=X5tD18z9TeQ
Ribky: eh, maybe kinda iffy at first, but you grew on me like a glorious tumor of innovation
Detritus: A whole lot of walls decided they wanted to give you a hug, but you're allergic to walls

My Youtube Channel: http://www.youtube.com/illogicallycompact
tom_savage
Posts: 258
Joined: Tue Aug 21, 2012 1:48 pm

Re: Buddy Blocks: a BTW P.S.A.

Post by tom_savage »

I love BUDdy Blocks. And I use them all the time. I wouldn't consider them unreliable at all. I agree that minecraft can be unreliable sometimes, and if the machine misses that short pulse for whatever reason, it can cause problems. Generally I run a system for a while and see if it locks up before I do a workaround though.
User avatar
BlackCat
Posts: 470
Joined: Sat Nov 03, 2012 2:21 pm
Location: Cat Pajamas

Re: Buddy Blocks: a BTW P.S.A.

Post by BlackCat »

tom_savage wrote:I love BUDdy Blocks. And I use them all the time. I wouldn't consider them unreliable at all. I agree that minecraft can be unreliable sometimes, and if the machine misses that short pulse for whatever reason, it can cause problems. Generally I run a system for a while and see if it locks up before I do a workaround though.
Hey tom thanks for stopping by!

And yeah I agree 100% with you on that :)
Ribky: eh, maybe kinda iffy at first, but you grew on me like a glorious tumor of innovation
Detritus: A whole lot of walls decided they wanted to give you a hug, but you're allergic to walls

My Youtube Channel: http://www.youtube.com/illogicallycompact
User avatar
STrRedWolf
Posts: 154
Joined: Wed Oct 26, 2011 9:23 pm

Re: Buddy Blocks: a BTW P.S.A.

Post by STrRedWolf »

BlackCat wrote:Yes, I stated already that detector blocks can trigger buddy blocks from up to a block away.
Weird... I can't recreate the bug where it triggers two blocks (one block between BB and item) away. Strange.
Yosuke
Posts: 7
Joined: Sun Jul 08, 2012 11:33 am

Re: Buddy Blocks: a BTW P.S.A.

Post by Yosuke »

I have/had also some problems with glitches in minecraft.

One was a "standard" sugar cane farm which detects the growth using a detector block sending the signal to a monostable circuit which pushes and releases the pistons. Normally it worked but always after some minecraft days it stuck (cane is grown but something happened at the monostable circuit).

Another problem I had was with my first soul urn factory (based on the design of Battosay) where on block detector spits clay on a turntable, sucks it in when it is an urn, turns 180° and spits it into a kiln. If I was standing in front of it, it worked but each time I tried to do something else in the meanwhile I discovered when I got back that the BD which is used to spit and suck clay/urns didn't turn 180° at sometime and faces now in the wrong directions.

I want to state that I have a location in my base at which - everytime I pass - minecraft hangs for some tenths of seconds and loads something from the disk (I checked the location but none of the x/y/z coordinates is on a 64 block boundary there).
User avatar
BlackCat
Posts: 470
Joined: Sat Nov 03, 2012 2:21 pm
Location: Cat Pajamas

Re: Buddy Blocks: a BTW P.S.A.

Post by BlackCat »

Many of battosays designs are out of date, if you built it recently there is a definite possibility that an update to minecraft or better than wolves changed the functionality of a certain component.

Also your post is totally irrelevant to this topic.
Ribky: eh, maybe kinda iffy at first, but you grew on me like a glorious tumor of innovation
Detritus: A whole lot of walls decided they wanted to give you a hug, but you're allergic to walls

My Youtube Channel: http://www.youtube.com/illogicallycompact
Siege Wizard
Posts: 175
Joined: Sun Jun 03, 2012 5:30 am

Re: Buddy Blocks: a BTW P.S.A.

Post by Siege Wizard »

It may have to do with the code FC inserted long ago to prevent torch glitch when they where on top of a turntable that was in a chunk near to be unloaded.
BlackCat wrote:Also your post is totally irrelevant to this topic.
+1

Try to open new threads and not fill others with off-topic.

On-topic: I must say that I've started using them a bit more than before and they are quite useful. I just think that needing a BD to act as a ROM in many desings involving them makes them (+ the BD) a quite expensive solution so I prefer to use DB if posible.

S.W.
Post Reply