If a data pack or a mod lists a tag entry that does not exist, vanilla Minecraft throws away the whole tag. Forgiving Tags keeps every entry that does exist and skips only the ones that do not.
What it does
- Keeps every tag entry that exists and drops only the entries that do not.
- Writes one line to the server log for each affected tag, naming the tag and every skipped entry.
- If something was skipped, tells players once in chat: when they join, and after a data reload.
- Changes nothing else. It adds no blocks, items or commands.
A tested case (Minecraft 26.3)
In our tests on Minecraft 26.3, a data pack that adds one entry that does not exist to the vanilla tag minecraft:wool stops a vanilla server from starting, because other game data depends on that tag. The server log says: Failed to load datapacks, can't proceed with server load. A NeoForge server without this mod did the same.
With Forgiving Tags the same data pack loads. The server starts, white wool stays in the tag, and the log says:
[Forgiving Tags] Tag minecraft:wool skipped entries that do not exist: lmftprobe:no_such_wool (from file/lmftwool); its other entries were kept
(lmftprobe:no_such_wool is the name of the missing entry in our test pack.) We also tested an item tag and a block tag from a test data pack: the missing entry was skipped and the other entries were kept.
Settings
The file config/forgivingtags.json is made the first time the game starts with the mod.
| Setting | Default | What it does |
|---|---|---|
showChatWarning |
true |
false turns the chat warning off. The log lines stay. |
onlyOperatorsSeeWarning |
false |
true shows the chat warning only to operators (players who may use moderator commands). |
To turn the chat warning off without a file, start the game or the server with the Java option -Dforgivingtags.disable_chat_warning=true.
What changed from LMFT
- Runs on Minecraft 26.3 (the original stops at 1.21.11), on Fabric and on NeoForge.
- The hooks into the game are rewritten for 26.3's tag loader.
- The chat warning contains no web address and no click action. It says that some tag entries were skipped and that the server log names every one.
- The "only operators" setting is fixed. The original hid the warning from operators and showed it to everyone else. With
onlyOperatorsSeeWarningset totrue, we saw an operator get the warning and a player who is not an operator not get it. - New names for the settings file (
config/forgivingtags.json) and the Java switch (-Dforgivingtags.disable_chat_warning=true). - A different name, its own code layout and its own wording. The idea and the behaviour are otherwise the same.
Install
- Minecraft 26.3 and Java 25.
- Fabric: Fabric Loader 0.19.3 or newer. Fabric API is not needed.
- NeoForge: 26.3.0.57-beta or newer, within 26.3.
- Put the file for your loader in the
modsfolder of your server. For singleplayer, put it in themodsfolder of your own game. - Players who join do not need the mod. A player without it sees the same chat warning in plain English.
Versions tested
- Dedicated servers on Minecraft 26.3: Fabric Loader 0.19.3 and 0.19.5 (alone, and 0.19.5 with Fabric API 0.162.0+26.3), NeoForge 26.3.0.57-beta and 26.3.0.77.
- Missing entries in an item tag and a block tag were skipped and the other entries kept, with every loader version listed above. The
minecraft:woolcase above was tested on Fabric Loader 0.19.5, NeoForge 26.3.0.57-beta and NeoForge 26.3.0.77. A data pack with no missing entry gave no skipped-entry log line. - A data reload (
/reload) was tested on Fabric Loader 0.19.5 and NeoForge 26.3.0.57-beta. - A client with the mod started to the title screen on Fabric Loader 0.19.5 and NeoForge 26.3.0.57-beta.
- Players joined a server with the mod on Fabric Loader 0.19.5 and NeoForge 26.3.0.57-beta, with and without the mod in their own game. The warning came once on join and once after
/reload. WithonlyOperatorsSeeWarningon, only an operator saw it. WithshowChatWarningfalse, nobody saw it. A data pack with no missing entry gave no warning. - A server started with the Java option
-Dforgivingtags.disable_chat_warning=true(Fabric Loader 0.19.5 and NeoForge 26.3.0.57-beta): nobody saw the warning, an operator included, and the log lines stayed. - Not tested: singleplayer worlds, several players online at once, other mods next to it (apart from Fabric API on a Fabric server).
Modpacks
Our code is CC0. The file also contains code adapted from LMFT under CC BY 4.0, with its credit inside the file, so packs may include the file unchanged.
Credit
This mod contains code adapted from Load My F***ing Tags (LMFT) by Blodhgarm. Source code of the original: https://github.com/Dragon-Seeker/LoadMyFingTags
The original's licence, as published: Creative Commons Attribution 4.0 International (CC BY 4.0) on CurseForge, and CC0-1.0 on GitHub and on Modrinth. This port follows CC BY 4.0. The licence text is here: https://creativecommons.org/licenses/by/4.0/
The original idea and the shape of its fix are Blodhgarm's: when a tag lists an entry that does not exist, keep the entries that do exist, log what was skipped, and tell the players once in chat. This port is of version 1.1.1 for Minecraft 1.21.11.
This port was modified: it was ported to Minecraft 26.3 for Fabric and NeoForge, the hooks into the game were rewritten, the operator-only setting was fixed, and the names and wording are new. The original code comes with no warranty (section 5 of CC BY 4.0). KingdomForge's own code is CC0-1.0.
About this page
The code of this port and this page were written with AI tools, then tested in the game by us. AI tools were used by us for this port only; the original mod's author had no part in that. The pictures are real game screenshots.
Not affiliated with Mojang or Microsoft. An independent port, not made or endorsed by the author of Load My F***ing Tags.
Support
Enjoying it? Support KingdomForge on Ko-fi: https://ko-fi.com/kingdomforge

