Data Packs Quality of Life

Cauldron Concrete Powder [1.15-26.3+]

  • 15.3k views • 1 today
  • save_alt 3.6k downloads
Compatibility
Minecraft 1.15
to version
Minecraft 26.3 snapshot
Changes include
  • Advancements
  • Functions
  • Predicates
  • 36
  • 37
  • 13
Stoupy
Lvl 52 • Grandmaster Electrician
57
Cauldron Concrete Powder [1.15-26.3+] Minecraft Data Pack Cauldron Concrete Powder [1.15-26.3+] Minecraft Data Pack Cauldron Concrete Powder [1.15-26.3+] Minecraft Data Pack

🧪 CauldronConcretePowder is a simple yet powerful Datapack that enhances your Minecraft experience
by allowing you to instantly transform concrete powder into hardened concrete by dropping it into water cauldrons!
No more tedious manual placement required.

⚡ This Datapack has been meticulously optimized for maximum performance and efficiency. Our benchmarks show it runs significantly faster than VanillaTweaks' equivalent solution.

💡 Originally created as a community request.





⚙️ Configuration

🌊 Convert concrete powder not dropped by a player

Starting version 1.6.0, you can make the datapack convert every concrete powder item that lands in a water cauldron,
not only the ones dropped by a player (e.g. items carried by a water stream, dispensed by droppers, broken from falling blocks, etc.).

Run this command once (it is saved with your world):scoreboard players set #always_check cauldron_concrete_powder.config 1To go back to the default behavior (only player-dropped items), run:scoreboard players reset #always_check cauldron_concrete_powder.config
⚡ By default, items are only checked when a player has dropped something, which is the most performant option.
When #always_check is enabled, items inside water cauldrons are checked every second instead.

🔧 Adding Custom Cauldron Recipes

CauldronConcretePowder uses function tags to allow other datapacks to easily add their own "cauldron recipes".
This means you can create custom items that transform when dropped into water cauldrons, just like concrete powder.

📋 How It Works

The dry_concrete function is called via the function tag #cauldron_concrete_powder:signals/dry_concrete.
When an item is dropped into a water cauldron, this tag is executed,
allowing multiple datapacks to add their own transformation logic.

Your custom function should:
  1. Check if the dropped item matches your custom "powder" item.
  2. If it matches, change the item to its "hardened" version.
  3. If the transformation is successful and the item count is 16 or more, call the remove_water function to reduce the cauldron's water level.
  4. Reset any temporary scores.

📦 Creating a Custom Datapack

To add your own cauldron recipe, create a datapack with the following structure:your_datapack/
├── 📦 pack.mcmeta
└── 📁 data/
└── 📁 your_namespace/
├── 📁 functions/
│ └── 📁 cauldron_concrete_powder/
│ └── 📄 dry_concrete.mcfunction
└── 📁 tags/
└── 📁 functions/
└── 📁 signals/
└── 📄 dry_concrete.json
  • 🔄 Replace your_namespace with your datapack's namespace.
  • 📝 The dry_concrete.mcfunction should contain your custom transformation logic.
  • 🏷️ The dry_concrete.json should define the function tag with your function:
{
"values": [
"your_namespace:cauldron_concrete_powder/dry_concrete"
]
}

You can download a template datapack from assets/function_tag_template.zip and modify it to fit your needs.

💡 Example Function

Here's an example of what your dry_concrete.mcfunction might look like:#> your_namespace:cauldron_concrete_powder/dry_concrete
#
[h1]@within #cauldron_concrete_powder:signals/dry_concrete[/h1]
#

[h1]Check for your custom powder and transform it[/h1]
execute if score #success cauldron_concrete_powder.dropped matches 0 store success score #success cauldron_concrete_powder.dropped if items entity @s contents your_namespace:custom_powder run data modify entity @s Item.id set value "your_namespace:custom_hardened"

[h1]If success and count >=16, remove water[/h1]
execute if score #success cauldron_concrete_powder.dropped matches 1 store result score #count cauldron_concrete_powder.dropped run data get entity @s Item.count
execute if score #success cauldron_concrete_powder.dropped matches 1 if score #count cauldron_concrete_powder.dropped matches 16.. run function cauldron_concrete_powder:v1.4.0/remove_water

[h1]Reset scores[/h1]
scoreboard players reset #success cauldron_concrete_powder.dropped
scoreboard players reset #count cauldron_concrete_powder.dropped

Make sure to adjust the version in the remove_water call to match the current version of CauldronConcretePowder.
This allows for seamless integration and expansion of cauldron-based crafting!

🧵 For Fabric Mod Developers

Fabric mods can also add custom cauldron recipes by including datapack-compatible files in their mod's src/main/resources/data/ folder. Use the same structure as above, placing your custom dry_concrete.mcfunction and the function tag JSON in the appropriate directories. This way, your mod can extend the cauldron transformation system without conflicting with other datapacks or mods.

For example, your mod's resources might include:src/main/resources/data/
└── 📁 your_mod_namespace/
├── 📁 functions/
│ └── 📁 cauldron_concrete_powder/
│ └── 📄 dry_concrete.mcfunction
└── 📁 tags/
└── 📁 functions/
└── 📁 signals/
└── 📄 dry_concrete.json

14 Update Logs

Update #14 : by Stoupy 10/01/2026 6:00:20 amOctober 1 @ 10:00 am UTC

Changelog

Features

  • ✨ Added #always_check config to convert concrete powder not dropped by a player 10d448f

Documentation

  • 📝 Explained how to configure #always_check in README 95d1359

Performance Improvements

  • ⚡ Only run the @a selector when a player's inventory changed (inventory_changed advancement) c3d79bb
  • ⚡ Removed unnecessary return 1 in check_all (return run already discards the caller's frame) a8743a1

Build System

  • 🚀 Bumped v1.6.0 (MC 26.3+) 749d6ff
  • 🚀 Rebuild to update datetime 680e0c7

Other

  • Merge pull request #3 from Stoupy51/feat/always-check-config 100929a

Full Changelog: https://github.com/Stoupy51/CauldronConcretePowder/compare/v1.5.4...v1.6.0
LOAD MORE LOGS

More like this

  Have something to say?

DlaczegoDrzewaNicNieMowia
• 10/17/2025 10:03 am
He/Him • Level 14 : Journeyman Ranger Caveman
genius
2
Klade
• 03/30/2025 5:32 am
He/Him • Level 37 : Artisan Cookie Pig
Should be added to main game XD
2
iShaderz
• 08/13/2025 9:36 pm
• Level 1 : New Miner
make them not useless anymore
2
HazyCozmos
• 11/27/2024 6:52 pm
He/Him • Level 25 : Expert Robot Musician
Why is this not a base game feature yet?
3
RODHI
• 11/28/2024 1:00 am
• Level 5 : Apprentice Miner
fr i was just about to say that
2
fioxu
• 07/21/2024 4:43 pm
• Level 32 : Artisan Fossil Pokémon
v1.0.0b works with 1.20.6 🌟
2
Cubert
• 06/26/2024 7:42 am
• Level 1 : New Miner
doesnt work on 1.21
2
Stoupy
• 07/09/2024 4:05 pm
• Level 52 : Grandmaster Electrician
Yup, it's now updated to 1.21!
1
Firixe
• 01/31/2024 2:02 pm
• Level 17 : Journeyman Explorer
good datapack
2
Mrkilon
• 06/22/2023 1:05 pm
• Level 1 : New Miner
will there be an update for version 1.20?)
1

Welcome