Minecraft 1.18.2 生化8 模组 1.4版本 故事书+更多枪械

本文介绍了1.18.2版本的模组更新,包括使用腐败草和黑色羽毛合成故事书,新增F2和SA110狙击枪、WCX和Dragoon突击步枪,公爵商店交易内容与板条箱掉落物品的变化,以及E病毒互动增强。下载链接:百度网盘生化8模组,密码:j7uj。

本次我将1.18.2的模组内容与1.16.5进行了同步。

1.故事书

玩家可以使用腐败草或者黑色羽毛加上一本书来合成该物品:

cr3.png

本书共分为序章、家族图鉴、病毒、末章四个篇章:

cr4.png

玩家可根据该书籍的内容合成想要的物品,挑战各种Boss。

2.新武器

本次增加了2把狙击枪和2把突击步枪以及对应的弹药。

cr5.png

F2 狙击枪、SA110 狙击枪

使用狙击枪弹药,玩家按**'F’键装备至副手时进入开镜模式。
注:F2可直接工作台购买,SA110需要找到
公爵**进行交易获得。

WCX 突击步枪,Dragoon突击步枪

使用步枪弹药,玩家按**‘F’键装备至副手时进入开镜模式。按下’Shift’**键进入自动开火模式。

本次也为之前所有的枪械增加了开镜效果,均为**‘F’**键装备至副手时开镜。

cr6.png

3.其他

1.修改了公爵的商店内容,新增了步枪子弹和狙击枪子弹的交易。
2.修改了板条箱的随机掉落物品,增加了子弹掉落的概率。
3.增加了E病毒对与其他生物的互动效果。

百度网盘生化8模组

