
? ??Minecraft是一款非常受歡迎的沙盒游戲,玩家可以在游戲中自由創(chuàng)造、建造、探險(xiǎn)等。而游戲模組(mods)的出現(xiàn),極大地拓寬了游戲地玩法,讓玩家可以更好地發(fā)揮自己的想象力。
? ? 下面我會(huì)大概講述一下如何進(jìn)行簡(jiǎn)單的模組開發(fā)。
? ? 在學(xué)習(xí)之前,我們需要對(duì)minecraft有一定的了解,知道物品、方塊、npc等實(shí)物的名詞含義,并且了解學(xué)習(xí)過Java編程。
? ? 首先,我們需要下載Minecraft Forge,Minecraft Forge是一款用于Minecraft mods開發(fā)的API,可以提供一些常用的函數(shù)和工具類??梢詮墓倬W(wǎng)(https://files.minecraftforge.net/)下載最新版的Forge。
? ? 然后,創(chuàng)建新的mods工程,打開idea,創(chuàng)建一個(gè)新的Java工程。將下載好的Minecraft Forge添加到工程的依賴庫(kù)中。
? ? 準(zhǔn)備工作做完后,我們就可以直接使用Froge庫(kù)中自帶的工具類來開發(fā)mods。
? ? 我們可以先建一個(gè)package,名字一般是“com.xxx”,xxx是mod的名字。
? ? 然后介紹一下,開發(fā)中比較重要的幾個(gè)API:
? ??Item:表示游戲中的物品,可以用來設(shè)置物品的屬性,如名稱、紋理、耐久度等。
????Block:表示游戲中的方塊,可以用來設(shè)置方塊的屬性,如名稱、紋理、硬度、爆炸抗性等。
????CreativeTabs:表示游戲中的創(chuàng)造模式標(biāo)簽,使用這個(gè)API可以將你的mods物品添加到游戲中的創(chuàng)造模式標(biāo)簽中。
????Entity:表示游戲中的生物或?qū)嶓w,可以用來設(shè)置生物或?qū)嶓w的行為、屬性等。
????ItemStack:表示游戲中的物品棧,可以用來設(shè)置物品棧的數(shù)量、元數(shù)據(jù)等。
? ? 然后在我們的Main類中進(jìn)行代碼編寫。我們可以嘗試一個(gè)簡(jiǎn)單的"三個(gè)黑曜石來合成黑曜石稿子",這個(gè)例子我把它放在文章最后。
? ??在注冊(cè)mods時(shí),需要使用Minecraft Forge提供的API來注冊(cè)物品、方塊、生物等。這里幾個(gè)常用的API:
? ??GameRegistry.registerItem():注冊(cè)物品。
????GameRegistry.registerBlock():注冊(cè)方塊。
????EntityRegistry.registerModEntity():注冊(cè)生物。
? ? 最后,代碼測(cè)試結(jié)果成功后,就可以把它打包成jar文件,然后復(fù)制粘貼到minecratf的mods文件夾即可。
// 導(dǎo)入Minecraft Forge提供的API
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry; // 注冊(cè)合成配方的類
public class ModRecipes {
public static void init() {
// 注冊(cè)黑曜石稿子的合成配方
GameRegistry.addShapedRecipe(new ItemStack(Items.WRITABLE_BOOK),
// 合成結(jié)果
"BBB", // 第一行
"BBB", // 第二行
"BBB", // 第三行
'B', Blocks.OBSIDIAN); // 合成原料(3個(gè)黑曜石)
}
}
我們使用Minecraft Forge提供的API?GameRegistry.addShapedRecipe()?來注冊(cè)合成配方。首先創(chuàng)建一個(gè)新的?ItemStack?對(duì)象,表示合成的結(jié)果,這里是一個(gè)黑曜石稿子。然后用?addShapedRecipe()?方法來注冊(cè)合成配方,第一個(gè)參數(shù)是合成結(jié)果,接下來的三個(gè)參數(shù)分別表示合成表中的三行,每行用字符串表示,其中 'B' 表示黑曜石。這樣就完成了三個(gè)黑曜石合成黑曜石稿子的合成配方的注冊(cè)。