I am glad you are working on both versions at the same time (1.2.3 and 1.3.2), but what I suggest doing right now, is to completely stop developing for 1.3.2, keep upgrading 1.2.3, and when 1.4.x will come out you will just rush with the entire bag of surprises for us.
I am saying that because knowing Dinnerbone and Jeb 1.4 will come out really damn soon, and it will be probably the best patch Mapmakers were waiting for.
Nah!
I have to stick with the 1.3.2 development, so as to get the current set of blocks to a working state.
The vast majority of blocks require new code in addition to the Forge changes, in order to function as before (progress is being made).
Jeb has already stated that the 1.4 release should be out on Halloween and I don't anticipate the code changes being so dramatic.
At the very least, whether or not a full release of XBEE for 1.3.2 makes it out or not, the lessons learned will be invaluable.
Not to mention for the 1.2.5 version ,I have made a break through with getting my custom models working in SMP.
So I will be spending some time adding some new features.
Hence the delay in the afore mentioned release for today.
MindKrafter I think that you got to many lamps
so I will not be texturing all of them right now.
And as I promised here is the textures and som Screenshots of it:
Screenshots:
The textures(16x16):
diyblocks:
glowblocks:
xtras (I haven't changed all textures but I will when I find inspiration (got any idéas pleas tell me))
Yeh, I know! I am trying to work out a good balance for the amount of torches and lamps vs the different types.
Especially As I have the code done for the lamps that have the true cross texture
(as it is that would add 8 more to the current tally ).
Feel free to suggest away on that one People's, (should I remove some or keep them all?)
I will most likely release the next update on Saturday.
Good job on the textures, thanks for sharing them.
I will add them to the OP next chance I get.
Leave only true cross, we don't need other junk. =D
Hope I helped.
The problem with that is the true cross render doesn't allow for wall placement like a torch.
Plus, i'm sure that many users have spent a lot of time texturing and placing the existing lamps/torches into thier worlds. It would kind of suck if I removed them all.
As it stands, I am thinking along the lines of:
4 x regular torch
4 x switchable torch
8 x switchable blocks
4 x switchable cross texture
4 x cross texture
If that will screw up anyones build, I will leave the existing blocks and just add the ture cross blocks.
I have a suggestion for you this time CarbonLord, I have noticed that you aren't as keen on some additions as others are.
If you post or send me a list of which blocks and how many of each you would like, I will set up the XtraBlocks+ version to your specs.
That version doesn't really get any attention anymore and I was thinking of scrapping it, so I would be happy to overhaul it.
Damn man, you just made my day. Also, your lamp/torches list is good. 4 of each type... yea, that what I need. And 8 switchable blocks... just sweet. Stay with that and don't think about other people builds. They can always rebuild it with new version of mod or stay with the older one. It shouldn't slow you down.
Also, my list of blocks that I'd like to use? Oh man. Here it comes. Brace yourself.
Two Different kinds of cakes, every filling hunger bar with different amount of hunger.
20-30 DIY blocks with Stone sound when walking on them.
10-15 DIY blocks with wood sound when walking on them with fences.
Stairs for every of the above.
I am not done yet
5 DIY blocks acting like sand.
Glowblocks? No, I just can't seem to find use for them.
10-15 Transparent blocks like glass.
10-13 Stained glass.
2-6 Additional log blocks that will be able to lie on different sides like normal logs.
10-infinite Multitexture blocks. The ones with Top, Bottom and sides.
Additional Netherrack block.
Actually right now glowblocks might be good idea. 10-15 of them even better.
I keep going, so read!
15 slabs, that can be connected together to give you brand new block.
Obsidian glass so it won't be destroyed by Explosion.
2-5 new trapdoors. I don't really need that much. Maybe one of them blast resistant.
Doors. Yea. Couple of them. Also one of them blast resistant.
Liquids are amazing. Leave them.
4 x regular torch
4 x switchable torch 8 x switchable blocks 4 x switchable cross texture 4 x cross texture
Yea, I was lazy and I just copied your post.
2 New Ladders.
10 New Flowers! LAWL <3.
More killing liquids, maybe ones that are not giving light. It will be hard as nails to code, I know.
Damn, additional lever. And buttons.(Did you just want diiferent textures or ones with different time settings?)
Additional wool blocks maybe? For every color make and alternative version.
Additional soul sand block.
Umm... 2 additional beds?
New fire? Maybe?
Meat block acting as melon but dropping rotten flesh instead? Possible?
Another meat block dropping another type of food and so on, and so on.
5-10 new leaves?
Have I forgot something? Just remind me if I did.
Also, is there a way that you will create additional items, without name? I mean that when you go with cursor on them, there will be no visible name for them? If it is impossible to set mod to get names for items from config file, you can set the items to unnamed ones. Or just show me in code how and where to change name.Wow. I gave you few years of work now. You don't have to do this all, I just think these ideas are pretty good.
If you want I can create basic textures for all of these items, you the only thing you will need to bother about is coding. Just send me what block ideas actually made it through to your mind, so I can start working on textures.
Green = deffinate
Orange = maybe.
Red = not at the moment.
Got a pretty busy weekend lined up, but I should be able to get it out in a day or two.
Buttons with longer time would be amazing, I hate pressing button and running to door scared that it will close.
I am impressed by your skill, that you found only 2 'Not at the moment' things. Also, for meat blocks, can't you just take code for melon block and replace what it drops?
So I didn't get to do any work over the weekend, but I had some time tonight and this is what I have working in game so far!
32 x stone diy
16 x wood diy
16 x stairs diy
16 x fence diy
16 x glass diy
16 x stained glass diy
16 x glow diy
16 x slab diy + 16 x full blocks
16 x cross texture blocks (suitable for flowers)
10 x multi diy
8 x glass panes
8 x switchable blocks
5 x liquids (same as XBEE)
4 x regular torch
4 x switchable torch
4 x switchable cross texture
4 x Buttons: 1 min, 20 sec, 10 sec, 5 sec
3 x trapdoor + 1 blast proof trapdoor
2 x wood doors, 1 x iron door & 1 x blast resistant iron door
2 New Ladders
2 x cakes
1 x Mud block (like soulsand)
I also tried to get the logs to place as in 1.3.2, but so far it wont work correctly. Sand blocks, I had working except that when the block falls the texture of a workbench shows, so I have removed them for now.
No new liquids yet, I haven't been able to get damage to work unless I use the lava function.
I haven't had a go at the meat block or items yet, I will take a look at them now and should release the mod tomorrow.
Also made afew minor changes to some code, ie. door textures are now atop each other instead of side by side.
So I didn't get to do any work over the weekend, but I had some time tonight and this is what I have working in game so far!
32 x stone diy
16 x wood diy
16 x stairs diy
16 x fence diy
16 x glass diy
16 x stained glass diy
16 x glow diy
16 x slab diy + 16 x full blocks
16 x cross texture blocks (suitable for flowers)
10 x multi diy
8 x glass panes
8 x switchable blocks
5 x liquids (same as XBEE)
4 x regular torch
4 x switchable torch
4 x switchable cross texture
4 x Buttons: 1 min, 20 sec, 10 sec, 5 sec
3 x trapdoor + 1 blast proof trapdoor
2 x wood doors, 1 x iron door & 1 x blast resistant iron door
2 New Ladders
2 x cakes
1 x Mud block (like soulsand)
I also tried to get the logs to place as in 1.3.2, but so far it wont work correctly. Sand blocks, I had working except that when the block falls the texture of a workbench shows, so I have removed them for now.
No new liquids yet, I haven't been able to get damage to work unless I use the lava function.
I haven't had a go at the meat block or items yet, I will take a look at them now and should release the mod tomorrow.
Also made afew minor changes to some code, ie. door textures are now atop each other instead of side by side.
You need to make sure the texure that you replace them with is semi transparent (about 56% works good)
But I didn't even change the textures I just edited one of the regular DIY blocks, and now the glass isn't transparent. ;s
are you using paint or simular program then stop with that and get a program as paint.net, gimp or photoshop
if not check that you are really using transparent colors (easy way to find out is to paint over other textures to se if you can se through the new color you painted)
Does this even work?
I mean it works for some blocks, but when I try to make the other types of doors nothing.
Also would I need some custom graphics/textures to make them show up?
I am using the 1.3.2(preview) if that helps any.
Rollback Post to RevisionRollBack
Frewell to IZOD Indy Car Driver Dan Wheldon 1976 - 2011
Does this even work?
I mean it works for some blocks, but when I try to make the other types of doors nothing.
Also would I need some custom graphics/textures to make them show up?
I am using the 1.3.2(preview) if that helps any.
The 1.3.2 version, only has three block types. It is just the basic version.
The full version (XBEE) for 1.3.2 is still a work in progress.
So if you want to use all the blocks you will need the 1.2.5 version.
Re-read the info in the download section for the 1.3.2 version, for the available blocks
32 x stone diy
16 x wood diy
16 x stairs diy
16 x fence diy
16 x glass diy
16 x stained glass diy
16 x glow diy
16 x slab diy + 16 x full blocks
16 x cross texture blocks (suitable for flowers)
8 x multi diy + 2 x glow multi diy
8 x glass panes
8 x switchable blocks
5 x liquids (same as XBEE)
4 x regular torch
4 x switchable torch
4 x switchable cross texture
4 x Buttons: 1 min, 20 sec, 10 sec, 5 sec
3 x trapdoor + 1 blast proof trapdoor
2 x wood doors, 1 x iron door & 1 x blast resistant iron door
2 New Ladders
2 x cakes
1 x Mud block (like soulsand)
1 x Blast resistant glass block
Also includes 2 blocks that work ingame but still need more code to be fully implemented.
They have no crafting recipes
1 x meat melon (drops 3 rotten flesh)
1 x leaf block (cherry blossom pink)
I have also implemented 16 blank items (they have no function atm)
Not sure excactly what you require of them?
I haven't done much testing but everthing seemed to work fine.
Anyway, try it out and let me know what you think!
Also haven't had time to do recipe pics, though most are the same.
There is a list (see spoiler) directly from the mods code if neccessary. (until I get the pics made)
note: the code tags have spread the code out kinda weird, but it should still do the job for now.
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 0), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 0))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 1), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 1))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 2), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 2))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 3), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 3))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 4), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 4))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 5), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 6), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 6))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 7), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 7))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 8), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 8))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 9), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 9))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 10), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 10))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 11), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 11))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 12), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 12))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 13), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 13))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 14), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 14))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 15), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 15))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 0), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 0))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 1), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 1))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 2), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 2))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 3), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 3))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 4), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 4))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 5), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 6), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 6))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 7), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 7))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 8), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 8))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 9), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 9))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 10), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 10))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 11), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 11))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 12), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 12))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 13), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 13))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 14), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 14))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 15), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 15))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 0), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 1), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 2), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 3), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 4), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 5), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 6), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 7), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 8), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 9), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 10), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 11), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 12), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 13), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 14), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 15), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(DIYMulti1, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(DIYMulti2, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(DIYMulti3, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(DIYMulti4, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(DIYMulti5, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(DIYMulti6, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIYMulti7, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(DIYMulti8, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(DIYMulti9, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(DIYMulti10, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 0), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 1))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 1), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 2))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 2), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 4))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 3), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 11))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 4), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 12))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 5), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 7))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 6), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 3))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 7), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 5))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 8), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 1))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 9), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 2))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 10), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 4))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 11), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 11))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 12), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 12))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 13), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 7))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 14), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 3))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 15), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 0), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 1), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 2), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 3), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 4), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 5), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 6), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 7), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 8), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 9), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 10), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 11), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 12), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 13), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 14), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 15), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 0), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 1), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 2), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 3), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 4), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 5), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 6), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 7), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 8), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 9), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 10), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 11), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 12), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 13), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 14), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 15), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(XBlock01, 4, 0), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(XBlock02, 4, 1), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(XBlock03, 4, 2), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(XBlock04, 4, 3), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(XBlock05, 4, 4), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(XBlock06, 4, 5), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(XBlock07, 4, 6), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(XBlock08, 4, 7), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(XBlock09, 4, 8), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(XBlock10, 4, 9), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(XBlock11, 4, 10), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(XBlock12, 4, 11), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(XBlock13, 4, 12), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(XBlock14, 4, 13), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(XBlock15, 4, 14), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(XBlock16, 4, 15), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(DIYStair1, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(DIYStair2, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(DIYStair3, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(DIYStair4, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(DIYStair5, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(DIYStair6, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIYStair7, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(DIYStair8, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(DIYStair9, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(DIYStair10, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(DIYStair11, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(DIYStair12, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(DIYStair13, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(DIYStair14, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(DIYStair15, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(DIYStair16, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(Button1m, 4), new Object [] {"G", "B", Character.valueOf('G'), Block.button, Character.valueOf('B'), Item .diamond});
ModLoader.addRecipe(new ItemStack(Button20s, 4), new Object [] {"G", "B", Character.valueOf('G'), Block.button, Character.valueOf('B'), Item.ingotGold});
ModLoader.addRecipe(new ItemStack(Button10s, 4), new Object [] {"G", "B", Character.valueOf('G'), Block.button, Character.valueOf('B'), Item.ingotIron});
ModLoader.addRecipe(new ItemStack(Button05s, 4), new Object [] {"G", "B", Character.valueOf('G'), Block.button, Character.valueOf('B'), Block.planks});
ModLoader.addRecipe(new ItemStack(mod_XtraBlocksPlus.ItemBirchDoor, 1), new Object []{
"PP", "PP", "PP", Character.valueOf('P'), (new ItemStack(Block.wood, 1, 2))});
ModLoader.addRecipe(new ItemStack(mod_XtraBlocksPlus.ItemJungleDoor, 1), new Object []{
"PP", "PP", "PP", Character.valueOf('P'), (new ItemStack(Block.wood, 1, 3))});
ModLoader.addRecipe(new ItemStack(mod_XtraBlocksPlus.ItemGlassDoor, 1), new Object []{
"PP", "PP", "PP", Character.valueOf('P'), Block.glass});
ModLoader.addRecipe(new ItemStack(mod_XtraBlocksPlus.ItemSteelDoor, 1), new Object []{
"PP", "PP", "PP", Character.valueOf('P'), Item.ingotIron});
ModLoader.addRecipe(new ItemStack(DIYLadder1, 4), new Object [] {"G G", "GGG", "G G", Character.valueOf('G'), Item.ingotIron});
ModLoader.addRecipe(new ItemStack(DIYLadder2, 4), new Object [] {"G G", "GGG", "G G", Character.valueOf('G'), Item.ingotGold});
ModLoader.addRecipe(new ItemStack(TrapDoor1, 2), new Object [] {"GGB", "GGB", Character.valueOf('G'), Block.glass, Character.valueOf('B'), Block.wood});
ModLoader.addRecipe(new ItemStack(TrapDoor2, 2), new Object [] {"BGB", "BGB", Character.valueOf('G'), Block.glass, Character.valueOf('B'), Block.stone});
ModLoader.addRecipe(new ItemStack(TrapDoor3, 2), new Object [] {"GGB", "GGB", Character.valueOf('G'), Block.glass, Character.valueOf('B'), Item.ingotIron});
ModLoader.addRecipe(new ItemStack(TrapDoorBlastProof, 2), new Object [] {"BGB", "BGB", Character.valueOf('G'), Block.glass, Character.valueOf('B'), Item.diamond});
ModLoader.addRecipe(new ItemStack(Fence1, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(FenceGate1, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(Fence2, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(FenceGate2, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(Fence3, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(FenceGate3, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(Fence4, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(FenceGate4, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(Fence5, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(FenceGate5, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(Fence6, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(FenceGate6, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(Fence7, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(FenceGate7, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(Fence8, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(FenceGate8, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(Fence9, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(FenceGate9, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(Fence10, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(FenceGate10, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(Fence11, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(FenceGate11, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(Fence12, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(FenceGate12, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(Fence13, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(FenceGate13, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(Fence14, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(FenceGate14, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(Fence15, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(FenceGate15, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(Fence16, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(FenceGate16, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(XtraPane01, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Block.glass, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane02, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Item.ingotIron, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane03, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Block.planks, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane04, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Block.fenceIron, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane05, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Block.cobblestone, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane06, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Item.ingotGold, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane07, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Block.sandStone, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane08, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Item.lightStoneDust, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(BloodBucket, 1), new Object [] {"D", "B", Character.valueOf('B'), Item.bucketEmpty, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 1))});
ModLoader.addRecipe(new ItemStack(XanthousBucket, 1), new Object [] {"D", "B", Character.valueOf('B'), Item.bucketEmpty, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 11))});
ModLoader.addRecipe(new ItemStack(OozeBucket, 1), new Object [] {"D", "B", Character.valueOf('B'), Item.bucketEmpty, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 10))});
ModLoader.addRecipe(new ItemStack(ToxicWasteBucket, 1), new Object [] {"D", "G", "B", Character.valueOf('B'), Item.bucketEmpty, Character.valueOf('G'), Item.magmaCream, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 2))});
ModLoader.addRecipe(new ItemStack(PurpleGoopBucket, 1), new Object [] {"D", "G", "B", Character.valueOf('B'), Item.bucketEmpty, Character.valueOf('G'), Item.lightStoneDust, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 5))});
ModLoader.addRecipe(new ItemStack(ChocolateCake, 1), new Object [] {"BBB", "SES", "WCW", Character.valueOf('B'), Item.bucketMilk, Character.valueOf('S'), Item.sugar, Character.valueOf('E'), Item.egg, Character.valueOf('W'), Item.wheat, Character.valueOf('C'), new ItemStack(Item.dyePowder, 1, 3)});
ModLoader.addRecipe(new ItemStack(ApplePie, 1), new Object [] {"BBB", "SES", "WAW", Character.valueOf('B'), Item.bucketMilk, Character.valueOf('S'), Item.sugar, Character.valueOf('E'), Item.egg, Character.valueOf('W'), Item.wheat, Character.valueOf('A'), Item.appleRed});
ModLoader.addRecipe(new ItemStack (LightBlocks01Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))}));
ModLoader.addRecipe(new ItemStack (LightBlocks02Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))}));
ModLoader.addRecipe(new ItemStack (LightBlocks03Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))}));
ModLoader.addRecipe(new ItemStack (LightBlocks04Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))}));
ModLoader.addRecipe(new ItemStack (LightBlocks05Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))}));
ModLoader.addRecipe(new ItemStack (LightBlocks06Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))}));
ModLoader.addRecipe(new ItemStack (LightBlocks07Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))}));
ModLoader.addRecipe(new ItemStack (LightBlocks08Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))}));
ModLoader.addRecipe(new ItemStack(Torch01, 1), new Object [] {"C", "D", "S", Character.valueOf('C'), Item.coal, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 1)), Character.valueOf('S'), Item.stick});
ModLoader.addRecipe(new ItemStack(Torch02, 1), new Object [] {"C", "D", "S", Character.valueOf('C'), Item.coal, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 2)), Character.valueOf('S'), Item.stick});
ModLoader.addRecipe(new ItemStack(Torch03, 1), new Object [] {"GDG", "GLG", " G ", Character.valueOf('D'), Block.glass, Character.valueOf('L'), Item.lightStoneDust, Character.valueOf('G'), Item.ingotIron});
ModLoader.addRecipe(new ItemStack(Torch04, 1), new Object [] {" G ", "GLG", " W ", Character.valueOf('G'), Item.paper, Character.valueOf('W'), Block.planks, Character.valueOf('L'), Item.lightStoneDust});
ModLoader.addRecipe(new ItemStack (XtraLamp01Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XtraLamp02Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XtraLamp03Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XtraLamp04Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XLamp01Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XLamp02Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XLamp03Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XLamp04Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack(BlockMud, 4), new Object [] {"G", "B", Character.valueOf('B'), Block.dirt, Character.valueOf('G'), Item.bucketWater});
ModLoader.addRecipe(new ItemStack(BlastGlass, 4), new Object [] {"G", "B", Character.valueOf('B'), Block.glass, Character.valueOf('G'), Block.obsidian});
After installing many 'functional' mods I realized there was a lack of fluff to play around with. So I went in search of it and ended up here. Configuring the ids could be a veritable nightmare considering how many there are but I found a nice little text editor thingy that will batch replace text so I fixed that easily. I havent yet begun to texturize the blocks but Im glad I have the option. Ill gradually add bits and peices from various texture packs. Thanks for the mod!
32 x stone diy
16 x wood diy
16 x stairs diy
16 x fence diy
16 x glass diy
16 x stained glass diy
16 x glow diy
16 x slab diy + 16 x full blocks
16 x cross texture blocks (suitable for flowers)
8 x multi diy + 2 x glow multi diy
8 x glass panes
8 x switchable blocks
5 x liquids (same as XBEE)
4 x regular torch
4 x switchable torch
4 x switchable cross texture
4 x Buttons: 1 min, 20 sec, 10 sec, 5 sec
3 x trapdoor + 1 blast proof trapdoor
2 x wood doors, 1 x iron door & 1 x blast resistant iron door
2 New Ladders
2 x cakes
1 x Mud block (like soulsand)
1 x Blast resistant glass block
Also includes 2 blocks that work ingame but still need more code to be fully implemented.
They have no crafting recipes
1 x meat melon (drops 3 rotten flesh)
1 x leaf block (cherry blossom pink)
I have also implemented 16 blank items (they have no function atm)
Not sure excactly what you require of them?
I haven't done much testing but everthing seemed to work fine.
Anyway, try it out and let me know what you think!
Also haven't had time to do recipe pics, though most are the same.
There is a list (see spoiler) directly from the mods code if neccessary. (until I get the pics made)
note: the code tags have spread the code out kinda weird, but it should still do the job for now.
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 0), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 0))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 1), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 1))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 2), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 2))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 3), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 3))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 4), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 4))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 5), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 6), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 6))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 7), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 7))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 8), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 8))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 9), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 9))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 10), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 10))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 11), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 11))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 12), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 12))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 13), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 13))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 14), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 14))});
ModLoader.addRecipe(new ItemStack(DIYBlocks, 4, 15), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.planks, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 15))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 0), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 0))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 1), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 1))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 2), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 2))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 3), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 3))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 4), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 4))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 5), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 6), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 6))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 7), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 7))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 8), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 8))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 9), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 9))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 10), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 10))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 11), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 11))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 12), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 12))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 13), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 13))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 14), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 14))});
ModLoader.addRecipe(new ItemStack(DIY1Blocks, 4, 15), new Object [] {"P", "W", "S", Character.valueOf('W'), Block.dirt, Character.valueOf('P'), Item.paper, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 15))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 0), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 1), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 2), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 3), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 4), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 5), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 6), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 7), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 8), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 9), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 10), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 11), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 12), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 13), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 14), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(GlowBlocks, 4, 15), new Object [] {"GBG", "GTG", "GGG", Character.valueOf('G'), Block.gravel, Character.valueOf('T'), Block.glowStone, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIY1BlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(DIYMulti1, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(DIYMulti2, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(DIYMulti3, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(DIYMulti4, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(DIYMulti5, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(DIYMulti6, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIYMulti7, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(DIYMulti8, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(DIYMulti9, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(DIYMulti10, 4, 0), new Object [] {"G G", " G ", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 0), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 1))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 1), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 2))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 2), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 4))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 3), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 11))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 4), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 12))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 5), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 7))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 6), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 3))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 1, 7), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 5))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 8), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 1))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 9), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 2))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 10), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 4))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 11), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 11))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 12), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 12))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 13), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 7))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 14), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 3))});
ModLoader.addRecipe(new ItemStack(GlassBlocks, 2, 15), new Object [] {"B", "C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('B'), Item.ingotIron, Character.valueOf('S'), (new ItemStack(Item.dyePowder, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 0), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 1), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 2), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 3), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 4), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 5), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 6), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 7), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 8), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 9), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 10), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 11), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 12), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 13), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 14), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(DIYGlassBlocks, 4, 15), new Object [] {"C", "S", Character.valueOf('C'), Block.glass, Character.valueOf('S'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 0), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 1), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 2), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 3), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 4), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 5), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 6), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 7), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 8), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 9), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 10), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 11), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 12), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 13), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 14), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(XtraSlabs, 4, 15), new Object [] {"PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(XBlock01, 4, 0), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(XBlock02, 4, 1), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(XBlock03, 4, 2), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(XBlock04, 4, 3), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(XBlock05, 4, 4), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(XBlock06, 4, 5), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(XBlock07, 4, 6), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(XBlock08, 4, 7), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(XBlock09, 4, 8), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(XBlock10, 4, 9), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(XBlock11, 4, 10), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(XBlock12, 4, 11), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(XBlock13, 4, 12), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(XBlock14, 4, 13), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(XBlock15, 4, 14), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(XBlock16, 4, 15), new Object [] {"P", "PPP", "P", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(DIYStair1, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(DIYStair2, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(DIYStair3, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(DIYStair4, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(DIYStair5, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(DIYStair6, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(DIYStair7, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(DIYStair8, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(DIYStair9, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(DIYStair10, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(DIYStair11, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(DIYStair12, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(DIYStair13, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(DIYStair14, 8), new Object [] {"R ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(DIYStair15, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(DIYStair16, 8), new Object [] {"P ", "PP ", "PPP", Character.valueOf('P'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(Button1m, 4), new Object [] {"G", "B", Character.valueOf('G'), Block.button, Character.valueOf('B'), Item .diamond});
ModLoader.addRecipe(new ItemStack(Button20s, 4), new Object [] {"G", "B", Character.valueOf('G'), Block.button, Character.valueOf('B'), Item.ingotGold});
ModLoader.addRecipe(new ItemStack(Button10s, 4), new Object [] {"G", "B", Character.valueOf('G'), Block.button, Character.valueOf('B'), Item.ingotIron});
ModLoader.addRecipe(new ItemStack(Button05s, 4), new Object [] {"G", "B", Character.valueOf('G'), Block.button, Character.valueOf('B'), Block.planks});
ModLoader.addRecipe(new ItemStack(mod_XtraBlocksPlus.ItemBirchDoor, 1), new Object []{
"PP", "PP", "PP", Character.valueOf('P'), (new ItemStack(Block.wood, 1, 2))});
ModLoader.addRecipe(new ItemStack(mod_XtraBlocksPlus.ItemJungleDoor, 1), new Object []{
"PP", "PP", "PP", Character.valueOf('P'), (new ItemStack(Block.wood, 1, 3))});
ModLoader.addRecipe(new ItemStack(mod_XtraBlocksPlus.ItemGlassDoor, 1), new Object []{
"PP", "PP", "PP", Character.valueOf('P'), Block.glass});
ModLoader.addRecipe(new ItemStack(mod_XtraBlocksPlus.ItemSteelDoor, 1), new Object []{
"PP", "PP", "PP", Character.valueOf('P'), Item.ingotIron});
ModLoader.addRecipe(new ItemStack(DIYLadder1, 4), new Object [] {"G G", "GGG", "G G", Character.valueOf('G'), Item.ingotIron});
ModLoader.addRecipe(new ItemStack(DIYLadder2, 4), new Object [] {"G G", "GGG", "G G", Character.valueOf('G'), Item.ingotGold});
ModLoader.addRecipe(new ItemStack(TrapDoor1, 2), new Object [] {"GGB", "GGB", Character.valueOf('G'), Block.glass, Character.valueOf('B'), Block.wood});
ModLoader.addRecipe(new ItemStack(TrapDoor2, 2), new Object [] {"BGB", "BGB", Character.valueOf('G'), Block.glass, Character.valueOf('B'), Block.stone});
ModLoader.addRecipe(new ItemStack(TrapDoor3, 2), new Object [] {"GGB", "GGB", Character.valueOf('G'), Block.glass, Character.valueOf('B'), Item.ingotIron});
ModLoader.addRecipe(new ItemStack(TrapDoorBlastProof, 2), new Object [] {"BGB", "BGB", Character.valueOf('G'), Block.glass, Character.valueOf('B'), Item.diamond});
ModLoader.addRecipe(new ItemStack(Fence1, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(FenceGate1, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(Fence2, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(FenceGate2, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(Fence3, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(FenceGate3, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(Fence4, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(FenceGate4, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(Fence5, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(FenceGate5, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))});
ModLoader.addRecipe(new ItemStack(Fence6, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(FenceGate6, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))});
ModLoader.addRecipe(new ItemStack(Fence7, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(FenceGate7, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))});
ModLoader.addRecipe(new ItemStack(Fence8, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(FenceGate8, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))});
ModLoader.addRecipe(new ItemStack(Fence9, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(FenceGate9, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8))});
ModLoader.addRecipe(new ItemStack(Fence10, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(FenceGate10, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9))});
ModLoader.addRecipe(new ItemStack(Fence11, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(FenceGate11, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10))});
ModLoader.addRecipe(new ItemStack(Fence12, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(FenceGate12, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11))});
ModLoader.addRecipe(new ItemStack(Fence13, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))});
ModLoader.addRecipe(new ItemStack(FenceGate13, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 12))});
ModLoader.addRecipe(new ItemStack(Fence14, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))});
ModLoader.addRecipe(new ItemStack(FenceGate14, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 13))});
ModLoader.addRecipe(new ItemStack(Fence15, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))});
ModLoader.addRecipe(new ItemStack(FenceGate15, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 14))});
ModLoader.addRecipe(new ItemStack(Fence16, 4), new Object [] {"GGG", "GGG", Character.valueOf('G'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))});
ModLoader.addRecipe(new ItemStack(FenceGate16, 4), new Object [] {"GBG", "GBG", Character.valueOf('G'), Item.stick, Character.valueOf('B'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 15))});
ModLoader.addRecipe(new ItemStack(XtraPane01, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Block.glass, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane02, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Item.ingotIron, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane03, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Block.planks, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane04, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Block.fenceIron, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane05, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Block.cobblestone, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane06, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Item.ingotGold, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane07, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Block.sandStone, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(XtraPane08, 16), new Object [] {"GGG", "GBG", "GGG", Character.valueOf('B'), Item.lightStoneDust, Character.valueOf('G'), Item.stick});
ModLoader.addRecipe(new ItemStack(BloodBucket, 1), new Object [] {"D", "B", Character.valueOf('B'), Item.bucketEmpty, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 1))});
ModLoader.addRecipe(new ItemStack(XanthousBucket, 1), new Object [] {"D", "B", Character.valueOf('B'), Item.bucketEmpty, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 11))});
ModLoader.addRecipe(new ItemStack(OozeBucket, 1), new Object [] {"D", "B", Character.valueOf('B'), Item.bucketEmpty, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 10))});
ModLoader.addRecipe(new ItemStack(ToxicWasteBucket, 1), new Object [] {"D", "G", "B", Character.valueOf('B'), Item.bucketEmpty, Character.valueOf('G'), Item.magmaCream, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 2))});
ModLoader.addRecipe(new ItemStack(PurpleGoopBucket, 1), new Object [] {"D", "G", "B", Character.valueOf('B'), Item.bucketEmpty, Character.valueOf('G'), Item.lightStoneDust, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 5))});
ModLoader.addRecipe(new ItemStack(ChocolateCake, 1), new Object [] {"BBB", "SES", "WCW", Character.valueOf('B'), Item.bucketMilk, Character.valueOf('S'), Item.sugar, Character.valueOf('E'), Item.egg, Character.valueOf('W'), Item.wheat, Character.valueOf('C'), new ItemStack(Item.dyePowder, 1, 3)});
ModLoader.addRecipe(new ItemStack(ApplePie, 1), new Object [] {"BBB", "SES", "WAW", Character.valueOf('B'), Item.bucketMilk, Character.valueOf('S'), Item.sugar, Character.valueOf('E'), Item.egg, Character.valueOf('W'), Item.wheat, Character.valueOf('A'), Item.appleRed});
ModLoader.addRecipe(new ItemStack (LightBlocks01Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0))}));
ModLoader.addRecipe(new ItemStack (LightBlocks02Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1))}));
ModLoader.addRecipe(new ItemStack (LightBlocks03Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2))}));
ModLoader.addRecipe(new ItemStack (LightBlocks04Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3))}));
ModLoader.addRecipe(new ItemStack (LightBlocks05Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 4))}));
ModLoader.addRecipe(new ItemStack (LightBlocks06Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 5))}));
ModLoader.addRecipe(new ItemStack (LightBlocks07Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 6))}));
ModLoader.addRecipe(new ItemStack (LightBlocks08Idle, 4), (new Object[] {"XXX", "XYX", "XXX", Character.valueOf('Y'), Item.redstone, Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 7))}));
ModLoader.addRecipe(new ItemStack(Torch01, 1), new Object [] {"C", "D", "S", Character.valueOf('C'), Item.coal, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 1)), Character.valueOf('S'), Item.stick});
ModLoader.addRecipe(new ItemStack(Torch02, 1), new Object [] {"C", "D", "S", Character.valueOf('C'), Item.coal, Character.valueOf('D'), (new ItemStack(Item.dyePowder, 1, 2)), Character.valueOf('S'), Item.stick});
ModLoader.addRecipe(new ItemStack(Torch03, 1), new Object [] {"GDG", "GLG", " G ", Character.valueOf('D'), Block.glass, Character.valueOf('L'), Item.lightStoneDust, Character.valueOf('G'), Item.ingotIron});
ModLoader.addRecipe(new ItemStack(Torch04, 1), new Object [] {" G ", "GLG", " W ", Character.valueOf('G'), Item.paper, Character.valueOf('W'), Block.planks, Character.valueOf('L'), Item.lightStoneDust});
ModLoader.addRecipe(new ItemStack (XtraLamp01Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 0)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XtraLamp02Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 1)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XtraLamp03Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 2)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XtraLamp04Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 3)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XLamp01Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 8)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XLamp02Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 9)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XLamp03Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 10)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack (XLamp04Idle, 4), (new Object[] {"X", "Y", "Z", Character.valueOf('X'), (new ItemStack(mod_XtraBlocksPlus.DIYBlocksID, 1, 11)), Character.valueOf('Y'), Item.redstone, Character.valueOf('Z'), Item.stick}));
ModLoader.addRecipe(new ItemStack(BlockMud, 4), new Object [] {"G", "B", Character.valueOf('B'), Block.dirt, Character.valueOf('G'), Item.bucketWater});
ModLoader.addRecipe(new ItemStack(BlastGlass, 4), new Object [] {"G", "B", Character.valueOf('B'), Block.glass, Character.valueOf('G'), Block.obsidian});
Hmmm something strange happens. I have installed forge correctly, also NEI with its' core mods, but Xtra blocks is simply not working. I put zip file in mods folder, and its just not working. I can play Minecraft, but this mod is somehow not loading as it should, it acts like it have never existed. Any thoughts?
Apparently, no, Config file doesn't generate. Mods I have installed are:
Code Chicken Core 0.6.0
NEI 1.4.0.0
And Forge
Although I have found this in FML file:
2012-09-07 19:16:50 [FINE] [ForgeModLoader] Examining directory XxtraBlocks+ v2.0 (client) for potential mods
2012-09-07 19:16:50 [INFO] [ForgeModLoader] No mcmod.info file found in directory XxtraBlocks+ v2.0 (client)
2012-09-07 19:16:50 [FINEST] [ForgeModLoader] Recursing into package XtraBlocks
2012-09-07 19:16:50 [FINEST] [ForgeModLoader] Recursing into package XtraBlocks.diyblocks
2012-09-07 19:16:50 [FINEST] [ForgeModLoader] Recursing into package XtraBlocks.xtras
2012-09-07 19:16:50 [FINE] [ForgeModLoader] Examining file XxtraBlocks+ v2.0 (client).zip for potential mods
2012-09-07 19:16:50 [INFO] [ForgeModLoader] The mod container XxtraBlocks+ v2.0 (client).zip appears to be missing an mcmod.info file
2012-09-07 19:16:50 [INFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load.
Also, any ideas why I can't install MC Patcher? When I install it on fresh jar, I got blackscreen everytime. I didn't have any other mods installed. Is there a problem with it to this version of minecraft? That was a little bit offtopic.
I see your problem.
Given your using the 1.3.2 version of NEI, I must assume that you are also using minecraft 1.3.2.
The XB+ mod is for 1.2.5.
I figured the the title above the download would give that away
Requires Forge [client for SSP & server for SMP] (use latest stable build v3.4.9.171.)
I figured that seeing as you suggested I leave the 1.3.2 update that you were sticking with 1.2.5.
Not to mention, I am still having a lot of problems with certian blocks for the 1.3.2 update. It's a total HeadF@#k
I've kinda had a thought (yeah i know dangerous) for a possible future expansion to your mod, do you remember kaevators super slopes mod? how about making some angled and sloped blank blocks that people can texture how they want?
also how about some big doors? you know like 2 squares wide and and perhaps 3 high for warehouse style doors, and say 4 wide and 8 high for castle style doors? or is that not possible?
anyhow good luck with the current updates looking forward to them being ready for 1.3 soon tm ;P
Good News, I already had a download of the sourcecode (1.2.3 Slopes) that Keavator released upon his departure.
I have left the vast majority of the code the same, just made it so you can use custom textures and changed the names.
I have it working in MCP for both ssp & smp If all goes well, I will have it ready for download tonight.
I know there was a mod that allowed for bigger door like you suggested, so it is possible.
Don't know if I could do it though. I will investigate
EDIT:
Ok, my thought about it? It is absolutely amazing. When I got it to work, And I've seen new mud and melon blocks... I was amazed. And here is another thing that I might find usefull.
New Cobweb. In my texture pack Cobweb is actually a smoka block, that I use to do dynamic builds. I'd like to have one more cobweb block to look like barbed wire. I think you can handle adding one more cobweb, can't you?
That, and few more Items, I really like them. I will use all of them, and even more if you will add more, because additional items are always usefull for map-makers. And I really like the new flower blocks. You did exactly what I wanted, and if you will ever come to Poland I will buy you a beer.
Glad you like it
I imagine a cobweb shouldn't be to hard to code, I will see what I can do.
Will another 16 items be enough for you?
Good News, I already had a download of the sourcecode (1.2.3 Slopes) that Keavator released upon his departure.
I have left the vast majority of the code the same, just made it so you can use custom textures and changed the names.
I have it working in MCP for both ssp & smp If all goes well, I will have it ready for download tonight.
Ok, first off, custom textured slopes? Perfect for my project. Absolutely perfect. I thank you kindly, good sir.
Second off, if one were to start using the basic version of Extra Blocks, and you released the more advanced/more blocks versions down the line, can you upgrade to those versions without destroying your map or anything catastrophic like that?
Ok, first off, custom textured slopes? Perfect for my project. Absolutely perfect. I thank you kindly, good sir.
Second off, if one were to start using the basic version of Extra Blocks, and you released the more advanced/more blocks versions down the line, can you upgrade to those versions without destroying your map or anything catastrophic like that?
Yes, I try to keep the ID's the same across the board so updating to another version should cause no problems.
You can also use the config file for compatibility if I ever need to change an ID.
Weird, isn't it? When liquid block is right next to glass pane of your creation, it is invisible. However, it creates kinda awesome effect of radiation (Check it on the right behind diamond panes). Hmm... I am not sure if you should try to fix it or leave it like that, because it is usefull for nice effects.
Yeh, that is a weird glitch but I don't know where it stems from. (Let's just go with Awesome Effect, for now )
Fixed the glass, I had the render numbers for the two glass types in each others files (Derp!)
Also added 16 more items and a Barbed wire block (acts like a web, deals damage like a cactus)
Requires Forge [client for SSP & server for SMP] (use latest stable build v3.4.9.171.)
For those interested in the slopes mod. I have a single player only, version ready for release (still need to figure out one piece of code to get muliplayer working outside of MCP, hopefully I will figure it out soon.)
And now... you just made my day! First of all, Barbed wire is the best thing I've ever seen. Lets say I have never expected you to mod something like this, I thought you will just put another cobweb and you will say that's the barbed (not really barbed) wire.
Also, this effect is actually really cool, I will use it in my map a lot. You can't see lava, but you can see particles. I like it. Also, is there a way to create a red and green torches that generate only colored smoke particles, not flame ones? Because flame is orange, and smoke is green/red. It looks weird together. And for Emergency flare, it would be better to have only smoke, not a flame.
If you re-download the 2.1 links from my above post, I have changed the particle effect for you.
Nah!
I have to stick with the 1.3.2 development, so as to get the current set of blocks to a working state.
The vast majority of blocks require new code in addition to the Forge changes, in order to function as before (progress is being made).
Jeb has already stated that the 1.4 release should be out on Halloween and I don't anticipate the code changes being so dramatic.
At the very least, whether or not a full release of XBEE for 1.3.2 makes it out or not, the lessons learned will be invaluable.
Not to mention for the 1.2.5 version ,I have made a break through with getting my custom models working in SMP.
So I will be spending some time adding some new features.
Hence the delay in the afore mentioned release for today.
Yeh, I know! I am trying to work out a good balance for the amount of torches and lamps vs the different types.
Especially As I have the code done for the lamps that have the true cross texture
(as it is that would add 8 more to the current tally ).
Feel free to suggest away on that one People's, (should I remove some or keep them all?)
I will most likely release the next update on Saturday.
Good job on the textures, thanks for sharing them.
I will add them to the OP next chance I get.
The problem with that is the true cross render doesn't allow for wall placement like a torch.
Plus, i'm sure that many users have spent a lot of time texturing and placing the existing lamps/torches into thier worlds. It would kind of suck if I removed them all.
As it stands, I am thinking along the lines of:
4 x regular torch
4 x switchable torch
8 x switchable blocks
4 x switchable cross texture
4 x cross texture
If that will screw up anyones build, I will leave the existing blocks and just add the ture cross blocks.
I have a suggestion for you this time CarbonLord, I have noticed that you aren't as keen on some additions as others are.
If you post or send me a list of which blocks and how many of each you would like, I will set up the XtraBlocks+ version to your specs.
That version doesn't really get any attention anymore and I was thinking of scrapping it, so I would be happy to overhaul it.
Green = deffinate
Orange = maybe.
Red = not at the moment.
Got a pretty busy weekend lined up, but I should be able to get it out in a day or two.
I really need help. D:
So I didn't get to do any work over the weekend, but I had some time tonight and this is what I have working in game so far!
32 x stone diy
16 x wood diy
16 x stairs diy
16 x fence diy
16 x glass diy
16 x stained glass diy
16 x glow diy
16 x slab diy + 16 x full blocks
16 x cross texture blocks (suitable for flowers)
10 x multi diy
8 x glass panes
8 x switchable blocks
5 x liquids (same as XBEE)
4 x regular torch
4 x switchable torch
4 x switchable cross texture
4 x Buttons: 1 min, 20 sec, 10 sec, 5 sec
3 x trapdoor + 1 blast proof trapdoor
2 x wood doors, 1 x iron door & 1 x blast resistant iron door
2 New Ladders
2 x cakes
1 x Mud block (like soulsand)
I also tried to get the logs to place as in 1.3.2, but so far it wont work correctly. Sand blocks, I had working except that when the block falls the texture of a workbench shows, so I have removed them for now.
No new liquids yet, I haven't been able to get damage to work unless I use the lava function.
I haven't had a go at the meat block or items yet, I will take a look at them now and should release the mod tomorrow.
Also made afew minor changes to some code, ie. door textures are now atop each other instead of side by side.
You need to make sure the texure that you replace them with is semi transparent (about 56% works good)
Never mind, Mangesmith helped me. ;3
Ok thanks. c: Ill use GIMP c:
I mean it works for some blocks, but when I try to make the other types of doors nothing.
Also would I need some custom graphics/textures to make them show up?
I am using the 1.3.2(preview) if that helps any.
Not quite, just got a lot going on at the moment.
The 1.3.2 version, only has three block types. It is just the basic version.
The full version (XBEE) for 1.3.2 is still a work in progress.
So if you want to use all the blocks you will need the 1.2.5 version.
Re-read the info in the download section for the 1.3.2 version, for the available blocks
Was wondering why the recipes wasn't working.
Oh well at least I have more glass to make buildings with.
Here you go!
Requires Forge [client for SSP & server for SMP] (use latest stable build v3.4.9.171.)
[1.2.5] XtraBlocks+v2.0(client)
http://www.mediafire...gd2r8zqihchqff9
[1.2.5] XtraBlocks+v2.0(server)
http://www.mediafire...9c2i88u1pkc4oc3
32 x stone diy
16 x wood diy
16 x stairs diy
16 x fence diy
16 x glass diy
16 x stained glass diy
16 x glow diy
16 x slab diy + 16 x full blocks
16 x cross texture blocks (suitable for flowers)
8 x multi diy + 2 x glow multi diy
8 x glass panes
8 x switchable blocks
5 x liquids (same as XBEE)
4 x regular torch
4 x switchable torch
4 x switchable cross texture
4 x Buttons: 1 min, 20 sec, 10 sec, 5 sec
3 x trapdoor + 1 blast proof trapdoor
2 x wood doors, 1 x iron door & 1 x blast resistant iron door
2 New Ladders
2 x cakes
1 x Mud block (like soulsand)
1 x Blast resistant glass block
Also includes 2 blocks that work ingame but still need more code to be fully implemented.
They have no crafting recipes
1 x meat melon (drops 3 rotten flesh)
1 x leaf block (cherry blossom pink)
I have also implemented 16 blank items (they have no function atm)
Not sure excactly what you require of them?
I haven't done much testing but everthing seemed to work fine.
Anyway, try it out and let me know what you think!
Also haven't had time to do recipe pics, though most are the same.
There is a list (see spoiler) directly from the mods code if neccessary. (until I get the pics made)
note: the code tags have spread the code out kinda weird, but it should still do the job for now.
Which two?
If you mean PixelArtist and any of the 3 XtraBlocks versions, then yes they are compatible.
Not sure? It works fine for me
Forge v3.4.9.171.
CodeChickenCore-Client 0.5.5
NotEnoughItems-Client 1.3.0.1
Does the config file generate?
I see your problem.
Given your using the 1.3.2 version of NEI, I must assume that you are also using minecraft 1.3.2.
The XB+ mod is for 1.2.5.
I figured the the title above the download would give that away
I figured that seeing as you suggested I leave the 1.3.2 update that you were sticking with 1.2.5.
Not to mention, I am still having a lot of problems with certian blocks for the 1.3.2 update. It's a total HeadF@#k
Good News, I already had a download of the sourcecode (1.2.3 Slopes) that Keavator released upon his departure.
I have left the vast majority of the code the same, just made it so you can use custom textures and changed the names.
I have it working in MCP for both ssp & smp If all goes well, I will have it ready for download tonight.
I know there was a mod that allowed for bigger door like you suggested, so it is possible.
Don't know if I could do it though. I will investigate
Glad you like it
I imagine a cobweb shouldn't be to hard to code, I will see what I can do.
Will another 16 items be enough for you?
That is awesome news looking forward to it.
Second off, if one were to start using the basic version of Extra Blocks, and you released the more advanced/more blocks versions down the line, can you upgrade to those versions without destroying your map or anything catastrophic like that?
Yes, I try to keep the ID's the same across the board so updating to another version should cause no problems.
You can also use the config file for compatibility if I ever need to change an ID.
Yeh, that is a weird glitch but I don't know where it stems from. (Let's just go with Awesome Effect, for now )
Fixed the glass, I had the render numbers for the two glass types in each others files (Derp!)
Also added 16 more items and a Barbed wire block (acts like a web, deals damage like a cactus)
Requires Forge [client for SSP & server for SMP] (use latest stable build v3.4.9.171.)
[1.2.5]XxtraBlocks+ v2.1 (client).zip
http://www.mediafire.com/?314807c59l4211b
[1.2.5]XxtraBlocks+ v2.1 (server).zip
http://www.mediafire.com/?9wo0rgxwwq8w6w7
For those interested in the slopes mod. I have a single player only, version ready for release (still need to figure out one piece of code to get muliplayer working outside of MCP, hopefully I will figure it out soon.)
All credit goes to Keavator for this mod. I have simply made it so you can use custom textures.
(Keavator released the source code as he retired)
See Keavators original post for crafting recipes.
http://www.minecraftforum.net/topic/151725-123-kaevator-mods-slopes-wooden-frames-wallpapers/page__hl__ keavator slopes
Requires Forge [client for SSP & server for SMP] (use latest stable build v3.4.9.171.)
[1.2.5]XtraSlopes_v1.0.zip
http://www.mediafire.com/?4j3qbceyj23r7yg
If you re-download the 2.1 links from my above post, I have changed the particle effect for you.
Edit: Actually I will add them here too!
Enjoy!
[1.2.5]XxtraBlocks+ v2.1 (client).zip
http://www.mediafire.com/?314807c59l4211b
[1.2.5]XxtraBlocks+ v2.1 (server).zip
http://www.mediafire.com/?9wo0rgxwwq8w6w7