养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

我的世界nei使用方法

时间:2024-11-06 08:52:35

EI算是一个功能非常杂的mod了,但是很多人对NEI的了解甚至还只局限于作弊上,然而实际上NEI的功能对无论是生存还是创造都有很大的帮助。NEI完全开源,作者为Chickenbones。安装的时候注意一点,NEI在客户端和服务器都能安装,而且推荐两端同时安装。在下面我会详细列出NEI的绝大部分功能,不过可能还有遗漏,如果发现请告诉我,回来慢慢翻源码看看能不能再发现什么。

我的世界nei使用方法

方法/步骤

1、合成配方篇NEI查看合成配方非常方便,最基础的操作就是鼠标悬停在一个物品上方按下R键就行了。当然,除此之外还有很多其他的功能,总结在下面这个列表:查看选中物品的合成配方:悬停物品上方按R,或Recipe模式右侧物品栏左键查看选中物品的用途:悬停在物品上方U,或者悬停物品上Shift+R,或者Recipe模式右侧物品栏右键查看指向方块的合成配方(Waila):指向方块按小键盘3,注意这一条是Waila的功能,Creative+模式下有Bug查看指向方块的用途(Waila):指向方块按小键盘4,注意这一条是Waila的功能,Creative+模式下有Bug下面是一张合成表的截图:介绍一下界面:点击上方的箭头可以切换不同的配方类型(有序合成,无序合成,机器等)点击合成表中间的箭头可查看该类型的所有配方左键任意物品或悬停按R能够查看物品的配方右键任意物品或Shift+R或U键能够查看物品的用途如果你在合成表界面里查看了其他物品的合成表,可以用Backspace键退回上一级合成表如果合成表使用了OreDictionary,匹配的物品会轮流显示,按住Shift键可以停止变换右下角有个"?"的按钮,3x3配方在工作台中查看配方才会显示,2x2及以下背包内就有显示直接单击它会在工作台内投影出选中的配方如果你包里已经有了配方所需所有的物品,Shift+点击它会自动在工作台中摆放选中的配方(不支持包含武器或工具的配方)

我的世界nei使用方法

