Category Archives: Minecraft

Redstone for Beginners – Sorting Machine

André and I are working on a fancy new housing on the survival instance on his server and it’s becoming obvious that we need a sorting-system for all the good stuff we are getting out of the ground.

So I watched this, tried to build it – and failed.

There were comments saying that it would not work with V 1.8.x but I did not believe that.
The major problem was that I did not understand how the components actually work, therefore I could not debug the system.

Having looked at the Minecraft-Wiki, I realized that it is quite easy to understand. I rebuilt it and now it works – with a small restriction (it is a little annoying that it was not pointed out in the video) described on the bottom of this post .

Here is what you want to achieve: Put random items in a box and let them be delivered to another box of your choice. The transport from the original box to the destination is done via hoppers.

Things to know about the hopper:

  • In general, they will suck items out of dispensers (like boxes or other hoppers) placed above of them for as long as they can
  • In general, if their outlet is connected to a device that can store items, they will pass on everything that is put into them until the target is full. If the outlet is not connected to anywhere, they will not pass items on.
  • They possess 5 item slots of their own. If all slots contain items, the hopper will accept further items of the same kind only. The slots are being emptied from left to right.
  • They send a redstone signal if they have items in their slots. The signal strength is based on the percentage of the fill level – it goes up for every 1/14 of filling. To find out what signal strength your hopper is sending, you need to know the max storage capacity, which again is based on the items you put into the hopper.
    E.g. if you put blocks of iron and dirt into the hopper, the max amount of blocks would be 5 x 64. Floor 1/14 of that is 22, so the signal strength would be 0 for 0 blocks total, 1 for 1 – 22 blocks total, 2 for 23 – 45 blocks total and so on. However, if you use eggs, the total capacity is only 5 x 16 as eggs can only be stacked to 16. 1/14 capacity would then be only 5 eggs.
  • If they receive a redstone signal, e.g from a redstone torch underneath, they will block their in- and outlet

You probably see where this is leading to. We want to have one hopper per material we want to sort (placed in the leftmost slot). To achieve that, we need to pre-fill the sorting hoppers. To pre-fill them, we also need to define one item that we never must put into the machine for being sorted – which is dirt in my case.

Hopper setup front view:

Hopper setup side view:

We need to pre-fill the sorting hoppers with the correct amount of blocks, so that one added block will change the generated signal-strength from 1 to 2. Huh, why is that? Because the bottom level hopper which sucks items out of the sorting hopper above and puts them into the box is deactivated by a redstone torch, so that he does not suck out our pre-filling materials.
If the signal strentgh of the sorting hopper changes, we know that we have to activate the bottom-level hopper. This is done by sending a redstone signal to the redstone torch – for as long as the sorting hopper sends signal strength > 1.

Processing the hopper’s signal

For that we’re going to need the comparator; it has three inputs, one output and a switch.

Basically it does this to calculate the output:

w = y > z ? y : z;
out = x >= w ? (A ? x - w : x) : 0;

For the sorting machine we can use the sorting hopper as the only input x, so that the comparator will just pass on the signal received – with unchanged strength.

Next, we want a sticky piston to activate on signal strength 2. It has a redstone block attached which sends a signal to the appropriate redstone torch and deactivating it, while the piston is extended.
We achieve this by putting exactly 2 blocks between the piston and the comparator and connecting them via redstone, because the signal is diminishing by 1 per redstone wire.

Here it is important to not let a wire interfere with others. That’s what the nifty placing of blocks in the area between comparators and pistons is for. On the floor, mostly comparators are used because they will not compromise each other sideways.

Pistons and comparators on the floor:

Non-interfering redstone-wires:

Most probable sources of error if you are facing problems

  • Hoppers and/or comparators are not facing the correct way
  • Redstone wires interfere with each other on their way to the pistons
  • Incorrect amount of pre-filling in the sorting hoppers

Also, for some components the correct order of placement can be kind of important, e.g. if you prefill your sorting hopper and then put the bottom hopper underneath it without having the redstone torch in place already, it will suck your sorting hopper empty.

About the boxes

To put to small boxes next to each other, every second box has to be a Trapped box instead of a normal one.

Final thoughts

This should enable you to not only build the sorting machine as shown in the video but also understand it and its components – giving you a good base for future Minecraft automation projects.

If you try out the machine, you will notice the small drawback I mentioned in the beginning: The bottom hopper will always keep the last item processed, because the redstone torch underneath is reactivated before the hopper has been emptied completely. I thought about the problem and currently found no easy way to fix that.

How to Enable Sonic Ether’s Unbelievable Shaders for Minecraft 1.7.10

Introduction

Sonic Ether’s Unbelievable Shaders is an awesome shader pack which adds dynamics and realism to your minecraft world, such animated leaves on trees, ultra-realistic water textures and animations, environmental effects and dynamic lighting. It is truly amazing, what this pack offers. This short tutorial shall help you getting Sonic Ether’s shaders to work with your Minecraft client on a Windoze box. Please note, that this tutorial modifies your local client setup of Minecraft. Therefore, it is advised to create a backup copy before. There is a .minecraft folder in C:\Users\\Roaming. Probably the most important folder. As for this document, I will just refer to it as the .minecraft folder.

