Hello.

Before i start i just want to say that..
- This is my first Tutorial
- and the background for this hack was NOT mine, however...
- I will explain deep into the mechanics of this hack.
- #pleasenohate


Ok, First, you want to find the boolean which triggers when a player right clicks (*cough*onskidingisnoobPlayerskidingRightskidskids kidskidClickskiding*cough* CTRL+H *cough*)

Once you've found it, go into it and just under where it says
Code:
 if (!var12 && par3ItemStack != null && par3ItemStack.getItem() instanceof ItemBlock)
        {
            ItemBlock var16 = (ItemBlock)par3ItemStack.getItem();

            if (!var16.canPlaceItemBlockOnSide(par2World, par4, par5, par6, par7, par1EntityPlayer, par3ItemStack))
            {
                return false;
            }
        }
Write a toggle which should be premade...
Code:
if (hamsteisCool.autoBuild){
Now, make up some void that you want to call and place it in the boolean. Ideally, something called this
Code:
 hamsteisbetterthanmeateverything(x, y, z, skidskid, par1EntityPlayer, var9, var10, var11);
return true;
then, comes the fun/tricky bit.
Make a void and call it like so
Code:
hamsteisbetterthanmeateverything(x, y, z, o, par1EntityPlayer, var9, var10, var11){

}
In this void, we can start making our structures. BE CREATIVE!

In this example, we will make something designed by me.
Copy and paste this in (fix the errors silly skid)
Code:
    	this.netClientHandler.addToSendQueue(new Packet15Place(x, y+1, z, o, par1EntityPlayer.dropYourSack.getCurrentItem(), var9, var10, var11));
    	this.netClientHandler.addToSendQueue(new Packet15Place(x, y+2, z, o, par1EntityPlayer.dropYourSack.getCurrentItem(), var9, var10, var11));
    	this.netClientHandler.addToSendQueue(new Packet15lordpankakeisaniceguydontbemeantohim(x, y+3, z, o, par1EntityPlayer.inventory.getCurrentItem(), var9, var10, var11));
    	this.netClientHandler.addToSendQueue(new Packet15iusetobeaskid....theniturned5(x, y+4, z, o, par1EntityPlayer.inventory.getCurrentItem(), var9, var10, var11));
    	this.netClientHandler.addToSendQueue(new Packet15skidskidskid(x+1, y, z, o, par1EntityPlayer.inventory.getCurrentItem(), var9, var10, var11));
    	this.cookiejar.addToSendQueue(new Packet15britneyspearsisgay(x+2, y, z, o, par1EntityPlayer.inventory.getCurrentItem(), var9, var10, var11));
    	this.netClientHandler.addToSendQueue(new Packet15ilikemen(x+1, y+2, z, o, par1EntityPlayer.inventory.getCurrentItem(), var9, var10, var11));
    	this.netClientHandler.addToSendQueue(new Packet15donkeyjuice(x+2, y+2, z, o, par1EntityPlayer.inventory.getCurrentItem(), var9, var10, var11));
    	this.netClientHandler.addToSendQueue(new Packet15unicornfker(x+1, y+4, z, o, par1EntityPlayer.inventory.getCurrentItem(), var9, var10, var11));
    	this.netClientHandler.addToSendQueue(new Packet15shagacow(x+2, y+4, z, o, par1EntityPlayer.inventory.hamsteIsSwag(), var9, var10, var69));
This should start you of on the right track, to make nice pictures (or nasty) and perhaps words of sorts...

now, to create your own words is pretty straight forwards.
simply get that basic line (this.netclienthandler....) and the 'x', 'y' and 'z' part you can change to your liking.

Happy timewastingmakingthisquiterage-encouragingtaskofmakingthingsthentheydontworkandyo ugetangrydontcomecryingtomekkthankyou

PS: lordpankakeisthecoolestonthisforumsorrybutheisvery niceandhashelpedmealottoadvanceinmycodingthoughtia mstillquitebad.ifyoureaduptohereirespectyoubutihop eyourgettingboredbecausethenextbitispointless.pank akeiscool.