header
premium banner

Description

🪄Introduction

This mod is mainly made for modpacks and is used to inject new loots into existing loot tables.

⚙️Configuration

By default, this mod will not inject any loot tables.

config/loot-patcher/*.json

[
  {
    "target_tables": [...]
    "extra_tables": [...]
  }
]

Since version 1.2.0, this mod will read all JSON files in the config/loot-patcher/ directory as configs.

config/loot-patcher.json

{
  "patches": [
    {
      "target_tables": [...]
      "extra_tables": [...]
    }
  ]
}

If Cloth Config is installed, you can configure this mod via the config/loot-patcher.json file.

This mod is compatible with ModMenu, which you can install in order to configure the mod in-game via the configuration screen.

Reload

After modifying the configs you will need to reload the datapack (in-game by typing the /reload command) to apply the changes.

📜Example Usage

It is obvious that there should be no ellipses or comments in the JSON format file, and this case is only for the sake of explanation.

Configuration file:

loot-patcher.json

{
  "patches": [
    {
      "target_tables": [
        "minecraft:chests/ancient_city",
        "^(?!.*xxx).*entities.*" //Support regular expressions.
      ],
      "extra_tables": [
        "xxx:entities/common_drop",
        "xxx:entities/rare_drop"
      ]
    },
    {
      "target_tables": ...
      "extra_tables": ...
    },
    ...
  ]
}

Consequence

The above configuration indicates that two loot pools will be added to the loot table with ID minecraft:chests/ancient_city and to all loot tables with IDs that contain entities but not xxx, with the only loot entry in the pools being those of the loot table type (xxx:entities/ common_drop and xxx:entities/rare_drop).

🚨Warning

You should try to avoid infinite loops in the loot table during the configuration process.

Even if you don't, there won't be any serious consequences…

{
  "target_tables": [".*"],
  "extra_tables": ["minecraft:entities/zombie"]
}

In this case, the target loot tables include the extra tables. If you kill a zombie, the zombie's loot table will attempt to drop itself, which causes infinite recursion.

✉️Feedback

If there are any bugs or suggestions, please provide feedback to the issue page.