Item Scrapper

Item Scrapper

添加一个拆解工作台(可通过JSON数据完全配置)

技术

物品拆解机(Item Scrapper)模组引入了一个专门的拆解工作站。通过此模组,玩家可以以一种可配置且沉浸的方式,将物品拆解为其核心组成材料。

展示视频:Enderverse 的 Top 20 模组展示

 

展示片段(来自 Enderverse 的视频):来自 Enderverse 视频的简短展示片段


全新数据包系统

物品拆解机现在使用基于现代数据包的系统进行配置!这意味着:

  • 更好的模组兼容性 - 其他模组可以提供它们自己的物品拆解机配置文件
  • 即用型内容包 - 我们为热门模组提供了官方内容包
  • 模板生成 - 模组可以生成配置模板,帮助你创建自定义数据包
  • 重新加载 - 使用 /reload 即可更新配置,无需重启游戏(如果数据包是以模组/JAR 形式打包的,则此方法无效)

需要内容包

⚠️ 重要:你需要一个兼容的内容包/数据包才能使用此模组!如果未检测到任何配置,模组会发出警告。

可用的官方内容包:

可用的社区内容包:

其他选择:

  • 整合包专用配置
  • 社区创建的数据包
  • 自动生成的配置(见下文)

主要特性

拆解工作台

  • 多方块结构:一个 2x1 的拆解台,物品放置在其上方
  • 物品可视化渲染:以逼真的位置在桌面上查看你放置的物品
  • 拆解锤:使用附带的锤子工具来分解物品
  • 进度系统:通过粒子和效果提供视觉反馈,显示拆解进度

数据包配置系统

  • 基于配方的战利品:根据物品的合成配方自动生成材料
  • 自定义战利品表:使用 Minecraft 的战利品表系统实现独特掉落
  • 多配方支持:物品可以引用多个配方来获取复杂材料
  • NBT 匹配:同一物品的不同变体(如模组枪械)可以拥有独特的配置

增强用户体验

  • 按键绑定支持:按下 P 键(可配置)可将物品直接放置到拆解机上
  • 智能悬浮提示:可配置的物品悬浮提示显示拆解信息
  • 视觉效果:粒子效果、声音和动画增强了拆解体验
  • 耐久度系统:物品状态影响材料回收率

高级功能

  • 爆炸系统:物品在拆解过程中有一定几率发生爆炸
  • 取整选项:选择如何处理小数材料(标准/向下取整/向上取整)
  • 模组集成:内置对 TACZ 枪械和 PointBlank 武器的支持
  • 自动生成:为带有标签的物品自动创建配置
  • 调试系统:全面的日志记录,便于故障排除

数据包结构

配置文件存储在你整合包命名空间下的数据包中。每个内容包使用自己的命名空间,以避免与其他包冲突。

JAR/模组结构:

item-scrapper-pack-example-1.0.0.jar
├── META-INF/
│   └── mods.toml
├── pack.mcmeta
└── data/
    └── item_scrapper_pack_example/    # 你的包的模组 ID
        └── item_scrapper/             # 目标模组的命名空间
            ├── recipes/
            │   ├── iron_sword_result.json
            │   └── iron_pickaxe_result.json
            └── transforms/
                ├── iron_sword_transform.json
                └── iron_pickaxe_transform.json

ZIP/数据包结构:

item-scrapper-example-datapack.zip
├── pack.mcmeta
└── data/
    └── item_scrapper_pack_example/    # 你的包的命名空间
        └── item_scrapper/             # 目标模组的命名空间
            ├── recipes/
            │   ├── iron_sword_result.json
            │   └── iron_pickaxe_result.json
            └── transforms/
                ├── iron_sword_transform.json
                └── iron_pickaxe_transform.json

结构说明:

  • 第一层:你的内容包的唯一命名空间(防止不同包之间冲突)
  • 第二层:item_scrapper 命名空间(告诉物品拆解机模组加载这些配置)
  • recipes/:包含物品的拆解行为配置
  • transforms/:包含物品在拆解台上的视觉定位数据

示例:

  • data/item_scrapper_pack_vpb/item_scrapper/
  • data/item_scrapper_pack_armor_tools/item_scrapper/
  • data/my_custom_pack/item_scrapper/

 

配方配置

{
  "minecraft:diamond_pickaxe": [
    {
      "lootable": {
        "autoGenerateFromRecipe": true,
        "recipeId": "minecraft:diamond_pickaxe",
        "returnAmount": {
          "min": 25.0,
          "max": 35.0
        },
        "amountForMaxReturn": 1
      },
      "requiredHits": 4.0,
      "explosionChance": 0.0,
      "explosionPower": 0.0,
      "useDurabilityMultiplier": true,
      "roundingType": "STANDARD"
    }
  ]
}