网盘密码:j7uj
<think>我们之前已经创建了一个封装好的函数文件`transfer_enchantments.mcfunction`,现在需要将它导入到Minecraft1.18.2Java版中。导入方法是通过数据包(DataPack)。以下是详细步骤:###步骤1:创建数据包文件夹结构在Minecraft世界的`datapacks`文件夹中创建一个新的数据包文件夹,例如命名为`enchant_transfer_datapack`。然后,在该文件夹内创建以下结构:```enchant_transfer_datapack/├──pack.mcmeta└──data└──enchant_transfer#命名空间(自定义)└──functions└──transfer_enchantments.mcfunction#函数文件```###步骤2:编写pack.mcmeta文件`pack.mcmeta`文件用于描述数据包,并指定支持的Minecraft版本。对于1.18.2,我们使用pack_format9。**pack.mcmeta内容:**```json{"pack":{"pack_format":9,"description":"EnchantmentTransferDataPackfor1.18.2"}}```###步骤3:编写函数文件将之前封装的函数代码放入`transfer_enchantments.mcfunction`文件中。**transfer_enchantments.mcfunction内容:**```mcfunction#附魔转移函数#将玩家物品栏第一个物品(槽位0)的附魔转移到第二个物品(槽位1)上summonarmor_stand~~~{Tags:["temp_storage"],Invisible:1,Marker:1,NoGravity:1}datamodifyentity@e[type=armor_stand,tag=temp_storage,limit=1]Enchantmentssetfromentity@sInventory[{Slot:0b}].tag.Enchantmentsdatamodifyentity@sInventory[{Slot:1b}].tag.Enchantmentssetfromentity@e[type=armor_stand,tag=temp_storage,limit=1]Enchantmentsdatamergeentity@sInventory[{Slot:0b}]{tag:{Enchantments:[]}}kill@e[type=armor_stand,tag=temp_storage]```###步骤4:安装数据包1.将`enchant_transfer_datapack`文件夹放入Minecraft世界的`datapacks`文件夹中。-路径示例:`.minecraft/saves/你的世界名称/datapacks/enchant_transfer_datapack`2.进入游戏,输入命令`/reload`以重新加载数据包。###步骤5:使用函数在游戏中,玩家可以使用以下命令来执行函数:```/functionenchant_transfer:transfer_enchantments```###测试函数为了测试,可以给玩家两把剑,一把有附魔,一把没有:```/give@pdiamond_sword{Enchantments:[{id:"minecraft:sharpness",lvl:5s}]}/give@pdiamond_sword```然后执行函数,检查第二把剑是否获得了附魔。###注意事项1.**槽位索引**:在物品栏中,0-8为快捷栏,9-35为主物品栏。本函数中`Slot:0b`和`Slot:1b`分别对应快捷栏的第一格和第二格。2.**目标玩家**:该函数设计为在玩家身上执行(使用`executeas<player>runfunction...`或在玩家命令方块中执行)。如果直接在命令方块中执行,需要指定玩家(如`executeas@prunfunction...`)。3.**错误处理**:如果源物品没有附魔,目标物品的附魔会被清空。如果槽位0或槽位1没有物品,命令会失败。可以添加错误处理(如检查物品是否存在)来避免。###添加错误处理(可选)为了增强健壮性,可以在函数中添加检查。例如:**改进版transfer_enchantments.mcfunction:**```mcfunction#检查源物品是否存在且具有附魔executeunlessdataentity@sInventory[{Slot:0b}]runtellraw@s{"text":"错误:源物品不存在!","color":"red"}executeunlessdataentity@sInventory[{Slot:0b}].tag.Enchantmentsruntellraw@s{"text":"错误:源物品没有附魔!","color":"red"}executeunlessdataentity@sInventory[{Slot:1b}]runtellraw@s{"text":"错误:目标物品不存在!","color":"red"}#如果存在源物品且目标物品存在,则继续executeifdataentity@sInventory[{Slot:0b}]ifdataentity@sInventory[{Slot:0b}].tag.Enchantmentsifdataentity@sInventory[{Slot:1b}]runsummonarmor_stand~~~{Tags:["temp_storage"],Invisible:1,Marker:1,NoGravity:1}executeifdataentity@sInventory[{Slot:0b}]ifdataentity@sInventory[{Slot:0b}].tag.Enchantmentsifdataentity@sInventory[{Slot:1b}]rundatamodifyentity@e[type=armor_stand,tag=temp_storage,limit=1]Enchantmentssetfromentity@sInventory[{Slot:0b}].tag.Enchantmentsexecuteifdataentity@sInventory[{Slot:0b}]ifdataentity@sInventory[{Slot:0b}].tag.Enchantmentsifdataentity@sInventory[{Slot:1b}]rundatamodifyentity@sInventory[{Slot:1b}].tag.Enchantmentssetfromentity@e[type=armor_stand,tag=temp_storage,limit=1]Enchantmentsexecuteifdataentity@sInventory[{Slot:0b}]ifdataentity@sInventory[{Slot:0b}].tag.Enchantmentsifdataentity@sInventory[{Slot:1b}]rundatamergeentity@sInventory[{Slot:0b}]{tag:{Enchantments:[]}}executeifdataentity@sInventory[{Slot:0b}]ifdataentity@sInventory[{Slot:0b}].tag.Enchantmentsifdataentity@sInventory[{Slot:1b}]runkill@e[type=armor_stand,tag=temp_storage]executeifdataentity@sInventory[{Slot:0b}]ifdataentity@sInventory[{Slot:0b}].tag.Enchantmentsifdataentity@sInventory[{Slot:1b}]runtellraw@s{"text":"附魔转移成功!","color":"green"}```###总结以上步骤详细说明了如何将转移附魔的函数导入Minecraft1.18.2Java版。通过创建数据包,将函数文件放入正确的位置,并在游戏中重新加载,即可使用该函数。§§相关问题§§:1.如何将数据包适配到Minecraft1.19或更高版本2.如何创建一个数据包,在玩家获得特定物品时自动触发函数?3.如何修改函数以支持任意两个指定槽位的附魔转移?4.在多人游戏中,如何确保函数只影响特定玩家而不影响其他人?</think>### 如何将转移附魔函数导入 Minecraft 1.18.2 Java 版 以下是完整的导入流程,包含详细步骤和代码: #### 步骤 1: 创建数据包文件夹结构 在 Minecraft 世界的 `datapacks` 文件夹中创建以下结构: ``` 📁 enchant_transfer_data_pack ├── 📄 pack.mcmeta └── 📁 data └── 📁 enchant_utils └── 📁 functions ├── 📄 transfer.mcfunction └── 📄 init.mcfunction ``` #### 步骤 2: 创建 pack.mcmeta 文件 ```json { "pack": { "pack_format": 9, // 1.18.2 使用 pack_format 9 "description": "附魔转移工具包 v1.0" } } ``` #### 步骤 3: 创建函数文件 **transfer.mcfunction** (附魔转移主函数): ```mcfunction # enchant_utils:transfer # 将物品栏第一个物品的附魔移动到第二个物品上 # 创建临时存储实体 summon armor_stand ~ ~ ~ {Tags:["tf_temp"],Invisible:1,Marker:1,NoGravity:1,NoAI:1} # 复制第一个物品的附魔数据 data modify entity @e[type=armor_stand,tag=tf_temp,limit=1] Enchantments set from entity @s Inventory[{Slot:0b}].tag.Enchantments # 应用到第二个物品 data modify entity @s Inventory[{Slot:1b}].tag.Enchantments set from entity @e[type=armor_stand,tag=tf_temp,limit=1] Enchantments # 清除源物品的附魔 data merge entity @s Inventory[{Slot:0b}] {tag: {Enchantments: []}} # 清理临时实体 kill @e[type=armor_stand,tag=tf_temp] # 反馈信息 tellraw @s {"text":"附魔已从槽位0转移到槽位1","color":"green"} ``` **init.mcfunction** (初始化测试物品): ```mcfunction # enchant_utils:init # 准备测试物品 # 清除玩家物品 clear @s # 给予带附魔的钻石剑(槽位0) give @s minecraft:diamond_sword{Enchantments:[{id:"minecraft:sharpness",lvl:5s},{id:"minecraft:fire_aspect",lvl:2s}]} # 给予普通钻石剑(槽位1) give @s minecraft:diamond_sword # 提示信息 tellraw @s ["",{"text":"[附魔工具] ","color":"dark_purple"},{"text":"已准备两把钻石剑","color":"green"}] tellraw @s ["",{"text":"槽位0: ","color":"gold"},{"text":"锋利V + 火焰附加II","color":"red"}] tellraw @s ["",{"text":"槽位1: ","color":"gold"},{"text":"无附魔","color":"gray"}] tellraw @s ["",{"text":"使用命令: ","color":"yellow"},{"text":"/function enchant_utils:transfer","color":"green"}] ``` #### 步骤 4: 安装数据包到游戏 1. 将整个 `enchant_transfer_data_pack` 文件夹复制到: ``` .minecraft/saves/<你的世界名>/datapacks/ ``` 2. 进入游戏后,输入命令: ```mcfunction /reload ``` #### 步骤 5: 使用函数 1. 初始化测试物品: ```mcfunction /function enchant_utils:init ``` 2. 执行附魔转移: ```mcfunction /function enchant_utils:transfer ``` #### 步骤 6: 验证结果 ```mcfunction # 检查槽位1的物品 /data get entity @s Inventory[{Slot:1b}] ``` #### 完整路径示例 如果你的世界名为 `MyWorld`,完整路径将是: ``` .minecraft/saves/MyWorld/datapacks/enchant_transfer_data_pack ├── pack.mcmeta └── data └── enchant_utils └── functions ├── transfer.mcfunction └── init.mcfunction ``` ### 高级功能:跨版本兼容性 若要确保在 1.18.2 上的兼容性,添加版本检查: **version_check.mcfunction**: ```mcfunction # enchant_utils:version_check execute unless data storage enchant_utils:data {version_check:1b} run tellraw @s ["",{"text":"[警告] ","color":"red"},{"text":"此数据包专为1.18.2设计,当前版本:","color":"yellow"},{"selector":"@s","color":"gold"}] data merge storage enchant_utils:data {version_check:1b} ``` ### 常见问题解决方案 1. **数据包未加载**: ```mcfunction # 检查是否加载 /datapack list # 如果未加载,尝试 /datapack enable "file/enchant_transfer_data_pack" ``` 2. **函数无法执行**: - 确保文件路径正确:`data/enchant_utils/functions/` - 确保文件名后缀是 `.mcfunction` 3. **附魔未转移**: - 确保两个物品是相同类型 - 检查源物品是否有附魔标签: ```mcfunction /data get entity @s Inventory[{Slot:0b}].tag.Enchantments ``` ### 多人游戏适配 若要所有玩家都能使用: ```mcfunction # 对所有玩家执行 execute as @a run function enchant_utils:transfer # 或通过命令方块触发 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jay_fearless

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值