2、搜索篇背包里面最下面那条黑色的框框就是搜索框,单击一下或者按一下F键就能输入了。NEI的搜殇矬岭柳索是支持正则表达式的!如果你不喜欢正则表达式蕴螵盅遇搜索,可以把Options>Inventory>SearchMode调成Plain。搜索是不分大小写的,也就是说Apple和apple效果一样的。另外,搜索会匹配物品的ToolTips(就是有些物品下面的说明),比如如果你搜索"Noeffects"就能搜索到那几个无效果的药水。一些小技巧:输入"@x.y.z"格式能匹配到上方ItemSubsets的物品选项卡,比如匹配Items>Potions>Neutral内物品,直接输入"@Items.Potions.Neutral"(上面一条也是这个原理)右键搜索框能直接清空双击搜索框能切换到高亮模式,他会将你背包所有格子变暗,之后将背包里匹配搜索内容的物品高亮。再次双击可取消关于@标签搜索:标签的下一项用"."来表示,比如搜索Items>Potions>Neutral标签内物品,可以输入"@Items.Potions.Neutral"必须使用@符号开头的字符串搜索才能开启分类搜索功能,也就是说如果你输入"darkiron|@Factorization"并不会切换到Factorization的选项卡分类标签只输入其中一项也是可以的,比如说想要搜索Items>Potions>Neutral可以直接输"@Neutral",也就是说Mod选项卡里的内容只要输入"@mod名字"就行了分类标签匹配的内容如果在只输入一项的情况下可以不输入完全,比如Mod>BuildCraft标签直接输入"@BuildCr也可以,但是如果匹配到了多个标签,NEI会将它们都显示出来在标签搜索的过程中,也会同时进行普通的搜索,也就是说如果有一个物品叫做Factorization,那么搜索"@Factorization"的同时这个物品也会匹配上怎样搜索某个Mod下的所有物品?搜索mod的名字,注意这个名字是与mcmod.info文件里的name项目对应的搜索mod添加的创造模式选项卡的名字(比如BuildCraft某些物品因为创造模式选项卡才能搜索到,否则只能搜BC)上面两项不但是不冲突的,而且是互补的下面简单讲一下三种SearchMode的区别:简单(Plain):什么特殊功能都没有,匹配的是包含输入内容的物品正则表达式(Regex):使用正则表达式进行匹配,使用的是java.util.regex.Pattern进行的匹配拓展(Extended):默认就是这个,在正则匹配基础上添加通配符(Wildcards)匹配,它的原理就是通过将输入内容的"."替换为"""?"替换为".""*"替换为".+?"从而实现通配符,之后进行正则匹配详细说一下拓展和正则模式:拓展本模式添加了两个通配符,分别为"*"和"?"。"*"代表任意字符串(不限长度),"?"代表一个任意字符。比如说你如果要搜索苹果,但是你忘了怎么拼了,只记得几个字母,那么可以这样:a*le:匹配任意以a开头的以le结尾的字符串,比如说apple,acble,afcleap?le:匹配任意以ap开头以le结尾的长度为5的字符串,比如说apple,apele该模式支持正则表达式支持的所有语法,详细见下。正则表达式本模式支持正则表达式的所有语法,并且没有拓展模式中通配符,用起来更清爽,个人更喜欢这个模式。由于正则表达式规则太多这里只列几个常用的,其他的请自己谷歌百度找个正则表达式教程学习(这里随便找到一个,可以点击这里学习)[abc]pple:匹配apple,bpple,cpple[a-c]pple:同上ap{2}le:匹配apple,{2}代表重复两次,{2,}代表重复两次以上,{2,5}表示重复2到5次^apple:匹配以apple开头的物品apple$:匹配以apple结尾的物品。不推荐使用,因为物品的名字包含物品原本的名字+""+ID+"#"+ToolTips,一个"#"代表一个回车。也就是说名字的末尾是ToolTips,即使没有ToolTips也需要关掉ID显示才能正常使用stone|diamond:匹配stone或者diamond,这条语句可以很方便搜索多个内容(?=.*diamond)(?=.*armor):匹配既包含diamond又包含armor的物品,可以弥补diamondarmor搜索不到DiamondHorseArmor的问题这里说一下NEI内部的物品名字,比如说这样一个物品:它实际的名字是:"PotionofSwiftness373:8194#Speed(3:00)##WhenApplied:#+20%Speed"但是如果你要在Regex或Extended模式搜索全称,需要搜索:"PotionofSwiftness373:8194#Speed\(3:00\)##WhenApplied:#\+20%Speed"因为有些字符在Regex中有特殊作用,要用转义符才能匹配。当然啦,估计没有人会要搜索到这种程度/w\另外如果加上Waila的话,如果在NEI搜索会匹配上Waila显示的那条mod名称,但是这条mod名不在物品的名字里,是作为单独的一条的。也就是说直接搜索"^BuildCraft$"(严格匹配"BuildCraft")也会匹配到所有mod名显示为BuildCraft的物品。特殊字符一共有:\^$.|?*+()[{想要搜索的话请在前面加\,比如匹配"\"就输入"\\"

我的世界nei使用方法

3、背包操作篇这应该算是NEI知道的人最少的功能了吧,但是这个绝对是辅助生存模式非常棒的一类功能,注意以下内容可能会和某些mod冲突,请自行检查。具体有以下几点:合成物品时右击产出框:使用输入原料合成多次物品,直到满组或者原料用光,如果已经拿着物品了,合成出来的物品会堆叠到拿起的那个物品上(原理是连续处理64次合成事件orz)打开一个容器的时候,鼠标悬在物品上滑动滚轮:会将物品传输到容器当中,或从容器取出(绝对是最棒的一个功能)打开一个容器的时候,拿起一个物品,按住Shift并点击同类物品:传输所有同类物品到容器里作弊模式下Ctrl+左击物品:补满当前堆物品,如果已经满了,则再给一组作弊模式下Ctrl+右击物品:补充一个物品作弊模式下悬浮物品上方Ctrl+Q:给一个当前物品(这是原版中的扔出当前格子所有物品,被NEI覆盖)生存模式下悬浮物品上方Shift+Q:扔出当前种类所有物品,注意这个是分容器的,比如悬浮在箱子里的物品上只会扔箱子里的物品(对应原版类似功能Ctrl+Q)创造模式+(Creative+)下Ctrl+滚轮:滚动切换工具栏的物品物品分类篇物品的分类(ItemSubsets)就是背包NEI界面最上面的那个大大的按钮,左键点击后会出现一个下拉菜单,里面可以通过不同的分类浏览物品。如果你在任意一个分类或子分类上Shift+左击,下面搜索框会自动输入分类名称,并匹配该分类下所有物品。如果你任意右击一个分类或物品,那么这个物品将会被右侧的物品面板排除,如果重新左键一下就能重新选中,你可以利用这个功能排除ForgeMultipart数量众多的小方块。双击任意一个分类能够关闭除该分类以外所有物品,注意这与Shift+左击不同,这个是隐藏了多余物品,Shift+左击是匹配了当前类别下的物品。之前版本能够右击分类的按钮保存设置好的分类,但是新版本这个功能好像还没实现。

