青热久思思-青视频在线-青娱乐99-青娱乐激情视频-亚洲变态-亚洲播放

跑跑車首頁

當前位置:首頁攻略秘籍單機攻略 → 我的世界NEI物品管理器mod詳細圖文使用教程

我的世界NEI物品管理器mod詳細圖文使用教程

作者:佚名來源:本站整理 發表時間:2015/10/26 9:47:58 評論(0)
8 頁 插件編寫篇

插件編寫篇

由于這塊內容靈活度太大,我不可能將每一個方法都介紹到,所以我只會挑選出幾個常用的來講。如果你是普通玩家那么這部分你可以跳過。

一. 依賴

第一步當然就是添加依賴了。首先,打開你的build.gradle文件,在文件的下面添加這樣幾行:

repositories {

    maven {

        name = "chickenbones"

        url = "http://chickenbones.net/maven"

    }

}

dependencies {

    compile "codechicken:CodeChickenLib:1.8-1.1.2.139:dev"

    compile "codechicken:CodeChickenCore:1.8-1.0.5.36:dev"

    compile "codechicken:NotEnoughItems:1.8-1.0.5.104:dev"

}

當然,dependencies里面的版本請自己選擇合適的,這里可能不是最新的,如果你要是1.7.10的mod就選擇1.7.10的版本,具體的版本號請到這里(CCC, NEI)和這里(CCL)查看。

接下來,把那幾個dev的mod文件下載下來,加到你IDE的依賴里,這里很簡單就不說了。

二. IConfigureNEI

我們需要先創建一個類實現(Implements) IConfigureNEI,名稱隨意,我在這里將其命名為NEIConfig。這個類的作用相當于是一個入口,當NEI需要載入插件的時候會搜索到這個類,從而加載你的插件。

你一共需要實現三個方法:

loadConfig:這個方法是用來注冊Handler或者設置一些其它東西的,經常使用的有API.registerRecipeHandler(),API.registerUsageHandler(),API.setGuiOffset()

getName:這里只需要返回你設定的NEI插件名字就行了,它會顯示在NEI已加載插件那里

getVersion:返回你設定的版本號

三. RecipeHandler

RecipeHandler是編寫插件最重要的一部分了,當然它也非常復雜。不過還好,Chickenbones給我們提供了一個TemplateRecipeHandler,你可以直接繼承這個類而不用寫很多重復性的代碼。這個類本身其實就相當于一個教程,里面每個方法基本都有文檔,你可以參考它來寫你自己的Handler。

這里我們首先新建一個類繼承TemplateRecipeHandler,我這里命名為RecipeHandlerMeowMachine,作為喵嗚機的配方。之后去IConfigureNEI類,在loadConfig下加入這樣兩行:

API.registerRecipeHandler(new RecipeHandlerMeowMachine());

API.registerUsageHandler(new RecipeHandlerMeowMachine());

這兩行分別注冊了配方和用途的Handler,都是我們剛剛注冊的那個類。

接下來我們需要新建一個內部類繼承CachedRecipe,這里是CachedMeowMachineRecipe。它作為NEI內部的配方形式。

我們需要實現這兩個方法:

getIngredients:返回一個List,里面裝有該配方的原材料的PositionedStack

getResult:返回該配方產物的PositionedStack

當然除此之外還有很多方法可以Override,比如副產物可以用getOtherStacks之類的,大家可以自行探索。這里的PositionedStack為一個有固定坐標的物品,注意在構建PositionedStack時候那個Object可以是ItemStack或者是ItemStack的List/數組。

回到RecipeHandlerMeowMachine,我們實現這幾個方法:

getGuiClass:返回你機器Gui的類,如果Gui的偏移有問題,到IConfigureNEI的loadConfig方法里添加API.setGuiOffset()調整

getGuiTexture:返回你機器Gui材質的地址

getRecipeName:返回顯示在配方最上方的配方名稱

recipiesPerPage:返回每頁顯示的配方數量,推薦寫1防止出問題

loadTransferRects:里面用transferRects.add()在Gui上添加一個區域可以點擊用來顯示當前機器的所有配方,類似于工作臺那個箭頭

this.transferRects.add(new RecipeTransferRect(new Rectangle(起始x, 起始y, x長度, y長度), "過濾用ID"));

loadCraftingRecipes(String outputId, Object... results):覆蓋這個是用來加載所有配方的時候過濾ID的,基本想法就是,在outputId等于過濾ID時候在this.arecipes里添加所有的配方,除此以外按照默認的來處理。注意this.arecipes代表匹配到的配方

loadCraftingRecipes(ItemStack result):根據產物搜索配方,基本想法是,遍歷所有注冊的配方,當產物相同的時候添加配方到this.arecipes

loadUsageRecipes(ItemStack ingredient):根據原料搜索配方,基本想法是,遍歷所有注冊的配方,當原料包含該物品的時候添加配方到this.arecipes 。


玩家評論
我要點評

網名 注:您的評論需要經過審核才會顯示出來。

已有 0 位玩家參與點評
第 1 樓 中國中國 跑跑車網友 發表于: 2017/10/2 20:21:01
怎么打開搜索框啊

支持( 0 ) 蓋樓(回復)

查看所有0條評論>>

下載排行
主站蜘蛛池模板: 精品福利在线视频 | 国内精品国语自产拍在线观看91 | 久久精品国产免费中文 | 国产精品视频在 | 成人午夜小视频 | 久久精品国产四虎 | 国产主播福利在线 | 国产高清视频在线观看不卡v | 久久精品一区二区三区中文字幕 | 精品剧情v国产在免费线观看 | 久久婷婷激情综合中文字幕 | 成人国产精品久久久免费 | 久久国产精品亚洲 | 久久精品区 | 极品美女一级毛片免费 | 久久婷婷久久一区二区三区 | 韩国特黄毛片一级毛片免费 | 国产无套粉嫩白浆在线观看 | 免费福利网址 | 国产一区二区三区欧美精品 | 麻豆国产在线观看免费 | 国产精品视频免费的 | 国产精品女仆装在线播放 | 久久久久久久亚洲精品 | 国产视频99| 国产国语毛片 | 国产美女精品视频免费观看 | 免费高清毛片在线播放视频 | 久久香蕉国产在产线看观看 | 九九精品在线播放 | 久久久久久久久久鸭 | 国产精品成在线观看 | 国产精品1024在线观看免费看 | 免费一级特黄特色大片在线观看 | 精品在线一区二区三区 | 久久久久久久久一次 | 国产原创视频在线 | 国产日韩欧美综合一区二区三区 | 免费看三级黄色片 | 二区三区在线观看 | 福利所第一导航 |