Loot Patcher

1
Created On
N/A
Updated On
N/A
Total Views
20
Total Downloads
0
Maintainer
Karashok_Leo

🪄Introduction

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

⚙️Configuration

The initial configuration file looks like:

{
  "patches": []
}

This mod is configured via the config/loot-patcher.json file. By default, this mod will not inject any loot tables.

This mod is compatible with ModMenu, which you can install in order to configure the mod in-game via the configuration screen. After modifying the config 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...~~

{
  "patches": [
    {
      "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.