目录:
- 设置弹丸mod
- 概述弹丸库和爆炸弹丸MOD
- 更改主功能和启动功能
- 将函数重命名为check_if_launched。
- 添加一个名为block的参数,它是需要销毁的块。
- 从Misc类别抓取一个导入区块。
- Explosion_Projectile
视频: [雪咪]minecraft化學-仙女棒(沒字幕,重做太多次了和懶就沒用了) 2024
除了爆炸之外,您还可以在Minecraft中制作大量的弹丸效果。而不是从头开始重建所有的弹丸编码,你可以 摘要 弹丸状态机器(使其成为一个弹丸状态机器,而不仅仅是爆炸),并创建一个库,帮助你建立很多不同的射弹。
一个 库 是一个可以让你从其他mod调用函数的mod。
<! --1 - >设置弹丸mod
设置弹丸mod,复制弹丸mod。请执行以下步骤:
-
单击“操作”选项卡,然后选择“复制”命令。
你看到两个版本的弹丸mod。
-
打开一个mod并将其重命名为Projectile_Library。
-
打开另一个mod并将其重命名为Exploding_Projectile。
这里是两个改名的MODS。
概述弹丸库和爆炸弹丸MOD
打开你改名为Projectile_Library的mod。它看起来像这里显示的代码示例。
使Projectile_Library mod有点棘手,因为它必须处理以下信息:
-
所有状态信息,例如启动
-
实际启动
-
毁灭射弹
但是Explosion_Projectile mod需要来处理
-
要启动的区块的类型
-
当该区块出现时应该发生的动作
复制一个你的mod的副本并将其命名为Original_Explosion_Projectile,以防万一你陷入困境并需要回到一个工作模组。
更改主功能和启动功能
以下说明将告诉您如何在代码中进行实际更改。
要更改主功能,请执行以下步骤:
-
重命名主函数init。
因为这个mod现在是一个库,其中的函数是从其他MOD中调用的 - 尽管库本身并没有在Minecraft中运行。
-
导出此功能(使其可以从其他MOD访问),以便可以从Explosion_Projectile模块访问它。这是函数的外观。
您可以在Misc类别下找到导出块。
-
将名为launch_block的参数添加到定义要启动的块类型的init函数中,并将该参数保存在名为block_type的变量中。
-
删除事件。
这一步由Exploding_Projectile mod处理。库不处理它,因为你可能需要其他的东西来触发效果。
-
要命名爆炸的变量着陆,请单击单词 爆炸 旁边的下拉箭头,然后从菜单中选择重命名变量。这里显示重命名变量。你的init应该看起来像这样。
完成此步骤列表后,您可能需要对启动功能进行较小的更改。下图显示了如何将基岩块改为block_type变量;这样,块的类型决定在Explosion_Projectile模块中。
当您重命名它时,登陆变量会自行更新。
更改爆炸函数
要对爆炸函数进行更改,首先需要将其更改为具有返回值的函数。这个函数在图书馆里的目的是让其他MOD知道这个块是否已经启动了。遵循这些步骤:
将函数重命名为check_if_launched。
这显示你有新的功能块。
-
创建一个名为启动和初始化(赋予它的值)为false的新变量。
这个变量应该被返回,让另一个mod知道这个块是否已经启动了。
-
你需要原始的爆炸函数的if语句,而不是发送一个消息,并爆炸和销毁块周围的任何东西,只需将启动的变量设置为true。
也输出这个功能,这样另一个mod可以检查块是否已经启动。
-
更改破坏函数
-
您还需要更新破坏函数,如下所示。请执行以下步骤:
添加一个名为block的参数,它是需要销毁的块。
将信息块更改为参数块。
-
导出销毁功能。
-
恭喜!你已经完成了Projectile_Library mod。整个mod应该看起来像这里显示的那个。
-
图7-51
改变Explosion_Projectile mod
在库被写入之后,你可以定义Explosion_Projectile mod中发生了什么。首先,打开Explosion_Projectile mod并导入Projectile_Library。然后按照下列步骤操作:从Misc类别抓取一个导入区块。
键入您的LearnToMod昵称,然后输入Projectile_Library。例如,如果您的LearnToMod昵称为
-
sarah
-
,则导入区块应该看起来如此。 现在,您应该对主函数进行更改,因为您拥有刚刚创建的库,并且需要调用这些新函数。 删除主函数中的所有内容,删除事件块以外的所有块。这两个事件块应该进入一个名为on_land_event的新函数,但是应该调用的函数是一个名为on_land的新函数,它有一个名为info的参数。看看函数类别,你应该看到你刚才创建的库中有三个新的函数。
向Projectile_Library添加一个调用。 init函数,带有Bedrock参数,以及对on_land_event函数的调用。
-
最后,固定主功能后,填入on_land函数。请执行以下步骤:
-
添加调用Projectile_Library的if语句。 check_if_launched函数。
-
将旧的爆炸函数的爆炸代码放入if语句中。
打电话给Projectile_Library。破坏功能。
-
恭喜!你已经完成了Explosion_Projectile mod的代码! mod中的其他所有东西都可以被删除,所以你的整个mod应该看起来像这样。
-
测试你的新库
-
如果你已经按照这个项目中的所有步骤操作,你现在应该有两个MOD:
Projectile_Library
Explosion_Projectile
:
-
Explosion_Projectile mod,你会看到这样一个场景。
-
恭喜!你已经成功地建立了一个弹丸库,并用它来制造一个爆炸的弹丸。