4、工具篇这里的工具指的是DataDumps,进入方法为Options>Tools>DataDumps。这个小工具能够导出游戏的很多数据,特别是药水,附魔,生物群系这三项对于整合包制作者的帮助非常大,因为这三项会存在id冲突,请整合包作者随时检查这三项内容。输出的文件在.minecraft/dumps文件夹里。下面解释具体每一项的作用:物品(Items):导出所有注册过的物品,文件名为item.csv。输出的内容包括:名字(非本地化),ID,是否是方块,所属mod,所属类方块(Blocks):导出所有注册过的方块,文件名为block.csv。输出的内容包括:名字(非本地化),ID,是否有对应物品,所属mod,所属类药水(Potions):导出所有的药水,文件名为potion.csv。输出内容包括:ID,名字(非本地化),所属类。包含三个选项:All:输出所有id的药水(0-31)Free:输出空闲的idUsed:输出已用id的药水附魔(Enchantments):导出所有的附魔,文件名为enchantment.csv。输出内容包括:ID,名字(非本地化),附魔物种类,最小等级,最高等级,所属类。包含三个选项:All:输出所有id的附魔(0-255)Free:输出空闲的idUsed:输出已用id的附魔生物群系(Biomes):导出所有的生物群系,文件名为biome.csv。输出内容包括:ID,名字,气温,降雨,生成几率,基础高度,高度变化,种类,所属类。包含三个选项:All:输出所有id的生物群系(0-255)Free:输出空闲的idUsed:输出已用id的生物群系物品面板(ItemPanel):导出当前物品面板(右侧面板)中物品的信息,包含四个选项:CSV:输出物品信息为CSV格式,文件名为itempanel.csv。输出内容包括:物品ID(字符串),内部ID,metadata,是否包含NBT信息,显示名字NBT:输出物品的NBT信息,文件名为itempanel.nbt。输出的内容是一个包含了NBTTagList的NBTTagCompound,NBTTagList里面包含的内容有ID,数量,伤害值(即metadata)还有物品的NBT数据,不过好像想不出来有什么用途。它使用CompressedStreamTools.writeCompressed()输出,如果开发者想要读取输出的信息可以用CompressedStreamTools.readCompressed()来读取。简单写了一个读取的演示,代码见这里JSON:输出物品信息为JSON格式,文件名为itempanel.json。这个实际上就是上边NBT数据转化成了JSON形式,输出内容包括物品id(id),物品伤害值(damage,即metadata),和NBT数据(tag)PNG:输出物品面板内所有物品为PNG图片,文件输出到itempanel_icons文件夹。功能类似于ItemRender,并且可以选择输出大小,最小为16x16,最大为256x256。如果想用这个输出物品图片传到MCMOD百科也是可以的。

我的世界nei使用方法

