截图
介绍
PunchThemAll
Turn any click into a recipe. PunchThemAll lets pack makers define what happens when a player
left/right-clicks (with or without sneaking) on a block, a fluid or the air — optionally with a
specific item in hand. No Java, no KubeJS: just JSON files in a datapack
(data/<namespace>/pta/interaction/).
Every interaction can produce weighted or guaranteed drops, transform the clicked block/fluid, cost
the player health or hunger, grant potion effects, play sounds and particles, and be gated by biome,
dimension, time, weather, altitude, light or player state. Everything shows up in JEI and EMI.
Highlights
- 🖱️ Any click is a trigger — left/right, sneaking or not, on block, fluid or air. Including a left
click on nothing, which no earlier version could serve. - 🎒 Hand-aware — require an item or tag in the main/off/any hand, match its NBT, and choose how
it is spent (durability, shrink, or nothing). - 🎁 Rich rewards — a weighted loot pool plus always-given
guaranteeddrops, multiplerolls,
and a Fortune/Looting-style bonus. - 🔄 Transformations — swap the clicked block/fluid for another, copying block-state values,
with sounds and particles. - 🌦️ Conditions — gate by biome/dimension tags, time of day, weather, Y range, light level,
sneaking, food and XP. - 💥 Player feedback — potion effects, damage, hunger cost, and interaction-level sound/particles.
- 🔎 Typed NBT predicates — match item/block-entity data with clean
path+ range + filter rules. - 📖 JEI & EMI integration — players can browse every interaction, its inputs, drops and
conditions. Item requirements are written as plain sentences (“The item must have: Efficiency
I – V”), not raw NBT. - 🖥️ Server-friendly — interactions live in datapacks and the server syncs them to clients, so
JEI/EMI are correct on dedicated servers with zero setup. Datapacks also override and can be gated
withneoforge:conditions.
A tiny example
Sneak-left-click gravel with any shovel to sometimes get clay, turn the gravel into sand, and lose a
little hunger:
{
"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 } } }
}
A “kitchen-sink” example
Mine stone at night, deep underground, in the dark, with a Fortune pickaxe — for guaranteed
cobblestone, a chance at iron nuggets (doubled per Fortune level), a Haste buff and particles:
{
"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 } }
}
Documentation
- Getting started (step-by-step): getting-started.md
- Full JSON reference: interaction-format.md
- Loading, reloading & JEI: interactions.md
- Config options: configuration.md
- Editor schema: interaction.schema.json
- Changelog: CHANGELOG.md
- Copy-paste example datapack: 40 interactions covering every field catalogued here
Compatibility
- Minecraft 1.21.1, NeoForge 21.1.x.
- JEI or EMI (optional) for the recipe browser — both are supported natively.
- Pairs well with resource/tech mods (Create, AE2, Ex Deorum, Thermal, Click Machine, …).
常见问题
PunchThemAll 支持哪些 Minecraft 版本?
PunchThemAll 支持 Minecraft Java 版 1.20–26.1.2,共 7 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。
PunchThemAll 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
评论
登录后评论和评分