Getting Started - ThreeTAG/Palladium GitHub Wiki

Introduction

Addon Packs are similar to Resource- & Data Packs in terms of folder structure. The main difference is that addon packs (which are located in the addonpacks folder within your minecraft directory) can also load Resource- & Data Packs! Therefore, you need to understand what the difference between those 3 pack types are, how they work, and how they are re-/loaded!

Pack Types Reload Method Content Folder Structure
Resource Packs Pressing F3+T Textures, Models, Language Files, etc.
Just data that only the client needs (for rendering and such)
assets/<namespace>/...
Data Packs /reload Command Crafting Recipes, Loot Tables, Advancements, Powers, etc.
Data that can be server/world-specific
data/<namespace>/...
Addon Packs None. Loads once when the game starts Custom items, creative mode tabs, suit sets, etc.
Data that need to be registered once and can not be changed afterwards
addon/<namespace>/...

Using addon packs you can create global data & resource packs that will apply to all worlds and can not be disabled. This wiki will not cover how to create vanilla content (like crafting recipes) though, there are lots of tutorials and tools already that can help you.

Pack Setup

Create a folder (or zip file) in your addonpacks folder. The first thing you will need to add is a pack.mcmeta file inside it, structured like this:

{
  "pack": {
    "id": "<unique id of your pack>",
    "description": "<small description>",
    "pack_format": 8,
    "version": "1.0.0.0"
  }
}

id must be a unique identifier for your pack. Other packs will be able to use this to make dependencies on your pack (More on that down below). Make sure the id is full lower-case and does not contain spaces (Example: "my_cool_pack").

description is as the name says, a small description of your addon pack.

pack_format is for Minecraft to know if the pack suits the current resource pack format, more on that here.

version is also very important when it comes to other packs depending on your packs. Witj each release you should increase this number. I would suggest Forge's convention of how to structure the version number.

Dependencies (optional)

Sometimes you want to use features of extra mods or even addon packs within your own one. To make sure the end-user has those installed and does not run into any issues, you can add dependencies into your pack.mcmeta.

{
  "pack": {
    "id": "<unique id of your pack>",
    "description": "<small description>",
    "pack_format": 8,
    "version": "1.0.0.0"
  },
  "dependencies": {
    "common": {
      "minecraft": ">=1.18",
      "palladium": ">=4.0.0.0",
      "pack:another_awesome_pack": ">=1.0.2"
    },
    "forge": {
      "curios": "*"
    },
    "fabric": {
      "trinkets": ">=3.3.0"
    }
  }
}

Since Palladium works on Forge & Fabric, you can make dependencies on both sides or either one of them, just use common, forge or fabric. Inside those section you declare the mod or pack id (pack IDs need to be prefixed with pack:) and a version range. If you want to allow ANY version of a mod/pack just use "*".

⚠️ **GitHub.com Fallback** ⚠️