# :-: 第一份合成表
新建包`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大佬的教程)