Minecraft Blogs / Tutorial

How To Make GOOD datapacks!

  • 2,482 views, 0 today
  • 8
  • 1
  • 1
Amicdict's Avatar Amicdict
Level 57 : Grandmaster Engineer
So, I've been creating/messing with datapacks for a few months now, and I have enough experience with them to tell you how to make a good datapack. Before we get into the tutorial, if you are new to datapacks, go to This Gamepedia Article. I wanted to make this because I've seen datapacks that could do better. To be fair, they're very new in 1.13, but these will still be problems for datapack creators regardless. Now, lets get into it!

When Developing Datapacks
1. If a feature has more drawbacks than positives, don't add it!
2. Organize your datapack so its easy to improve.
3. Release a testing version to the public to receive feedback from testers.

Archnemesis of a datapack creator. LAG
Lag is your archenemy. It may be weak in small datapacks, but in large ones they really impact the gamer's performance, making minecraft outright unplayable. So I propose a better idea of making big datapacks.

Instead of having all features in one datapack, have a function file on the tick tag that runs a function file in another datafile that runs all the function files in that datafile. A player can insert the datafile and reload. This way, the player can choose what sections of the whole datapack they want and reduce its size if its too laggy. I've tested /function, and found out it will always run in tick tags even if it doesn't detect the function file, like Jragon014's style of putting eveything needed to make something work in one folder. (Btw Jragon, when are you gonna upload?)

My Atlantic Changes Datapack is HEAVILY effected by lag, because it added too many features in one datapack, but I didn't try it in survival at this time when testing. So please test your datapack in every way possible. Even if it's repetitive, it'll save you a few updates.

Add features with Minecraft's STYLISTIC Sense
You can add any feature you want to your datapack even if its awful in all its aspects. However, a GOOD datapack would add features that make sense, balanced, and fun. Making gold tools better is just OP'ing them and even if they're unbreakable, they'd still be TOO OP.

(OPTIONAL) Make a help guide.
Hope the stuff you're taught in english helps a ton! You don't have to make a big guide if you don't want to. However, if you do, it will majorly decrease your comments with "How does this work?", and "It's not working!" questions.

ONLY use the minecraft namespace to REPLACE things in the game!
There are no real consequences if you break this rule, but try not to anyway.

Datapack Recipes!
Dispensers Over Retextures!

I've seen Tryashtar's and Logdotzip's datapacks use a resource pack to incorporate an illusion of an actual custom crafting recipe. It would work if Mojang *cough* ADDED NBT CRAFTING *cough*. But they didn't, so just use dispenser recipes. It'll make NBT Custom Crafting Recipes MUCH easier and convenient than a harsh retexture of an item/block.

Make Fair and Logical Recipes

Don't make recipes that are too hard or too OP, instead, make recipes that are REASONABLE and BALANCED.

Custom Advancements
I haven't seen any bad advancements yet. But I wanted to add this to make sure people make good advancements.

Advancements Should Be PG-13.

This is a family friendly game. Kids are gonna be messing with datapacks eventually.

Fair and Themed Goals

If you're making an advancement, be sure its not impossible or very easy, and it should be themed around your datapack's theme.

Loot Tables!

VARIED Loot Chances.

The loot chances should be based on the loot's power. For example, if you added a OP loot drop to a mob, it should be very rare. Don't forget to add the killed_by_player condition to prevent farming.

Structures stored in the structure files should be used for something, otherwise, DON'T USE IT AT ALL! I know some of you aren't amazing builders, but try your best to make a good structure.

If you're naturally spawning them, be sure the spawn chance isn't too high or low. Make sure a player's base can't get overrided by the structures.

Datapack Discoveries
1. You're able to use strict json in the pack.mcmeta file. For example:

{ "pack": { "pack_format": 1, "description": {       "text": "Test.",       "color": "red" } }}

Hovering red text that says test over a datapack list.

Note: If a json tag displays text, then it probably can also use strict json.

If you see and find a terrible Datapack someone made, instead of flaming them, send them the link to this post so that they can make future datapacks better. Thats all to making a good datapack. Hope to see some better datapacks later! Bye :D

Create an account or sign in to comment.

09/10/2018 8:17 am
Level 57 : Grandmaster Engineer
ShelLuser's Avatar
I couldn't agree more with your comment regarding the "abuse" of combining texture packs and resource packs. It's not really abusing, and still a fun trick, but still cheating nonetheless. The reason I don't like it is because I've seen players getting confused over it and as a result getting a completely wrong idea about what a datapack actually is and does.

Nice article!