个人理财 如何为Minecraft Modding制作一个弹丸库 - 虚拟人物

如何为Minecraft Modding制作一个弹丸库 - 虚拟人物

目录:

视频: [雪咪]minecraft化學-仙女棒(沒字幕,重做太多次了和懶就沒用了) 2025

视频: [雪咪]minecraft化學-仙女棒(沒字幕,重做太多次了和懶就沒用了) 2025
Anonim

除了爆炸之外,您还可以在Minecraft中制作大量的弹丸效果。而不是从头开始重建所有的弹丸编码,你可以 摘要 弹丸状态机器(使其成为一个弹丸状态机器,而不仅仅是爆炸),并创建一个库,帮助你建立很多不同的射弹。

一个 库 是一个可以让你从其他mod调用函数的mod。

<! --1 - >

设置弹丸mod

设置弹丸mod,复制弹丸mod。请执行以下步骤:

  1. 单击“操作”选项卡,然后选择“复制”命令。

    你看到两个版本的弹丸mod。

  2. 打开一个mod并将其重命名为Projectile_Library。

  3. 打开另一个mod并将其重命名为Exploding_Projectile。

    这里是两个改名的MODS。

概述弹丸库和爆炸弹丸MOD

打开你改名为Projectile_Library的mod。它看起来像这里显示的代码示例。

使Projectile_Library mod有点棘手,因为它必须处理以下信息:

  • 所有状态信息,例如启动

  • 实际启动

  • 毁灭射弹

但是Explosion_Projectile mod需要来处理

  • 要启动的区块的类型

  • 当该区块出现时应该发生的动作

复制一个你的mod的副本并将其命名为Original_Explosion_Projectile,以防万一你陷入困境并需要回到一个工作模组。

更改主功能和启动功能

以下说明将告诉您如何在代码中进行实际更改。

要更改主功能,请执行以下步骤:

  1. 重命名主函数init。

    因为这个mod现在是一个库,其中的函数是从其他MOD中调用的 - 尽管库本身并没有在Minecraft中运行。

  2. 导出此功能(使其可以从其他MOD访问),以便可以从Explosion_Projectile模块访问它。这是函数的外观。

    您可以在Misc类别下找到导出块。

  3. 将名为launch_block的参数添加到定义要启动的块类型的init函数中,并将该参数保存在名为block_type的变量中。

  4. 删除事件。

    这一步由Exploding_Projectile mod处理。库不处理它,因为你可能需要其他的东西来触发效果。

  5. 要命名爆炸的变量着陆,请单击单词 爆炸 旁边的下拉箭头,然后从菜单中选择重命名变量。这里显示重命名变量。你的init应该看起来像这样。

完成此步骤列表后,您可能需要对启动功能进行较小的更改。下图显示了如何将基岩块改为block_type变量;这样,块的类型决定在Explosion_Projectile模块中。

当您重命名它时,登陆变量会自行更新。

更改爆炸函数

要对爆炸函数进行更改,首先需要将其更改为具有返回值的函数。这个函数在图书馆里的目的是让其他MOD知道这个块是否已经启动了。遵循这些步骤:

将函数重命名为check_if_launched。

这显示你有新的功能块。

  1. 创建一个名为启动和初始化(赋予它的值)为false的新变量。

    这个变量应该被返回,让另一个mod知道这个块是否已经启动了。

  2. 你需要原始的爆炸函数的if语句,而不是发送一个消息,并爆炸和销毁块周围的任何东西,只需将启动的变量设置为true。

    也输出这个功能,这样另一个mod可以检查块是否已经启动。

  3. 更改破坏函数

  4. 您还需要更新破坏函数,如下所示。请执行以下步骤:

添加一个名为block的参数,它是需要销毁的块。

将信息块更改为参数块。

  1. 导出销毁功能。

  2. 恭喜!你已经完成了Projectile_Library mod。整个mod应该看起来像这里显示的那个。

  3. 图7-51

改变Explosion_Projectile mod

在库被写入之后,你可以定义Explosion_Projectile mod中发生了什么。首先,打开Explosion_Projectile mod并导入Projectile_Library。然后按照下列步骤操作:

从Misc类别抓取一个导入区块。

