A small server-side mod for Forge and NeoForge that fills in Apotheosis loot category assignments for weapon and armor mods that don't set them or set them wrong. On Forge it sends categories over Apotheosis's IMC override API; on NeoForge 1.21.1 it adds them through an Apotheosis data map.
Apotheosis uses loot categories to decide which affixes and gem sockets an item can roll. A lot of modded weapons either have no category or get the wrong one, so affixes never appear on them. It sends the right categories at load time.
The universal rule splits melee weapons into sword or heavy_weapon by attack speed (1.0 or slower reads heavy, or 10.0+ damage bumps to heavy). Bows, crossbows, tridents, pickaxes, shovels, shields, and armor come from the vanilla class hierarchy. Stats are read live, so if mods change them at runtime, it still works. The read also falls back to stack-level attributes, so Epic Fight style weapons (Weapons of Miracles greataxes) are caught too.
A second pass runs after mod loading to catch weapons whose stats settle during deferred init.
Apotheosis hardcodes a couple of defaults that take precedence over the categories set here (minecraft:iron_sword as sword, minecraft:shulker_shell as none).
Routes items in these mods to the correct categories (sword, heavy weapon, bow, crossbow, trident, shield, none, and staffs or sword via Fallen Gems & Affixes when present): L'Ender's Cataclysm, Twilight Forest, Epic Fight (base, Nightfall, Resurrection), Weapons of Miracles, Tetra, Marium's Soulslike Weaponry, Meet Your Fight, Dungeons and Combat, Alex's Caves, Alex's Mobs, Aquamirae, Born in Chaos, Forbidden and Arcanus, Traveloptics, Celestisynth, The Undergarden.
1.19.2 covers a shorter list, with Epic Samurai included instead of some 1.20.1-only mods.
These mods extend the right vanilla classes or carry real attack stats: Simply Swords, Integrated Simply Swords, Spartan Weaponry, Spartan Shields, Epic Knights, Samurai Dynasty, Dread Steel, Iron's Spellbooks, Mowzie's Mobs, Bosses of Mass Destruction, Deeper and Darker, Knight Quest, Enigmatic Legacy, Malum, RPG Style More Weapons, Cataclysm's own melee weapons and shields, and anything else with vanilla class weapons or an attack damage attribute, plus armor.
Two toggles in apothic_category_compat-common.toml. Edit and restart to apply.
Config file at config/apothic_category_compat-common.toml. It moves over from the older apothic_compat-common.toml on first launch of v2.1.0 or later, so your settings carry over. Per-item and per-tag overrides:
[item_overrides]
"ruins:greatsword" = "heavy_weapon"
[tag_overrides]
"simplyswords:greathammers" = "heavy_weapon"
Valid categories: sword, heavy_weapon, trident, bow, crossbow, shield, helmet, chestplate, leggings, boots, pickaxe, shovel, none. Set an item to none to keep it from rolling any affixes. Categories registered by other mods (such as staffs from Fallen Gems & Affixes) are also accepted.
Overrides through a NeoForge data map at data/apotheosis/data_maps/item/loot_category_overrides.json.
Routes items in these mods to the correct categories (ranged weapons to bow, bidents to trident, and staffs and scythes to Apothic Compats' staff and scythe categories, the last two only when both Apothic Compats and Malum are loaded): L'Ender's Cataclysm, Alex's Caves, Alex's Mobs, Born in Chaos, The Undergarden, Twilight Forest, Lands of Icaria, Iron's Spellbooks, Ice and Fire, Ice and Fire Spellbooks, Forbidden and Arcanus, Mahoutsukai, Deeper Darker, the Aether, and Traveloptics.
Dual-purpose pickaxes (Cataclysm forges and Forbidden Arcanus blacksmith gavels) go to melee weapon through the #apothic_category_compat:weapon_pickaxes item tag. The weapon_pickaxes_as_melee config toggle (default on) gates this through a data map condition; set it false to leave them as breaker. Extend the tag from your own datapack to cover more.
Stops specific affixes from rolling on newly generated gear. List affix ids in the affix_blacklist array:
affix_blacklist = ["apotheosis:sword/attribute/vampiric", "apotheosis:heavy_weapon/attribute/berserking"]
Affix ids match the JSON file path, for example data/apotheosis/affixes/sword/attribute/vampiric.json is apotheosis:sword/attribute/vampiric. On 1.21.1 the path order is attribute/<category>/<name> instead, so the same affix is apotheosis:attribute/sword/vampiric there.
Blocks future rolls only; items already carrying a blacklisted affix keep it. Reapplies on server start, datapack reload, and /acc reload.
/apothiccategorycompat reload or /acc reload (op level 2) rereads the config and reapplies it on Forge. On 1.21.1 it rereads the affix blacklist; the data map follows a normal datapack /reload.
Install on both client and server for correct affix attribute display and gem socket bonuses on Forge. On 1.21.1 the data map and affix blacklist run server-side and Apotheosis syncs categories to clients.
MIT