Robot's Datapack Tools

⭐ — (6 endorsements) 📥 68 downloads 📌 v1.1.0 📅 2/9/2025
🟡 Updated this year

By GoldenRobotII · datapack

⬇ Download Mod Source: Modrinth ↗ 📅 Updated: 1/10/2026 📅 Created: 2/9/2025

🔍 Analysis

  • 🏆 #2060 of 2169 datapack mods in this game by downloads

📋 About This Mod

<center> !(https://cdn.modrinth.com/data/cached_images/e5dae51c231500d645895f17193959be6ab0a77a.png) </center> <center> (https://cdn.modrinth.com/data/cached_images/f0cf0180cbd5c4367ffae3af2f032bb768cd1a56.png)](https://discord.com/invite/eZEHeNbzUE) (https://cdn.modrinth.com/data/cached_images/ea2b7719efdde91eec7c454f534788ffc096c9e5.png)](https://www.youtube.com/@GoldenRobotII) </center> ## About Robot's Datapack Tools is a library that can be intergrated into your own project. It adds multiple tools that make datapack creation easier, such as adding blocks with only one command. This is almost entirely done using (https://minecraft.wiki/w/Function_(Java_Edition)#Macros), and the datapack is made very efficient by using as little ticking functions as possible. ## Custom Features <details> <summary>Blocks</summary> The custom blocks use a (https://minecraft.wiki/w/Marker) as main entity and six (https://minecraft.wiki/w/Display#Item_Displays) to render the block with correct lighting on each side. These item display don't tick, and therefore this is still very lag friendly. If you want to run functions on a custom block, use the tag ```rdt.block.<id>.marker``` to access the main marker of the block. If you don't understand how to add custom blocks, check out the example at the bottom or join (https://discord.com/invite/eZEHeNbzU). ## **Commands** ## **```function block:add {...}```** This command is used to register new blocks. Run this function within the `load` function of your datapack. The following tags are required: |tag|type|description| |---|----|-----------| |`id`|string|unique id of the block. (Allowed characters include: `-`, `+`, `.`, `_`, `A`-`Z`, `a`-`z`, and `0`-`9`)| |`block`|string|Any minecraft block. Make sure this block drops itself when broken. This block will define hardness, particles and breaking sound.| |`model`|string|(https://minecraft.wiki/w/Items_model_definition) from the assets/<namespace>/items folder| |`type`|string|how to orientate the block when placed: <br> 1. `default`: no orientation <br> 2. `facing`: face towards player <br> 3. `facing_horizontal`: face towards player, but not up or down <br> 4. `column`: face depending on the side of the block it's placed on| |`loot_table`|string|(https://minecraft.wiki/w/Loot_table) that drops when the block is broken| |`config`|compound|list of config tags. Leave empty if no config is needed| <br> ### **```function block:add {config:{...}}```** Within the `config` compound you can specify the following settings. They are not required. |tag|description|sub-tags|type|description| |---|---|---|---|---| |`interactable`|summons an (https://minecraft.wiki/w/Interaction) entity|1. `attack` <br> 2. `interact` <br> 3. `break_on_attack` <br> 4. `response`|1.string <br> 2.string <br> 3.empty <br> 4.empty|1. function to run when left-clicked <br> 2. function to run when right-clicked <br> 3. add this tag if the block should break when left-clicked <br> 4. the interaction will have the response:1b tag| |`function`|functions to run|1. `place` <br> 2. `break` <br> 3. `tick`|1.string <br> 2.string <br> 3.string| 1. function that runs when placed <br> 2. function that runs when broken <br> 3. function that runs every tick| |`place_sound`|sound to play when the block is placed. If this tag is not included, it will play `block.stone.place`|1. `sound` <br> 2. `pitch`|1.string <br> 2.float|1. sound id to play <br> 2. pitch, ranging from 0.0 to 2.0| |`item`|If the loot table specified in the `loot_table` tag **doesn't** drop the custom item by itself, create an additional loot table that drops the custom item and put it here.|-|string|-| ## **```function block:list```** Lists all the custom blocks that have been added. ## **```function block:remove {id:...}```** Used to remove a custom block. `id` should be set to the unique id used when adding the block. **This command will not remove the custom blocks from your world, that has to be done manually!** ## **```function block:edit/... {...}```** Using this function you can change specific features of **a placed block**. This **doesn't** edit all existing custom blocks of that type. Make sure when running this function it runs on the **main entity**. The command can be one of the following: |`function block:edit/...`|description|tags|type|description| |---|---|---|---|---| |`model`|changes the model of this specific block|`model`|string|(https://minecraft.wiki/w/Items_model_definition) from the assets/<namespace>/items folder| |`attack`|changes the attack function that runs when left-clicking the block|`function`|string|the function to run| |`interact`|changes the interact function that runs when right-clicking the block|`function`|string|the function to ru

!(https://cdn.modrinth.com/data/cached_images/e5dae51c231500d645895f17193959be6ab0a77a.png)

[!(https://cdn.modrinth.com/data/cached_images/f0cf0180cbd5c4367ffae3af2f032bb768cd1a56.png)](https://discord.com/invite/eZEHeNbzUE) [!(https://cdn.modrinth.com/data/cached_images/ea2b7719efdde91eec7c454f534788ffc096c9e5.png)](https://www.youtube.com/@GoldenRobotII)

## About Robot's Datapack Tools is a library that can be intergrated into your own project. It adds multiple tools that make datapack creation easier, such as adding blocks with only one command. This is almost entirely done using (https://minecraft.wiki/w/Function_(Java_Edition)#Macros), and the datapack is made very efficient by using as little ticking functions as possible.

## Custom Features

Blocks

The custom blocks use a (https://minecraft.wiki/w/Marker) as main entity and six (https://minecraft.wiki/w/Display#Item_Displays) to render the block with correct lighting on each side. These item display don't tick, and therefore this is still very lag friendly. If you want to run functions on a custom block, use the tag ```rdt.block..marker``` to access the main marker of the block. If you don't understand how to add custom blocks, check out the example at the bottom or join (https://discord.com/invite/eZEHeNbzU).

## Commands ## ```function block:add {...}```

This command is used to register new blocks. Run this function within the `load` function of your datapack. The following tags are required: |tag|type|description| |---|----|-----------| |`id`|string|unique id of the block. (Allowed characters include: `-`, `+`, `.`, `_`, `A`-`Z`, `a`-`z`, and `0`-`9`)| |`block`|string|Any minecraft block. Make sure this block drops itself when broken. This block will define hardness, particles and breaking sound.| |`model`|string|(https://minecraft.wiki/w/Items_model_definition) from the assets//items folder| |`type`|string|how to orientate the block when placed: 1. `default`: no orientation 2. `facing`: face towards player 3. `facing_horizontal`: face towards player, but not up or down 4. `column`: face depending on the side of the block it's placed on| |`loot_table`|string|(https://minecraft.wiki/w/Loot_table) that drops when the block is broken| |`config`|compound|list of config tags. Leave empty if no config is needed| ### ```function block:add {config:{...}}```

Within the `config` compound you can specify the following settings. They are not required. |tag|description|sub-tags|type|description| |---|---|---|---|---| |`interactable`|summons an (https://minecraft.wiki/w/Interaction) entity|1. `attack` 2. `interact` 3. `break_on_attack` 4. `response`|1.string 2.string 3.empty 4.empty|1. function to run when left-clicked 2. function to run when right-clicked 3. add this tag if the block should break when left-clicked 4. the interaction will have the response:1b tag| |`function`|functions to run|1. `place` 2. `break` 3. `tick`|1.string 2.string 3.string| 1. function that runs when placed 2. function that runs when broken 3. function that runs every tick| |`place_sound`|sound to play when the block is placed. If this tag is not included, it will play `block.stone.place`|1. `sound` 2. `pitch`|1.string 2.float|1. sound id to play 2. pitch, ranging from 0. 0 to 2. 0| |`item`|If the loot table specified in the `loot_table` tag doesn't drop the custom item by itself, create an additional loot table that drops the custom item and put it here.|-|string|-|

## ```function block:list``` Lists all the custom blocks that have been added. ## ```function block:remove {id:...}``` Used to remove a custom block. `id` should be set to the unique id used when adding the block. This command will not remove the custom blocks from your world, that has to be done manually!

## ```function block:edit/... {...}``` Using this function you can change specific features of a placed block. This doesn't edit all existing custom blocks of that type. Make sure when running this function it runs on the main entity. The command can be one of the following: |`function block:edit/...`|description|tags|type|description| |---|---|---|---|---| |`model`|changes the model of this specific block|`model`|string|(https://minecraft.wiki/w/Items_model_definition) from the assets//items folder| |`attack`|changes the attack function that runs when left-clicking the block|`function`|string|the function to run| |`interact`|changes the interact function that runs when right-clicking the block|`function`|string|the function to ru

🤖 AI-enhanced — based on mod data

📊 Mod Details

Game
Minecraft Data Packs
Author
GoldenRobotII
Version
1.1.0
Downloads
68
Endorsements
6
Category
datapack
Created
2/9/2025
Updated
1/10/2026
Game Versions
1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
Tags
library

🔧 How to Install Minecraft Data Packs Mods

Download from Modrinth. Use Prism Launcher or drop into your mods folder.

📖 Full step-by-step install guide for Minecraft Data Packs →

Visit the official mod page for specific installation instructions for this mod.

🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Data Packs commands, item IDs, and more.

❓ Frequently Asked Questions

Which Minecraft Data Packs versions does Robot's Datapack Tools support?

The author lists 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10. Other versions may work but are untested by the author.

What is the latest version of Robot's Datapack Tools?

Version 1.1.0, published 2026-01-10 with 68 downloads recorded at the source.

Keep browsing — more Minecraft Data Packs mods await

📋 All Minecraft Data Packs Mods 🏆 Top 25 📂 More datapack 👤 More by GoldenRobotII 🔎 Similar Mods 🌐 Best datapack (All Games) 🔀 Check Compatibility ⚖️ Compare Mods 🆕 New Mods