键入您的LearnToMod昵称,然后输入Projectile_Library。例如,如果您的LearnToMod昵称为

  1. sarah

  2. ,则导入区块应该看起来如此。 现在,您应该对主函数进行更改,因为您拥有刚刚创建的库,并且需要调用这些新函数。 删除主函数中的所有内容,删除事件块以外的所有块。这两个事件块应该进入一个名为on_land_event的新函数,但是应该调用的函数是一个名为on_land的新函数,它有一个名为info的参数。看看函数类别,你应该看到你刚才创建的库中有三个新的函数。

    向Projectile_Library添加一个调用。 init函数,带有Bedrock参数,以及对on_land_event函数的调用。

  3. 最后,固定主功能后,填入on_land函数。请执行以下步骤:

  4. 添加调用Projectile_Library的if语句。 check_if_launched函数。

  5. 将旧的爆炸函数的爆炸代码放入if语句中。

打电话给Projectile_Library。破坏功能。

  1. 恭喜!你已经完成了Explosion_Projectile mod的代码! mod中的其他所有东西都可以被删除,所以你的整个mod应该看起来像这样。

  2. 测试你的新库

  3. 如果你已经按照这个项目中的所有步骤操作,你现在应该有两个MOD:

Projectile_Library

Explosion_Projectile

  • Explosion_Projectile mod,你会看到这样一个场景。

  • 恭喜!你已经成功地建立了一个弹丸库,并用它来制造一个爆炸的弹丸。

如何为Minecraft Modding制作一个弹丸库 - 虚拟人物

编辑的选择

记录您的思科网络配置与CDP - 傻瓜

记录您的思科网络配置与CDP - 傻瓜

记录思科网络配置有时没有思科发现协议)可能需要花费数小时在布线室跟踪电缆和记录端口。在某些情况下,配线室是一个真正的老鼠的电缆巢,并且可能需要几个小时的导航才能找出哪些交换机连接到哪个交换机,哪些路由器,...

以太网通道诊断信息收集 - 虚拟

以太网通道诊断信息收集 - 虚拟

诊断思科网络中的以太网通道问题,您首先必须能够收集您的交换机及其配置。为了执行这个任务,你一如既往地依靠Show和debug命令。首先,简要介绍一下show命令的内容。 Switch1> enable Switch1#configure terminal Switch2#show EtherChannel ...

扩展访问控制列表(ACL) - 虚拟

扩展访问控制列表(ACL) - 虚拟

扩展访问控制列表(ACL)允许您允许拒绝来自特定IP地址的流量到特定的目标IP地址和端口。它还允许您指定不同类型的流量,如ICMP,TCP,UDP等。不用说,它非常细化,可以使您非常具体。如果...

编辑的选择

电子项目计划步骤1:设想您的电子项目 - 傻瓜

电子项目计划步骤1:设想您的电子项目 - 傻瓜

设计和建立你的电子项目的细节,你应该退后一步,看看大局。首先,你需要确保你有一个坚实的想法为您的项目。你为什么要建立它?它会做什么,谁来使用它,为什么? ...

电子项目计划步骤4:构建您的电路 - 傻瓜

电子项目计划步骤4:构建您的电路 - 傻瓜

而且你对它的操作感到满意,你可以建立一个永久版本的电路。虽然有几种方法可以做到这一点,但最常见的是在印刷电路板(也称为PCB)上构建电路。请注意,在PCB上组装电路...

电子项目计划步骤3:原型电路 - 假人

电子项目计划步骤3:原型电路 - 假人

永久的电路板,你会想确保它的工作。最简单的方法就是在无焊面包板上构建电路。无焊料面包板可以让您快速组装电路元件而不需要焊接任何东西。相反,您只需将其裸露在外...

编辑的选择

如何替换R中的文本 - 虚拟变量

如何替换R中的文本 - 虚拟变量

R中的sub()函数在文本模式,并用替换文本替换此模式。你使用sub()来替代文本文本,并使用其表兄gsub()来替换所有出现的模式。 (gsub()中的g表示全局。)假设你有句子He ...

中如何成功地遵循命名惯例在R - 傻瓜

中如何成功地遵循命名惯例在R - 傻瓜

R是非常自由的,对象和功能。这个自由是一个很大的祝福,同时也是一个很大的负担。没有人不得不遵循严格的规则,所以在R中编程的人基本上可以按照自己的意愿去做。如何选择一个正确的名字...

中使用函数在R中创建并转换脚本后,如何使用R - dummies中的函数

中使用函数在R中创建并转换脚本后,如何使用R - dummies中的函数

再次使用前面显示的Source()命令将其加载到控制台中。现在你看...什么也没有。 R并不让你知道它已经加载了这个函数,但它已经在工作空间中了,你可以检查一下...