
逐行翻译如下: PunchThemAll
击打不同的方块来获取你需要的资源!
查看大图揍它们全部
将任何点击变成配方。 PunchThemAll 允许整合包作者定义当玩家左键/右键点击(无论是否潜行)一个方块、流体或空气时会发生什么——可选择玩家手中持有特定物品。无需 Java,无需 KubeJS:只需在数据包中放置 JSON 文件(data/<命名空间>/pta/interaction/)。
每个交互都可以产生带权重或必定的掉落物,转换被点击的方块/流体,消耗玩家的生命值或饥饿度,给予药水效果,播放声音和粒子,并且可以通过生物群系、维度、时间、天气、海拔、光照或玩家状态进行条件限制。所有内容都会显示在 JEI 和 EMI 中。
亮点
- 🖱️ 任何点击都是触发器 — 左键/右键、潜行与否、点击方块、流体或空气。包括点击空气(左键),这是早期版本无法做到的。
- 🎒 感知手持物品 — 要求主手/副手/任意手持有某个物品或标签,匹配其 NBT,并选择其消耗方式(耐久度、数量减少或不变)。
- 🎁 丰富奖励 — 一个带权重的战利品池,加上必定掉落的
guaranteed物品,多次rolls抽取,以及类似时运/抢夺的加成。 - 🔄 转换 — 将点击的方块/流体替换为另一个,复制方块状态值,并伴有声音和粒子效果。
- 🌦️ 条件限制 — 按生物群系/维度标签、一天中的时间、天气、Y 轴范围、光照等级、潜行状态、饥饿度和经验值进行限制。
- 💥 玩家反馈 — 药水效果、伤害、饥饿度消耗,以及交互级别的音效/粒子效果。
- 🔎 类型化 NBT 谓词 — 使用清晰的
path+ 范围 + 过滤规则来匹配物品/方块实体数据。 - 📖 JEI 与 EMI 集成 — 玩家可以浏览每个交互、其输入、掉落物和条件。物品需求以通俗语言书写(“物品必须拥有:效率 I - V”),而不是原始的 NBT。
- 🖥️ 服务器友好 — 交互存在于数据包中,服务器会将其同步到客户端,因此在专用服务器上 JEI/EMI 无需任何设置即可正确显示。数据包也可以被覆盖,并可使用
neoforge:conditions进行门控。
一个简单的例子
使用任意锹潜行左键点击沙砾,有几率获得粘土,将沙砾转化为沙子,并消耗少量饥饿度:
{
"schema_version": 2,
"type": "shift_left_click",
"hand": { "hand": "main", "match": "#minecraft:shovels", "consume": { "mode": "durability" } },
"target": { "kind": "block", "match": "minecraft:gravel" },
"transformation": { "chance": 0.7, "into": { "kind": "block", "id": "minecraft:sand" }, "particles": "minecraft:sand" },
"rewards": { "weighted": [
{ "match": "minecraft:clay_ball", "weight": 10, "count": { "min": 1, "max": 3 } },
{ "match": "minecraft:air", "weight": 90 }
] },
"costs": { "hunger": { "chance": 0.1, "amount": { "min": 1, "max": 3 } } }
}
一个“面面俱到”的例子
在夜晚、深入地底、黑暗中,使用时运镐挖掘石头——必定获得圆石,有机会获得铁粒(每级时运翻倍),获得急迫效果和粒子:
{
"schema_version": 2,
"type": "shift_right_click",
"hand": {
"hand": "main",
"match": "#minecraft:pickaxes",
"consume": { "mode": "durability" },
"nbt_predicates": [ { "path": "Enchantments[].lvl", "int_range": [1, 5], "where": "{id:\"minecraft:efficiency\"}" } ]
},
"target": { "kind": "block", "match": "minecraft:stone" },
"rewards": {
"rolls": 2,
"guaranteed": [ { "match": "minecraft:cobblestone", "count": 1 } ],
"weighted": [
{ "match": "minecraft:iron_nugget", "weight": 20, "count": { "min": 1, "max": 2 } },
{ "match": "minecraft:air", "weight": 80 }
],
"fortune": { "enchant": "minecraft:fortune", "factor": 1.0 }
},
"effects": [ { "id": "minecraft:haste", "duration": 100, "chance": 0.25 } ],
"sound": "minecraft:block.stone.hit",
"particles": "minecraft:stone",
"conditions": { "time": "night", "y_range": [-64, 40], "light": { "max": 7 } }
}
文档
- 快速入门(一步一步): getting-started.md
- 完整 JSON 参考: interaction-format.md
- 加载、重载与 JEI: interactions.md
- 配置选项: configuration.md
- 编辑器模式: interaction.schema.json
- 更新日志: CHANGELOG.md
- 可直接复制的示例数据包: 涵盖所有字段的 40 个交互 在此编目
兼容性
- Minecraft 1.21.1,NeoForge 21.1.x。
- JEI 或 EMI(可选)用于配方浏览器——两者均原生支持。
- 与资源/科技模组(Create、AE2、Ex Deorum、Thermal、Click Machine 等)搭配良好。
正在加载版本记录…


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