Wed Dec 14 2011 11:54Programmable Minecraft 3: The Simplest Thing That Could Possibly Work:
In the previous installment of this series I went whole hog and created a simple event-based scripting language for Minecraft objects. Left in the dust were three ideas I had for blocks that let you do more with your existing redstone circuits. These blocks won't blow anyone away, but they would let creators add a lot more polish to their Adventure- and Complete The Monument-genre maps.

This is probably the last entry in this series, so take heart. I had an idea about using Minecraft blocks as placeable opcodes in the event-based scripting language, but... there you have it. That's my idea. And here are three more:

Recognizer. This is a typed block, sort of like those annoying template classes in C++. When you craft it you add one block/item of your choosing to the recipe, and you get a recognizer for that. So you can get a green wool recognizer, or an iron pickaxe recognizer, or a snow block recognizer, or a snowball recognizer. The recognizer fires a redstone signal whenever it detects the thing it was crafted with. If you hit a snowball recognizer with a snowball, you'll get a redstone pulse. If you place a snow block next to a snow block recognizer, you'll get a steady signal.

With recognizers you can make victory monuments that do something when you place all the wool, and create honor-system lock-and-key puzzles beyond "find a lever and put it here".

Chat box. I spent so much time in the first installment figuring out ways to get dynamic signs, but much of the time, using signs to convey information is a huge hack. The chat box is a simple alternative to putting random crap on signs when what you really want is to simulate dialogue or a system message.

When you place a chat box, you get to type in a message. When the chat box gets a redstone signal, it broadcasts that message in the chat window. Boxes can burn out (like redstone torches) if triggered constantly.

Placement dispenser. Craft this from a dispenser and a piston. This is like a dispenser, but it places blocks instead of throwing objects. When a placement dispenser reads a redstone input, it places a block in front of it (vs. the normal dispenser, which throws its contents). If there's already a block in front of the placement dispenser, it acts like a piston.

If you put a bucket of water or lava in the placement dispenser, it will dump out the liquid when it gets a redstone signal. If you put a flint and steel in the placement dispenser, it will light its adjacent block on fire when it gets a redstone signal.

Throwing a block at the placement dispenser is the same as opening up the dispenser and placing the block inside--your block gets stored in one of the dispenser slots and can be placed later. This means you can have a normal dispenser feed a placement dispenser.

I don't think this gives you much on its own, since there's no way for the dispenser to move around, but I really feel a need to make it possible to lay down blocks programatically. And even without movement, you could set up a number of dispensers for cool effects such as creating and lighting a portal when the player steps on a pressure plate.