# :-: 第一份合成表
新建包`net.xiaobang.bm.crafting`,并在其中新建类`CraftingLoader`
**`src/main/java/net/xiaobang/bm/crafting/CraftingLoader.java`**
~~~
package net.xiaobang.bm.crafting;
import cpw.mods.fml.common.registry.GameRegistry;//1.7.X
//import net.minecraftforge.fml.common.registry.GameRegistry;1.8.X所使用滴
public class CraftingLoader
{
public CraftingLoader()
{
registerRecipe();
registerSmelting();
registerFuel();
}
private static void registerRecipe()
{
}
private static void registerSmelting()
{
}
private static void registerFuel()
{
}
}
~~~
向`registerRecipe`方法添加内容:
**`src/main/java/net/xiaobang/bm/crafting/CraftingLoader.java`(部分)**
~~~
private static void registerRecipe()
{
GameRegistry.addShapedRecipe(new ItemStack(new ItemDiamondStick()), new Object[]
{
"###", "#*#", "###", '#', Items.diamond, '*', Items.stick//如果你想要其他是空的,那么用空格代替
});
/*GameRegistry.addShapedRecipe(new ItemStack(Blocks.grass), new Object[]
{
"##", "##", '#', Blocks.vine
这是一个多行注释
});*/
//GameRegistry.addShapelessRecipe(new ItemStack(Blocks.vine, 4), Blocks.grass);
}
~~~
前两句通过调用`addShapedRecipe`方法添加了有序合成表(如合成木棍等等)。
后一句通过调用`addShapelessRecipe`方法添加了无序合成表(如合成书等等)。
Minecraft原版所有的方块和物品都被存放在`Blocks`类和`Items`类里。
读者想必到这里已经明白,这三份合成表是什么意思了,不过需要注意的可能是表示字符的单引号和表示字符串的双引号。
不要忘记了导入哦。
emmm差点忘了,还要在CommonProxy的init函数中注册CraftingLoader:
**`src/main/java/net/xiaobang/bm/common/CommonProxy.java`**(部分)
~~~
public void init(FMLInitializationEvent event)
{
new CraftingLoader();
}
~~~
(以上大部分来自zzzz大佬的教程)