Minecraft Blogs / Tutorial

Function Data Packs for Dummies #1 | What are they and why would I create them?

  • 3,396 views, 6 today
  • 101
  • 37
  • 1
Bertiecrafter avatar Bertiecrafter
Level 61 : High Grandmaster Cyborg
This series of tutorials will teach you how to create your very own data packs, assuming you know absolutely nothing about commands. Although data packs could just contain files that replace built-in assets like resource packs, these posts will focus on adding new features and mechanics to the game. In every part I assume you've read the previous parts.

If you know your way around computers and commands and you just want to create a data pack right this second, have a look at the Quickstart Guide covering parts 1 to 5.

What is a data pack?

We all know that resource packs modify the gameplay experience client-side. A player could load up a resource pack and get new textures, sounds, fonts and more regardless of what world or server the player joins. Data packs are server-side. They are extremely powerful and need to be consciously installed into a world folder. Datapacks can modify the gameplay experience with new advancements, loot tables, recipes, structures, predicates, functions and/or tags.

What are functions & tags?

A function is a file that contains a list of commands. It's that simple. Every command changes the game just a little bit. You might have heard of /gamemode, /kill, /tp, /time and /weather already. If you're wondering how a simple list of commands could possibly have any logic and be able to turn into something awesome, don't worry, we'll get to that.

Tags are also files and represent groups of other things. These groups can consist of functions, blocks, entities, fluids and items.

Why would I want to create a data pack?

Sometimes Minecraft can get a little boring. Data packs allow you to change the behaviour of the game and create a different experience for players. Also, what pulled me in is the ability to play like a god and control the world you fly around in (in creative). It's just fun to create new features or change the behaviour of existing features.

Data packs are comparable to plug-ins. Data packs don't require you to know a programming language, are interchangeable between singleplayer and multiplayer worlds without any rewriting and are officially supported by Mojang/Microsoft. However, plug-ins can do a lot more than what data packs can do.

Another alternative to data packs are command blocks. Although they are easier to start a new project in, they lag a lot more, because command blocks are block entities like chests. One extra chest-like block in a world won't cause any issues, but usually data packs contain a ton of commands. Furthermore, if you want to run multiple commands based on a single check, you would run the check for every command. With functions, you would simply run a function with all the commands after running the check once.

Challenge Yourself

After every tutorial, I'll include a section where you are challenged to apply what you've learned. I recommend you playing with what you've learned, it helps you getting familiar with new concepts and be able to find solutions to problems. You don't have to do exactly what's written below, you can always challenge yourself in a different way.

If you are completely unaware of what data packs are, try getting involved by googling them or looking at the Data Packs section of PMC. Learn how to install them into a (test) world and have a little bit of fun.

What's next?

Next up we're going to have a look at JSON. It's a definition language used in some data pack files and commands.
Subscribe if you want to get notified of new posts.

Function Data Packs for Dummies #1 | What are they and why would I create them?
Function Data Packs for Dummies #1 | What are they and why would I create them?

Create an account or sign in to comment.

11/10/2019 1:42 pmhistory
Level 61 : High Grandmaster Cyborg
Bertiecrafter avatar
Thanks everyone for the diamonds! My keyboard is wearing out from all the typing below and since this submission got a astonishing 100 diamonds, I'm going to stop writing names here.

Thank you Cyprezz, PMC, MasterKiloRen99, Rogue64, Luracasmus, daitallica, Wundercroft, axoNNNessj, SmileForDiscord, DinowCookie, MILLIMEDIA, mouse36, Pairjax, Circle_Studio, Gheppio, Spygron, TheBlindBat, JamRam, Chimerabot, flowfulfish, Sqperdoo, neanterrtall, AstroVulpix, mineros9, Flyte_less, DrgnRcr, spiker_Dark, Rune_Bloodstone, HairForFour, Cep, EJDEV08, AlexisEvelyn, YezzaReal, Rhaast77, Gamer07_2, Terminator468, wintermoon11, Mayonnaise2124, PommDeTerr, Nattehine, Axelovespuppies, PixieMax, jacobtho, MisterCreeper06, nitro_dynamite18, Guest5647, --_--, sanonasu, Herre Keiser, Juicybun, ShinyDragon96, ArkanSlimeyMC, theMissKing, Tntstargazer, TofuChild36, U8322, LeFish, jiviteshkadost, LuffHaki, DuvioTerracraft, Aysim, Yeetabix420, SimplyImpyr, Arrows_Of_Doom, XD_Gamez_YT, Dino5400, Ekra, Vellaris, Foxy_craft, kingmeha, moofurg, TomConn, Nehal1234, qwerty2888j, Golddragon905, TheEnchantedBook, treetrap, Idiot Dog, Nigelrex, MegaMushroomJack, ZinkBot, LittleRoi, jeanluccy, Halim006, A_Bread_Boii, Pyr0nat0r, RoBoo1194, lilBerna, Mega_Bea, EnderNinja456, AlexanderBrave2, EnderWizard, FriskTemmie, NotAJimBob, YadiosGG, Conductor123, RainbowFang, AlexRo21, steeeveeee, FedericoGamer15 and SUPERIONtheKnight for the diamonds!
Planet Minecraft


© 2010 - 2021