Mod
PunchThemAll
No reviews yet
Punch different blocks to obtain the ressources you need !
Includes quality of life improvements and small tweaks to enhance and customize gameplay.
Forge is a popular mod loader for versions 1.1+ of Minecraft.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
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 you drop in config/punchthemall/interactions.
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.
Highlights
- 🖱️ Any click is a trigger — left/right, sneaking or not, on block, fluid or air.
- 🎒 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. - 📖 Full JEI integration — players can browse every interaction, its inputs, drops and conditions.
- 🖥️ Server-friendly — the interaction registry is synchronised to clients, so JEI is correct on dedicated servers. Interactions can live in the config folder and (optionally) in datapacks.
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
- Changelog: CHANGELOG.md
- Copy-paste examples:
configExamples/interactions
Compatibility
- Minecraft 1.20.1, Forge 47.x.
- JEI required for the recipe browser.
- Optional integrations tested against Create, AE2, Ex Deorum, Thermal and Click Machine.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers