大锅混凝土粉末

大锅混凝土粉末

CauldronConcretePowder是一个简单的数据包,旨在为玩家提供直接将混凝土粉末丢入水釜中将其转化的可能性。 数据包尽可能优化,运行速度比VanillaTweaks的更快。

炼药锅混凝土粉末

GitHub Smithed Modrinth PMC Discord Powered by StewBeet

🧪 CauldronConcretePowder 是一个简单而强大的数据包,通过允许你将混凝土粉末丢入水炼药锅中,即可立即将其转化为硬化混凝土,从而增强你的 Minecraft 体验!
不再需要繁琐的手动放置。

⚡ 这个数据包经过精心优化,以实现最高性能和效率。我们的基准测试表明,它的运行速度明显快于 VanillaTweaks 的同类解决方案。

💡 最初是应社区请求而创建的。

宣传图片

CauldronConcretePowder 图片 1 CauldronConcretePowder 图片 2 CauldronConcretePowder 图片 3

🔧 添加自定义炼药锅配方

CauldronConcretePowder 使用函数标签,允许其他数据包轻松添加他们自己的“炼药锅配方”。
这意味着你可以创建自定义物品,当它们被丢入水炼药锅时会像混凝土粉末一样发生转化。

📋 工作原理

dry_concrete 函数通过函数标签 #cauldron_concrete_powder:signals/dry_concrete 被调用。
当一个物品被丢入水炼药锅时,这个标签会被执行,允许多个数据包添加他们自己的转化逻辑。

你的自定义函数应该:

  1. 检查丢入的物品是否匹配你的自定义“粉末”物品。
  2. 如果匹配,将该物品变为其“硬化”版本。
  3. 如果转化成功且物品数量为 16 或更多,调用 remove_water 函数来减少炼药锅的水位。
  4. 重置任何临时分数。

📦 创建自定义数据包

要添加你自己的炼药锅配方,请创建一个具有以下结构的数据包:

your_datapack/
├── 📦 pack.mcmeta
└── 📁 data/
    └── 📁 your_namespace/
        ├── 📁 functions/
        │   └── 📁 cauldron_concrete_powder/
        │       └── 📄 dry_concrete.mcfunction
        └── 📁 tags/
            └── 📁 functions/
                └── 📁 signals/
                    └── 📄 dry_concrete.json
  • 🔄 将 your_namespace 替换为你的数据包的命名空间。
  • 📝 dry_concrete.mcfunction 应包含你的自定义转化逻辑。
  • 🏷️ dry_concrete.json 应定义带有你的函数的函数标签:
{
  "values": [
    "your_namespace:cauldron_concrete_powder/dry_concrete"
  ]
}

你可以从 assets/function_tag_template.zip 下载模板数据包并对其进行修改以满足你的需求。

💡 示例函数

以下是你的 dry_concrete.mcfunction 可能的样子示例:

#> your_namespace:cauldron_concrete_powder/dry_concrete
#
# @within #cauldron_concrete_powder:signals/dry_concrete
#

# 检查你的自定义粉末并进行转化
execute if score #success cauldron_concrete_powder.dropped matches 0 store success score #success cauldron_concrete_powder.dropped if items entity @s contents your_namespace:custom_powder run data modify entity @s Item.id set value "your_namespace:custom_hardened"

# 如果成功且数量 >=16,移除水
execute if score #success cauldron_concrete_powder.dropped matches 1 store result score #count cauldron_concrete_powder.dropped run data get entity @s Item.count
execute if score #success cauldron_concrete_powder.dropped matches 1 if score #count cauldron_concrete_powder.dropped matches 16.. run function cauldron_concrete_powder:v1.4.0/remove_water

# 重置分数
scoreboard players reset #success cauldron_concrete_powder.dropped
scoreboard players reset #count cauldron_concrete_powder.dropped

请确保调整 remove_water 调用中的版本号,使其与当前 CauldronConcretePowder 的版本相匹配。

这允许基于炼药锅的制作实现无缝集成和扩展!

🧵 对于 Fabric 模组开发者

Fabric 模组也可以通过在其模组的 src/main/resources/data/ 文件夹中包含兼容数据包的文件来添加自定义炼药锅配方。使用与上述相同的结构,将你的自定义 dry_concrete.mcfunction 和函数标签 JSON 放在相应的目录中。这样,你的模组就可以扩展炼药锅转化系统,而不会与其他数据包或模组冲突。

例如,你的模组资源可能包含:

src/main/resources/data/
└── 📁 your_mod_namespace/
    ├── 📁 functions/
    │   └── 📁 cauldron_concrete_powder/
    │       └── 📄 dry_concrete.mcfunction
    └── 📁 tags/
        └── 📁 functions/
            └── 📁 signals/
                └── 📄 dry_concrete.json

⭐ Star 历史

Star 历史图表