5、作弊操作篇这部分内容比较多,分开说,这一部分对Mod解说者来说非常强大,如果想要解说Mod视频请务必要安装NEI。本篇所有内容请保证模式为CheatMode。另外,各位请一定要克制住自己/w\。首先来看下总体的界面吧:一.工具面板(左上角那个)这个面板里的东西都是非常常用的一些选项,下面分别介绍他们,顺序为从左往右,从上往下:删除模式(DeleteMode):单击启用。使用请左击背包内的物品,被左击到的物品就会被删除。Shift+左击物品会删除同类所有物品(批量删除都包括打开的容器)。右击或Shift+右击物品会减少该堆物品的1个。Shift+单击删除模式的按钮会清空背包。拿着物品左击删除模式按钮会删除该堆物品。拿着物品右击删除模式按钮会删除一个。拿着物品Shift+左击删除模式按钮会删除同类所有物品下雨(Rain):单击切换世界的下雨状态,右击按钮直接禁用下雨(也就是世界不会下雨了),禁用状态下左击启用下雨。如果按钮变成蓝色,则世界正在下雨中(有时候有Bug)游戏模式(Gamemode):一共有4个模式(Spectator在1.8版本里也没有),分别为Survival,Creative,Creative+,Adventure,每次单击都往下切换一个。其中Creative+并不是一个真正的游戏模式,它只在NEI内部有标明,实际上对应的原版GameType都是Creative,没有区别。注意这个设置的只是玩家的游戏模式,而不是设置的世界的游戏模式Creative+:这个模式在原版背包的基础上新增了54个格子,相当于一个大箱子的容量。还有一个非常特别的特性,关闭背包的时候Ctrl+滚轮能来回切换工具栏的物品。注意背包满了之后捡起的物品不会拾到到拓展的背包里。非常适合建筑党来使用磁铁模式(MagnetMode):服务器上只有服务端也安装了NEI才能使用。这个功能会吸引半径为16x8x16(x,y,z)的掉落物.注意如果你的背包满了(C+的拓展背包不能拾起物品),磁铁模式不会主动吸引物品,范围恢复到原始,但是如果是创造模式你仍然可以捡起物品,不过会自动删除时间(Time):一共有四个时间分别为6:00(Dawn),12:00(Noon),18:00(Dusk),0:00(Midnight),一小时为1000ticks,即时间点分别为6000,12000,18000,0。为了保证时间是永远向前运行的,每次切换会切换到第二天的该时间点,所以如果你切换频繁了,游戏天数会不断上涨。右键点击图标会禁用该时间段,最多只能禁用三个,禁用之后到达该时间段会直接跳过到该时间段的结束,左键可以重新启用治疗(Heal):点击之后会恢复玩家20点生命值,恢复饱食度,并熄灭身上的火二.保存背包(左边那个)这里的功能对Mod解说者非常有用,你们可以保存解说所需要的所有东西,身上乱了之后直接Load一下就能复原了。NEI提供了7个保存槽(代码里写死了!),每个槽都可以保存一个背包状态,这个保存状态是可以跨世界甚至是跨服的。注意这个功能是能够保存C+模式的背包的,即使不在C+模式加载的背包,换成C+模式仍然会显示刚刚加载的物品!下面是对槽的操作:保存:直接点击任何一个包含有Save字样的槽就行了读取:直接点击任何一个包含有Load字样的槽就行了重命名:右击任意一个槽就行了,不管有没有保存东西,右击之后会提示你输入字符,按回车确认删除:已经保存过的槽右边会有一个X字按钮,点一下就删除了三.附魔NEI提供了一个附魔的功能,在背包里按X键打开,界面会是这样的:忽略那个青金石的物品框,不需要的。点击上面的Level左右按钮能够切换等级,最高等级为10级,点击右边附魔就能添加了,添加之后再点击一次就能取消附魔。那个Locked选项表示检测冲突附魔及附魔工具种类,比如剑只能附和剑有关的附魔(锋利,节肢杀手等),而且锋利和节肢杀手这种冲突附魔不能共存。点击一下那个Locked按钮就能解锁附魔,Unlocked模式下不会检测冲突和种类,所以剑就能够附装备的附魔,并且也能附冲突的附魔。四.药水药水和附魔功能类似,按P键打开面板,大概是这样的:在下面那个药水槽里放入除水瓶以外任意药水就行了。如果要添加效果,左击右边的效果就行了,点击Level的左右箭头能够调整等级,最大值为4级。点击上面的Duration能够编辑持久,右击Duration可以清空,Duration最大只能够填27:18。如果要取消效果,右击效果就行了。最上面有一排收藏药水,你可以把制作好的药水放到上面标记。标记过后可以源源不断地拿,Shift+左击可以拿无限数量的药水,Ctrl+左击可以直接将药水传送背包,想要取消标记右击对应药水就行了。五.物品面板(右边那个)大家应该都很熟悉这个面板了,这么明显,并且都见过这么多次了。点击上方的箭头或者用滚轮或者PageUp和PageDown按钮能够翻页。对物品一共有这些操作:获取一组:左击物品获取一个:右击物品获取特定数量:在下面那个输入框指定数量,之后左击物品获取无限物品:Shift+左击物品,无限物品能够无限放置无限扔出,显示为111个输入框的编辑:左击:激活输入框,直接输入数字就行了右击:清零左击加号:添加1个左击减号:减少1个Shift+左击加号:添加10个Shift+左击减号:减少10个Ctrl+左击加号:添加64个Ctrl+左击减号:减少64个刷物品的时候记得一定不要超过背包剩余容积,会崩溃的,这个Bug到现在还没修复。NotEnoughIssues

我的世界nei使用方法

我的世界nei使用方法

