--- Ambiguous Cases --- ||
Several times in this guide, you may see multiple ways of adding new content with different formats.
These formats will vary between using a simple ID or a compound (ID:META). These cases are
interchangable. For example, you may see a tag for a smelting recipe:
smelting, idToBeSmelted, resultId, amount, exp (x.x)
OR
smelting, (idToSmelt:meta), (resultId:meta), amount, exp (x.x)
Since the tag is ambiguous, the simple and compound formats may be interchanged, like so:
smelting, idToBeSmelted, (resultId:meta), amount, exp (x.x)
This will result in a new smelting recipe where a general item can be smelted into a specific item.
A more real example would be smelting any color wood into brown dye:
smelting, 5, (351:3), 1, 30.0
That will add a recipe where any of the four logs (oak, birch, jungle, redwood) can be put into a
furnace and a brown down will always result. If instead a compound was used (5:0), then only oak
logs would work for that recipe.
WARNING: Putting a general case for an output ID will always assume the lowest metadata value. Use
your judgement when dealing with ambiguous outputs, as if there is metadata involved, it would be
wise to be specific of what you want.
|| --- Server Installation --- ||
BBMM is possible to install on a server. In order to do so, install forge as you normally would in a
server folder. Next, drag this zip into the mods folder and either:
create a new folder titled bbmm
OR
run the server and the directory will be made for you
Next, simply drag any mods created through bbmm (that is, the .bbmm files that have been created)
into the bbmm folder and then run the server and it will load everything from the file.
|| --- Client Installation --- ||
BBMM is installed in mostly the same way on the client. Install forge as you would normally and then
drag the BBMM zip into the mods folder in .minecraft. Next, either:
create a new folder titled bbmm
OR
run Minecraft and the directory will be made for you
|| --- Things to Know --- ||
Several times throughout this file, you will see things such as blockID and itemID. These are data
values used by Minecraft to tell the game several different things, such as what a block does when
it updates, or what an item does when you right click with it. IDs must be unique - a block's ID
can not be used by another block or item, and the same goes for items. Item IDs are shifted by 256,
meaning that when an item's ID is declared as 5000, it's ID will actually be 5256. So in this
context, if you declare an item using the item creation tag:
item, My Item, 5000, myItem
and want to use that item in a crafting recipe, you will need to use 5256 instead of 5000:
shapeless crafting, 5256-5256-5256, 1, 64
That particular shapeless recipe will create 64 stone (stone's ID is 1) blocks from three of the
item with ID 5256 (5000+256, or 'My Item').
For a full list of IDs that are already being used by Minecraft, go here and click the picture:
http://www.minecraftwiki.net/wiki/Data_values
If you find a free ID, you may use it to create a new block or item.
|| --- Installing Building Blocks Mods --- ||
Installing mods created with Building Blocks is a bit more difficult. Since rendering is done
client-side, textures will need to be installed in a different location from the .bbmm file. They
will need to be put into a folder called bbmm and armor files go into bbmm/armor, then that should
be compressed to a .zip and the zip should be added to the mods folder. The .bbmm file needs to be
added to the bbmm folder in .minecraft.
The entire BBMM style mod directory should be like this: (This setup sucks, but it's required)
.minecraft > mods > BBMM vX.Y.Z.zip > assets > bbmm > textures > items > .png files
.minecraft > mods > BBMM vX.Y.Z.zip > assets > bbmm > textures > blocks > .png files
.minecraft > mods > BBMM vX.Y.Z.zip > assets > bbmm > textures > armor > .png files
.minecraft > mods > BBMM vX.Y.Z.zip > assets > bbmm > textures > gui > .png files
.minecraft > bbmm > .bbmm files
|| --- A Guide To Making Mods --- ||
--Block Creation Tags--
Blocks! Everybody likes new blocks, and knowing that you made one and added it to your game can just
feel so rewarding.
block, Block Name, blockID, blockMaterial, hardness (x.x), resistance (x.x), light (0.0 to 1.0), texture
accepted Block Materials: rock, cloth/wool, wood, dirt/ground, iron/metal, glass, leaves
accepted Light Values: 0.0 to 1.0
optional parameters: quantity dropped, id dropped
block, Block Name, blockID, blockMaterial, hardness (x.x), resistance (x.x), light (0.0 to 1.0), texture, qDrop
block, Block Name, blockID, blockMaterial, hardness (x.x), resistance (x.x), light (0.0 to 1.0), texture, qDrop, idDrop
block, Block Name, blockID, blockMaterial, hardness (x.x), resistance (x.x), light (0.0 to 1.0), texture, qDrop, (idDrop:meta)
qDrop is ambiguous. There are two ways to set the quantity drop. To set the drop explicitly,
give it a number. To set it randomly in a range, use #r#, where the first # is the
minimum, and the second # is the maximum amount.
Any of those will work.
--Ore Dictionary Definition--
Did you make an ingot or ore that already exists in another mod? More importantly, do you want your
ingot or ore to be useable by that other mod? This tag will allow you to do just that!
ore dictionary, id, Name
ore dictionary, (id:meta), Name
Try to stick with the conventional names for dictionary users:
Ores are generally oreName
Ingots are usually ingotName
Gems, gemName
You can't add ore dictionary recipes. Yet. . . (seriously, someone do this so I don't have to)
--Tool Creation Tags--
Tools are an important part of many mods, and many players love new toolsets. Creating new toolsets
is simple.
tool material, Material Name, harvestLevel, maxUses, efficiency (x.x), damage, enchantability
tool, Tool Name, itemID, texture, toolType, toolMaterial
accepted Tool Types: pickaxe, hatchet/axe, hoe, shovel/spade, sword
--Armor Creation Tags--
No good mod would be complete without at least one set of armor! What's the point of digging metal
out of the ground if you can't wear it?
armor material, Material Name, durability, helmReduct, chestReduct, legsReduct, bootsReduct, enchantability
armor, Armor Name, itemID, texture, armorType, armorMaterial, armorFile
accepted Armor Types: helm, chest, legs, boots
NOTE: Creating armor is a bit more extensive. An armor texture must be made and put into the mod's
assets/bbmm/textures/armor folder labelled either _1 or _2, depending on the type of armor
Helm, chest and boots require a 1, legs use a 2. The following is an example:
armor, Yellow Chestplate, 6000, yellowChestplate, chest, Yellow, yellow
mods > mybbmm.zip > assets > bbmm > textures > armor > yellow_1.png
The mod will know automatically where to get all of the proper information to make the item render
properly when worn.
--Generic Item Creation Tags--
Almost every mod makes a new item! These tags should help you create some generic items to use in
crafting recipes for more functional content.
item, Item Name, itemID, texture
food, Item Name, itemID, texture, healthValue, saturation (x.x), canHealWolf (true or false)
--Crafting Creation Tags---
Crafting is a HUGE part of Minecraft! Whether it's turning a log into planks or creating a stat-
boosting Beacon, no mod would be complete without at least one recipe!
-Shortcut for Tools-
These tags are used to create tools using the generic vanilla recipes. It's quicker to use these
than using the more specific recipes, unless your tools are crafted in the traditional way.
crafting, Tool Name, craftMaterialId, toolType
OR
crafting, Tool Name, (materialID:meta), toolType
accepted Tool Types: pickaxe, hatchet/axe, hoe, shovel/spade, sword
-Completely Configurable Recipes-
These tags are used to create specific shaped recipes. Be very careful to make sure it is formatted
properly in your files!
custom crafting, recipe shape, params, idCrafted, amount
Custom Crafting Examples:
Bread
custom crafting, 'www', w=296, 297, 1
Bow
custom crafting, ' ws'-'w s'-' ws', w=280 s=287, 261, 1
Blue Wool
custom crafting, 'wd', w=35 d=(351:4), (35:11), 1
For ore dictionary recipes, param values can be strings to support registered items:
custom crafting, 'psp', p=plankWood s=1, 10, 1
The above recipe will yield 1 lava when supplied with one stone and two of any item that is
registered in the ore dictionary as plankWood. If no item is registered there, then the recipe
will not be accessible
As one can see, the recipe shape can vary in size and shape, just remember to chain the lines
together with hyphens! The recipe params are the values of the items. In the bread example,
where it says w=296, that means the w in the 'www' is itemID 296, which is wheat, and the output
is 1 bread (297).
-Shapeless Crafting-
Shapeless recipes are less common than shaped recipes, but sometimes you just need one!
shapeless crafting, params, result, amount
Shapeless Crafting Examples:
Book
shapeless crafting, 334-339-339-339, 340, 1
Red Wool
shapeless crafting, 35-(351:1), (35:14), 1
For ore dictionary recipes, param values can be strings to support registered items:
shapeless crafting, oreIron-(5:1), 9, 1
The above shapeless recipe will yield 1 water when supplied with one spruce plank and one item
that is registered int he ore dictionary as oreIron. If no item is registered there, then the
recipe will not be accessible
--World Generation--
BBMM includes two types of world generation; minables and structures. Minables are just ores than
can be found inside of a dimension's stone blocks. Structures are made in-game and then generated
in new worlds. They are very picky about how they will generate, so don't get discouraged if you
can't get it to work.
-Minables-
worldgen, blockID, minLevel, maxLevel, rarity, veinSize, dimension
OR
worldgen, (blockID:meta), minLevel, maxLevel, rarity, veinSize, dimension