In case you do not really know what Sonic Ether’s Unbelievable Shaders are, have a look at this video:

But for now, let’s get started by installing all the componentes required in order to get this thing up and running.

Installing the MinecraftForge API

As a first step, navigate to http://files.minecraftforge.net and download the latest version in the “1.7.10 Downloads” section. Please click on the asterisk link, not the “Installer-Win” link. If you do nevertheless, you will get some annoying adf.ly advertisements which truly suck. So, just click on the asterisk to the right of the Installer-Win link and you’re fine.

Now, double-click the binary and choose the “install client” option in the installer dialog. Then click OK.

After running through MinecraftForge has been installed. Please note the new Minecraft launcher profile that gets automatically created for you, called “Forge”.

Use this whenever playing Minecraft to make sure MinecraftForge is activated.
For now, run your Minecraft client at least once using the “Forge” profile. you need to login once again, since it is a new profile. After this, close Minecraft and navigate to your .minecraft folder. You will notice a new folder called “mods”. Now we are ready to install our first mod, called “OptiFine” which is recommended, when using Sonic Ether’s shader pack.

Installing the OptiFine Mod

Navigate to https://optifine.net/downloads and download click on the download link for “OptiFine 1.7.10 HD U A4”.

The file behind is actually a JAR archive. Just copy this file to you .minecraft\mods folder. Then start your Minecraft client again using the “Forge” profile, as mentioned before. In the main screen, click on the new “Mod” menu and verify that the OptiFine mod is contained in the list of installed mods. Good for now, quit Minecraft again. Now we continue to install the GLSL Shaders mod.

Installing the GLSL Shaders Mod

Go to the Minecraft Forums on http://www.minecraftforum.net and enter the search term “shaders mod karyonix”. in the search results choose the appropriate post (see image below)

Now click on download link1 in the “Minecraft 1.7.10” section to download the JAR archive. After clicking through some ads, you can download the JAR archive called “ShadersModCore-v.2.3.18-mc1.7.10-f1179.jar” (or newer). Copy this file to your .minecraft\mods folder. Restart your Minecraft client (using the “Forge” profile). If you click on “Options…” in the main screen you should see a new button called “Shaders…”.

Also, there was a folder created automatically called “shaderpacks” in your .minecraft folder. If all this applies, you’re fine, and we can proceed to the next step.

Install Sonic Ether’s Unbelievable Shaders

As a next step, we need to install the shader pack itself. This is pretty straight-forward. Just go to http://www.minecraftforum.net and search for “sonic ether shaders”. Click on the appropriate post, written by “sonicether”. Scroll down to the “Latest” section and choose one of the SEUS versions to download. I chose the Ultra version. The download is in fact a ZIP file, which contains a “shaders” sub-directory. Create a new folder called “SEUS v10.1 Ultra” in your .minecraft\shaderpacks folder. Copy the whole “shaders” directory from the ZIP file to .minecraft\shaderpacks, so the final directory structure looks like .minecraft\shaderpacks\SEUS v10.1 Ultra\shaders\…”. If you don’t do it this way, the shaders won’t work. If you’re done, proceed to the last step.

Activate the Shaders

Fire up Minecraft and go to “Options…”, then “Shaders…”. On the left side, click on “SEUS v10.1 Ultra”, then make sure “CloudShadow” is set to “Off”, “tweakBlockDamage” is set to “On” and “OldLighting” is set to “Off”.

Save everything and you’re set! Now you can enjoy Minecraft in a totally different way! Have fun.

Play Minecraft Behind Proxy Using SSH Tunnel

I own a private Minecraft server. That’s cool. If you sit behind a (let’s say corporate) firewall and let’s further assume that the admins don’t allow traffic to your Minecraft server, you gonna have a problem. In my case, I was able to circumvent the problem by using the SSH protocol. This only works, if your firewall allows outgoing SSH traffic. Another requirement is, that you must run an SSH server on the same system as your Minecraft server is running. I’ve tested this setup using Minecraft Server 1.6.2 and Minecraft Launcher 1.2.1. Never configurations should work in the same way though.

Setup an SSH Server

There are plenty of tutorials on the internet. So I am not going to repeat this here over and over again. I am sure, you’ll find one that fits your needs.

Download the Minecraft Launcher

Download the latest Minecraft launcher and save it somewhere on your disk. Create an additional .cmd-file to pass some more parameters to the launcher.

We pass some arguments to make sure, traffic is redirected to the local port 8080. PuTTY will later do the rest and forward this traffic to the outside. I’ve also set the launcher to explicitly use IPv4.

Lazy people can copy/paste it from here:

java -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8080 -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -Xmx800m -jar Minecraft.exe

Setting Up the PuTTY Connection

First, configure your SSH connection as usually by filling in the host name on the Session page. Leave the SSH port as it is (22). You need to configure an additional SSH tunnel to your server. Configure your tunnel as follows:

Source port: 8080
Type: Dynamic
Protocol: IPv4

Your configuration should look as in the following picture.

Configure the Minecraft Launcher

Pass the same arguments as before to the Minecraft Launcher by editing your profile settings as shown below:

Now Minecraft should work just fine.