美文网首页
MineCraft程序设计 | 函数包教程

MineCraft程序设计 | 函数包教程

作者: 粽子和小恺 | 来源:发表于2021-08-13 14:16 被阅读0次

    MineCraft函数包(Minecraft Function Package,MFP),是一种能使用指令扩展游戏玩法的包。其核心在于在指定时间释放指定指令,从而达到自制Mod的效果。在调查中,MFP生存播放量普遍在原版的10倍左右。

    但MFP的难点在于制作,需要一个文件系统架构。不过不要紧,我们现在有更好的工具与办法。

    点赞以进入教程(滑稽)


    STEP 1.选择工具

    刚才说了,从零开始制作一个函数包是非常麻烦的事。那么自然我们就需要用到一款工具。

    目前市面上这种工具几乎没有,但万幸,我通过特殊的渠道找到了一款至今还在运营并且相当强大的工具 -- Minecraft Function Package Developer。虽然是英文的名字,但界面完全是汉语的。

    工具长这个样子(被我鼠标选中的那一个):



    STEP 2.使用工具

    安装好之后,双击打开工具,你将会看到这样一个界面:


    没错这个软件是需要登录激活使用的(我摊牌了,这是我开发的),可以使用2元钱或者等值的简书贝购买(也就是34枚简书贝)。当然,如果你实在没钱我也可以免费给你开通的呀(因为我也有这样的经历)。

    在账号获得权限后,点击登录按钮,即可自由使用。

    请注意:一卡通不同于账户,他可以激活我们在2021年的所有产品(目前来看有JVIT--简书辅助程序、Living Account--个人管理程序 还有Minecraft Function Package Developer--MC函数包工具),我不是无良厂家,所以不会建议你买一卡通,因为实在有点贵。


    STEP 3.创建工程

    在登录软件后,你会看到这样的一个界面:

    因为我们是第一次使用,所以需要创建一个工程。

    点击工程<>新建,你会看到这样一个界面:

    工程路径建议选择一个空文件夹,然后填入你的工程名字,就会自动生成对应的.mfproj工程文件。

    .mfproj文件是你的工程文件,打开工程时只要打开它就可以载入整个工程。对于技术用户来说,他同样是一个xml文件,如果工程损坏,可以提供一定的修复功能。

    以下是一个填写样例:


    填写完毕后,点击创建,软件会知道创建工程文件、工程信息、函数索引、MC索引文件以及整个文件系统架构。创建完成后,会弹出一个提示框。这时恭喜你,你的工程创建成功了。


    STEP 4.进行你的编写

    在主窗口选择 工程<>打开,打开你的工程文件,软件便会自动加载整个工程。这时候你会看到完整的工程架构与函数库: 在操作区中,输入你希望的名字,点击"创建函数"即可创建.mcfunction函数文件,同时也会自动同步到函数库中:

    双击函数库中的函数名,即可进入编辑函数界面。这是一个完整的MC函数编辑器,包括行号显示、代码提示与补全、关键字高亮等等功能,但仍存在一些bug,这些bug我们会在日后修复。对于注册的用户,您可以随时升级到我们的最新更新享受功能:


    待您确认函数编辑完成之后,请点击"保存Func"按钮,这是程序会自动获取你的工作路径并将函数保存在那里,保存完成之后,编辑窗口自动关闭。当你需要编辑其他函数会继续编辑这个函数的时候,可以随时打开它。


    STEP 5.打包、发布与使用

    在主窗口,选择打包<>打包,程序将自动把你的工程进行打包处理(这个算法差点没写死我),然后你就可以获得一份装有你制作的函数包的压缩包。


    当然,如果你想把自己的包有偿或无偿分享给他人使用,也欢迎你通过功能菜单进入我们的论坛(需要单独注册论坛账号,免费的)进行分享。

    使用时直接讲behavior_pack解压到存档目录中就可以使用了。

    祝您使用愉快。


    STEP 6.了解预处理指令

    本程序并不是简单的进行文件保存与模型制作,而是有一套完整的语法检查与编译系统。

    以下是内置的预处理指令,当有软件更新时会同时更新文章。

    CMDEF指令

    语法:

    #CMDEF $[cmdname]
    

    本指令用于规避一个关键词检测,比如指令gametest不常用,故不存在于指令字典中。

    当你编译打包时,如出现这样的错误:

    FD002:错误的"gametest"出现在"xxx.mcfunction"中

    这时,我们就需要声明一个gametest指令规避检测。

    在文件头部添加:

    #CMDEF $gametest
    

    这时使用gametest指令就不会报错了。

    CONTAIN指令

    语法:

    #CONTAIN $[package_name]
    

    用于引入一个语法包。

    这是以后的事情,具体更新之后再详细介绍。

    IMPORTS指令

    语法:

    #IMPORTS $[this.package_name] $[outpack_name] POST
    

    用于标记一个外来函数。

    在外来函数中,不强制使用函数文档。

    例如在我们的叫summon_pack项目中有一个叫做sm_et的外来函数,只需要在你的文件头部添加:

    #IMPORTS $[summon_pack] $[sm_et] POST
    

    就可以不写针对该函数的文档。

    NOTEXT指令

    语法:

    #NOTEXT
    

    将该指令标记在Main.mcfunction的头部,就可以避免写函数文档(不推荐)。

    这些预处理指令在编译后会成为MC的函数注释,也就是所谓的无害化处理。


    附录I

    关于函数文档
    请在制作时写一份详细的说明文档,这样会方便调用函数。我们后期也会做一个函数文档生成器方便使用。

    关于调用
    确认安装成功后,使用 function 函数名 命令可以直接调用已经写好的函数。

    关于.mcfunction文件
    .mcfunction文件不同于普通命令。你的每一个函数都可以包含多条命令。编译器会将其自上到下执行。

    关于压缩算法
    使用zip/gzip压缩算法

    关于文件架构
    使用通用MineCraft Function Package File System(MFS)系统。


    附录II

    我们是一个小团队,目前一共就两个人。感谢大家对我们的信任。这一定会成为我们发展星空上最耀眼的星辰。


    CopyRight 2018-2021 MethodBox 保留所有权利. 转载请联系作者

    相关文章

      网友评论

          本文标题:MineCraft程序设计 | 函数包教程

          本文链接:https://www.haomeiwen.com/subject/imfdbltx.html