promotional bannermobile promotional banner

PunchThemAll

Punch different blocks to obtain the ressources you need !
image_1.png

image_1.png

image_2.png

image_2.png

image_3.png

image_3.png

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 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 guaranteed drops, multiple rolls, 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 with neoforge: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

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, …).

The PunchThemAll Team

profile avatar
Owner
  • 1
    Followers
  • 4
    Projects
  • 680
    Downloads

More from DrimoZ

  • Factor'I/O project image

    Factor'I/O

    Factorio's inserters and belts, in Minecraft. Machines that move items on their own, and belts that carry them — between the inventories you already have.

    • 225
    • August 22, 2026
  • Portables Beacons project image

    Portables Beacons

    Beacon effects in an inventory item. Four tiers, augments you slot in, and a fuel cost — all defined in datapacks.

    • 44
    • August 18, 2026
  • Veskorius project image

    Veskorius

    A dead civilisation ran on energy that never touched a wire. Wake its outposts, learn to read a field you cannot see, and follow it down five tiers to the Rift.

    • 3
    • August 9, 2026
  • Factor'I/O project image

    Factor'I/O

    Factorio's inserters and belts, in Minecraft. Machines that move items on their own, and belts that carry them — between the inventories you already have.

    • 225
    • August 22, 2026
  • Portables Beacons project image

    Portables Beacons

    Beacon effects in an inventory item. Four tiers, augments you slot in, and a fuel cost — all defined in datapacks.

    • 44
    • August 18, 2026
  • Veskorius project image

    Veskorius

    A dead civilisation ran on energy that never touched a wire. Wake its outposts, learn to read a field you cannot see, and follow it down five tiers to the Rift.

    • 3
    • August 9, 2026