Download
Choose Minecraft Version
1.21.101.21.11v1.5.0
1.21.101.21.10v1.5.0
1.21.101.21.9v1.5.0
1.21.101.21.8v1.5.0
1.21.101.21.7v1.5.0
1.21.101.21.6v1.5.0
1.21.101.21.5v1.5.0
1.21.101.21.3v1.3.0
1.21.101.21.2v1.3.0
1.21.101.21.1v1.3.0
1.21.101.21v1.3.0
1.21.101.20.6v1.3.0
1.21.101.20.5v1.3.0
1.21.101.20.4v1.1.0
1.21.101.20.3v1.1.0
1.21.101.20.2v1.1.0
1.21.101.20.1v1.1.0
1.21.101.20v1.1.0
1.21.101.19.4v1.1.0
1.21.101.19v1.1.0
1.21.101.18.2v1.1.0
1.21.101.18.1v1.1.0
1.21.101.18v1.1.0
1.21.101.17.1v1.1.0
1.21.101.17v1.1.0
Close

Cauldron Concrete Powder

GitHub Smithed Modrinth PMC Discord StewBeet

๐Ÿงช 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.

Promotional image

CauldronConcretePowder Image 1CauldronConcretePowder Image 2CauldronConcretePowder Image 3

๐Ÿ”ง 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
#
# @within #cauldron_concrete_powder:signals/dry_concrete
#

# Check for your custom powder and transform it
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"

# If success and count >=16, remove water
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

# Reset scores
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

โญ Star History

Star History Chart
Smithed

Copyright ยฉ 2024 Smithed
Not an official Minecraft product. Not approved by or associated with Mojang Studios