
锻造台
回迁并改进了锻造台!
查看大图回溯移植并改进了锻造台!

如果你是整合包开发者,想要将锻造台添加到 CurseForge 或 Modrinth 之外分发的整合包中,请使用 File Director 以避免重新上传锻造台的文件。
锻造台为以下模组添加了特殊支持:
- AssetMover:下载锻造物品的官方音效。如果你没有安装 AssetMover,或者音效下载失败,将改用铁砧音效。
- CraftTweaker / GroovyScript:新增函数用于添加自定义锻造模板、添加/移除锻造配方,以及添加/移除锻造台变体。两个模组的示例脚本可在此处找到。
- Had Enough Items / Just Enough Items:新增锻造配方类别。
本模组默认不包含任何锻造配方或锻造模板。它的存在仅仅是为了方便那些想要利用锻造台的整合包开发者和模组开发者!
话虽如此,本模组添加的锻造台提供的功能与原版实现相同,甚至更多!你可能首先注意到的第一个区别是,这些锻造台可以用所有原版和模组的木板制作!

与原版实现的另一个区别是,本模组的锻造台可以自动化配方(通过漏斗、管道等)!任何物品提取都会自动尝试使用存储的物品执行锻造配方,并提取产出的物品。只有对配方有效的物品才能被插入,并且它们会自动放入正确的槽位。非产出物品无法被自动提取,因此自动化无需物品过滤器!锻造台配方自动化可以在配置中禁用。

面向整合包开发者和模组开发者(或任何对本模组配方内部机制好奇的人)的信息:
请参阅 GitHub 上的示例文件夹以获取 CraftTweaker 和 GroovyScript 示例脚本。
所有锻造配方均由一个新的(可修改的)forge 注册表控制。这意味着每个锻造配方必须有一个唯一的 id,并且锻造配方注册表允许自由添加/移除配方。
每个锻造配方由 3 个标准 Ingredient 输入、1 个 ItemStack 输出以及一个生产 SoundEvent(可选,默认为基础锻造音效)组成。锻造配方处理器对每个材料的处理方式略有不同:
- 模板材料:此材料对应第一个槽位。如果其匹配的物品具有最大耐久度,它将受到损坏而不是被消耗。锻造配方处理器还允许此材料为空,因此如果需要,自定义配方可以跳过模板材料。
- 装备材料:此材料对应第二个槽位。如果匹配的物品已损坏,且配方输出具有耐久度,则损坏的耐久度将转移到输出物品上。装备物品中的 NBT 数据也将合并到输出物品的 NBT 中(附魔、自定义名称等)。
- 材料:此材料对应第三个槽位。此物品在配方中始终会被消耗,即使它具有耐久度。
所有锻造模板均由一个新的(不可修改的)forge 注册表控制。这意味着每个锻造模板必须有一个唯一的 id,并且锻造模板无法从锻造模板注册表中移除。锻造模板具有以下字段:
- model:必填。物品模型的
ModelResourceLocation。 - templateSlotTexture:必填。指向锻造台 GUI 中模板槽位所用背景纹理的
ResourceLocation。当模板槽位中没有物品时,该槽位将逐渐循环显示每个唯一的templateSlotTexture(针对所有已注册的锻造模板)。如果没有已注册的锻造模板,模板槽位将没有背景纹理。点击此处查看本模组附带的所有槽位纹理。 - equipmentSlotInfo:可选。当此锻造模板位于模板槽位时,装备槽位的 GUI 渲染信息。由用于悬停文本的
ITextComponent和用于背景纹理的Set<ResourceLocation>组成。当此锻造模板位于模板槽位且装备槽位中没有物品时,该槽位将使用悬停文本并逐渐循环显示每个背景纹理。 - materialSlotInfo:可选。当此锻造模板位于模板槽位时,材料槽位的 GUI 渲染信息。由用于悬停文本的
ITextComponent和用于背景纹理的Set<ResourceLocation>组成。当此锻造模板位于模板槽位且材料槽位中没有物品时,该槽位将使用悬停文本并逐渐循环显示每个背景纹理。 - creativeTabs:可选。此锻造模板的创造模式标签页。注意:此锻造模板将始终出现在“锻造台”和“搜索”创造模式标签页中。
- forceEnchantGlint:可选。如果此项始终具有附魔光效,则为 true。
- maxDurability:可选。此锻造模板的最大物品耐久度。
- maxStackSize:可选。此锻造模板的最大物品堆叠数量。
- rarity:可选。此锻造模板的
IRarity。默认为UNCOMMON。
每个锻造模板在游戏中作为物品 NBT 处理,使用语法 {smithing_table: {TemplateId: "TEMPLATE_REGISTRY_ID_HERE"}}。这允许其“槽位相关”字段应用于任何现有物品,并允许每个锻造模板作为中心 smithing_table:template 物品的子类型存在(以节省物品 id)。
锻造台提供了一个自定义的 api.SmithingTemplateIngredient 材料类(其 json 材料工厂 id 为 smithing_table:template),允许锻造模板也可用于所有使用 Ingredient 的模组配方系统!此材料接受一个锻造模板 id 数组。它仅检查所提供物品中的锻造模板 NBT,以确定其是否匹配任何可接受的锻造模板 id。
本模组还添加了一个简单的 smithing_table:template 战利品函数,它接受一个锻造模板 id 并将其应用于战利品物品。
以下是 recipes.groovy 和 templates.groovy 示例脚本实际运行的截图:
注意:锻造台 GUI 高度可配置,因此如果你不喜欢某些空槽位(例如)的盔甲架或悬停文本,你可以禁用它们!
本模组不会进行移植。
直接联系方式:jbred.dev@gmail.com
正在加载版本记录…




正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。