我的世界nei使用方法

6、其它一.显示/关闭NEI按下O键即可隐藏侧边框,如果要完全禁用NEI,去设置设置NEIDisabled并按下O键就行了。二.方块高亮按下小键盘0键能切换方块高亮的开关。如果想要调节位置的话去Options>World>HighlightTooltips里面,在中间按钮为Shown的时候拖动高亮的方框,如果中间按钮为Hidden点击一下按钮就能变成Shown了。不过仍然建议安装Waila,不推荐使用NEI的方块高亮。另外,Waila和NEI的方块高亮是独立的!也就是说你可以同时开启Waila的高亮和NEI的高亮(两个方框)。注意小键盘0这个按键如果装了Waila打开的是Waila的设置,如果想要调节Waila高亮的,按0之后点击Waila>Configureaspect...之后就可以拖动方框调节了。选项Alpha是透明度,Scale是缩放比例。三.怪物生成指示按下F7键开始,再次按下结束,打开之后地面上会出现红色和黄色的网格。黄色的网格表示该格怪物只在夜间生成,白天不会生成。红色网格表示该格怪物会在白天和夜间都生成。看到这两个标示就赶快插火把吧!四.Chunk指示按下F9开始,第一次按下显示Chunk的顶点,第二次按下显示Chunk的范围边界,再按一下就停止。显示会是这样子的:绿色标示边界,红色标示顶点。五.asm文件夹如果你安装了NEI,运行之后你会发现在.minecraft文件夹下多出来一个asm文件夹。这个文件夹其实是由NEI的前置CodeChickenLib输出的。由于NEI需要注入原版代码,大量地使用了ASM,并且用的是CCL的ModularASMTransformer。这个类会自动输出转换过的结果到文件里用来debug,所以就成了现在的asm文件夹里面的文件。注意并不只有NEI用到了这个类,其他还有很多Mod也都用到了。所以如果你想删除这个文件夹,当然可以,这个只是debug用的,代码里看到个选项能关闭生成,但是一直没找到那个选项在哪设置。六.NEI插件NEI由于提供了API,许多mod都对NEI进行了支持。在ForgeMods列表里你能看到加载的NEI插件:目前还有很多专门的NEI插件,现在还在更新比较推荐的有:NEIAddonsNEIIntegration

我的世界nei使用方法

我的世界nei使用方法