变换配置

{
  "minecraft:diamond_pickaxe": [
    {
      "xLocation": 0.0,
      "yLocation": 0.0,
      "zLocation": 0.0,
      "layingRotation": 0.0,
      "scale": 1.0
    }
  ]
}

高级 NBT 匹配(适用于模组物品)

{
  "tacz:modern_kinetic_gun": [
    {
      "requiredNbt": "{GunId:\"tacz:glock_17\"}",
      "lootable": {
        "autoGenerateFromRecipe": true,
        "recipeId": "tacz:glock_17",
        "returnAmount": {
          "min": 45.0,
          "max": 70.0
        }
      },
      "requiredHits": 2.0
    }
  ]
}

配置选项

配方字段

  • lootable:定义材料的生成方式
    • autoGenerateFromRecipe:根据物品的合成配方生成
    • recipeId/recipeIds:使用哪个(些)配方(支持数组)
    • returnAmount:材料返还的最小/最大百分比
    • amountForMaxReturn:达到最大效率所需物品数量
    • lootTable:替代方案 - 使用自定义战利品表
  • requiredHits:需要锤击的次数
  • explosionChance:爆炸几率百分比(0-100)
  • explosionPower:触发爆炸时的爆炸强度
  • useDurabilityMultiplier:物品状态是否影响产出
  • roundingType:如何处理小数数量(STANDARD/FLOOR/CEILING)
  • requiredNbt:应用此配置所需的 NBT 数据

变换字段

  • xLocation:在桌面上的 X 轴位置偏移
  • yLocation:在桌面上的 Y 轴位置偏移
  • zLocation:在桌面上的 Z 轴位置偏移
  • layingRotation:物品的旋转角度
  • scale:渲染物品的尺寸缩放
  • requiredNbt:应用此变换所需的 NBT 数据

自动生成系统

模组可以自动生成以下项目的配置模板:

  • 物品标签:配置 forge:armors、tacz:guns、pointblank:all 等
  • 单个物品:指定具体物品,如 minecraft:diamond_sword
  • TACZ 集成:自动检测并配置枪械配方
  • PointBlank 集成:支持 PointBlank 武器配方

工作原理:生成的配置作为模板放置在 generated_datapacks/item_scrapper_generated/ 中。你需要手动将此文件夹复制到世界的 datapacks 文件夹中,或将其作为创建自定义内容包的基础。

提示:如需即插即用体验,请改用我们的官方内容包:
VPB 内容包 | 盔甲与工具内容包 | TACZ 内容包


操作与界面

  • 放置物品:按 P 键(可配置)- 将手持物品直接放置到拆解机上
  • 收集物品:右键点击拆解机收集输出物,Shift+右键点击收集全部
  • 拆解:当物品在桌面上时,使用拆解锤左键点击
  • 配置界面:通过 Mod Menu 访问客户端设置

客户端自定义

配置视觉和界面选项:

  • 渲染限制:最大渲染物品数量(性能)
  • 悬浮提示选项:显示/隐藏拆解信息
  • 调试日志:启用详细的控制台输出

模组集成

TACZ (Timeless and Classics Zero)

  • 自动检测枪械配方
  • 支持新旧两种 TACZ 格式
  • 基于 NBT 的枪械变体匹配

PointBlank

  • 原生支持 PointBlank 武器配方
  • 自动提取合成材料
  • 完全模组兼容性

给数据包/整合包作者

像我们的官方内容包一样创建你自己的内容包:

开发特性:

  • 模板生成:使用自动生成系统为你的数据包创建起始模板
  • 简易集成:通过创建简单的 JSON 文件来添加你模组的物品
  • 配方兼容性:适用于任何使用标准配方格式的模组
  • 灵活系统:支持带有 NBT 数据的复杂物品
  • 性能优化:高效的加载和缓存系统

快速开始

  1. 安装模组 - 物品拆解机核心模组
  2. 获取内容包 - 选择一个选项:
  3. 合成方块 - 拆解台和拆解锤
  4. 放置物品 - 使用 P 键或右键点击将物品放置到桌面上
  5. 开始拆解 - 用锤子击打物品将其分解!

专业提示

  • 多个物品:堆叠多个物品进行批量处理
  • 耐久度很重要:拆解前修复物品以获得更高产出
  • 爆炸安全:某些物品可能会爆炸 - 请保持距离!
  • 配置模板:自动生成的配置需要手动复制到 saves/[世界名]/datapacks/ 才能生效
  • 快速测试:使用 /reload 快速测试配置更改
  • 性能:如果多个物品导致卡顿,请调整渲染限制

 

特别感谢 Corrineduck、Plazuk、Raph 和 MC7

此模组最初为 CW 整合包制作,但任何人都可以使用。