7、设置篇NEI本身还是有很多可以设置的选项的,本部分分两块来说。第一部分是Options里的选项,第二部分是config文件。注意NEI客户端的config文件在.minecraft/config/NEI下,服务端的在world/NEI下。一.选项(Options)选项分为Global和World两种模式,点击右上角的按钮可以切换。Global模式下的设置是全局的,所有世界都能共享,而World模式则是对当前世界特定的,不会影响到其他世界的设定。在World模式下左边会出来一排W的按钮,左键选中右键取消,更改选项自动选中,选中代表该项采取World的设置,未选中代表直接继承Global模式下的设定。首先我们来看Inventory下的几个选项:NEIEnabled/NEIDisabled:关闭NEI,与O键不同,这个关掉之后左下角还是有个Options按钮,但是NEI功能完全禁用了,不像O键只是隐藏侧边框模式(Mode):一共有三种模式,分别为CheatMode,RecipeMode和UtilityMode,下面分别介绍一下。另外不知道什么原因,单机在这里的设置要调到World模式更改才能更改成功,或直接在World模式中把W按钮右键关掉。在服务器模式会根据玩家是否是Op自动更新,没有Op自动RecipeMode,有了Op作弊的按钮自动出来(其实只是改了功能而已,没改模式)作弊模式(CheatMode):拥有所有的功能,刷物品,调整世界设置等合成模式(RecipeMode):推荐生存使用的模式,只有查看合成表和搜索的功能实用模式(UtilityMode):介于作弊模式和合成模式中间的一个模式,点击右边的物品面板里的物品只能查看合成表,但是你可以自定义放在左上角的那些工具,并且可以使用实用模式功能(Utilities):左击按钮就能启用功能,右击按钮就能关闭,这样可以自定义实用模式的工具面板,注意最后一个Items指的是背包状态保存功能游戏模式(Gamemodes):选择游戏模式按钮能切换的游戏模式,生存模式不可关,左击打开右击关闭布局风格(LayoutStyle):分为TMI和Minecraft两种,TMI风格是为了满足一些TMI老用户的需求物品排序(ItemSorting):里面有各种不同的排序因素,可以拖动排序,按照优先级排序。里面的因素分别为:Minecraft:原版物品最先筛选Mod:将Mod物品组合到一起,并按照Mod名称排序ItemID:按照物品ID大小排序Default:保持物品状态自然不变ItemDamage:按照物品的耐久(Metadata)排序DisplayName:按照显示名字排序物品ID(ItemIDs):有三种模式:Auto,Shown和HiddenAuto:在NEI禁用或隐藏的时候不显示ID,在NEI显示的时候显示IDShown:一直显示Hidden:一直隐藏搜索模式(SearchMode):在搜索篇已经讲过了合成查阅性能分析(ProfileRecipes):在物品合成表后面会多一个CraftingProfiling界面,记录查询的耗时,debug使用,一般不需要开启:World选项里面只有一个HighlightTooltips的功能,你可以调整高亮提示框的位置与是否显示,具体见其它里的方块高亮。Command选项里面是针对一些特殊的服务器使用的指令。Keybindings就是调整键位的地方,不多说了。二.Config文件能在客户端里找到的选项我这里就省略了,自己去客户端调。客户端下client.cfg文件:#检查更新checkUpdates=true#对于那些自控力低的人#把下面这条改成对应的模式,这样你就在游戏里改不了了,可用选项:0(生存),1(创造),2(创造+),3(冒险),-1(禁用)inventory.lockmode=-1服务端下server.cfg文件:#使用权限permissions{adventure=OPcreative=OPcreative+=OPdelete=OPenchant=OPheal=OPitem=OPmagnet=OP#这一条是刷物品的时候会得到提示notify-item=CONSOLE,OPpotion=OPrain=OPsave-state=OPtime=OP}后面一共可以填:玩家名:例如,time=CodeChicken,Friend1OP:仅限OP使用CONSOLE:仅限控制台使用ALL:全体玩家都能使用服务端下banneditems.cfg文件:{name:"minecraft:command_block"}=[NONE]这个前面是一个JSON字符串,代表一个NBT数据,Tag一共可以有四个:name:名字,注意是modid:name这种形式的Count:个数,不填默认为1Damage:伤害值(metadata),不填默认为0tag:NBTTagCompound数据,不填则为空是不是感觉很熟悉呢?没错,结合CSV和JSON导出的信息就能很方便地填写这一项了!后面是允许的玩家或群体,简单来讲就是白名单,一共可以填:NONE:不允许任何人玩家名:例如{name:"minecraft:bedrock"}=[RebirthIsHope,Meow_J]OP:允许OPCONSOLE:允许控制台(基本没用)ALL:无限制

我的世界nei使用方法

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:返回你设定的版本号三.RecipeHandlerRecipeHandler是编写插件最重要的一部分了,当然它也非常复杂。不过还好,Chickenbones给我们提供了一个TemplateRecipeHandler,你可以直接继承这个类而不用写很多重复性的代码。这个类本身其实就相当于一个教程,里面每个方法基本都有文档,你可以参考它来写你自己的Handler。这里我们首先新建一个类继承TemplateRecipeHandler,我这里命名为RecipeHandlerMeowMachine,作为喵呜机的配方。之后去IConfigureNEI类,在loadConfig下加入这样两行:API.registerRecipeHandler(newRecipeHandlerMeowMachine());API.registerUsageHandler(newRecipeHandlerMeowMachine());这两行分别注册了配方和用途的Handler,都是我们刚刚注册的那个类。接下来我们需要新建一个内部类继承CachedRecipe,这里是CachedMeowMachineRecipe。它作为NEI内部的配方形式。我们需要实现这两个方法:getIngredients:返回一个List,里面装有该配方的原材料的PositionedStackgetResult:返回该配方产物的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(newRecipeTransferRect(newRectangle(起始x,起始y,x长度,y长度),"过滤用ID"));loadCraftingRecipes(StringoutputId,Object...results):覆盖这个是用来加载所有配方的时候过滤ID的,基本想法就是,在outputId等于过滤ID时候在this.arecipes里添加所有的配方,除此以外按照默认的来处理。注意this.arecipes代表匹配到的配方loadCraftingRecipes(ItemStackresult):根据产物搜索配方,基本想法是,遍历所有注册的配方,当产物相同的时候添加配方到this.arecipesloadUsageRecipes(ItemStackingredient):根据原料搜索配方,基本想法是,遍历所有注册的配方,当原料包含该物品的时候添加配方到this.arecipes。

© 一点知识