- Improved cost-exceptions system to use field-based item matching instead of full ItemStack deserialization, allowing partial matching on material, name, lore, custom model data, and enchantments.
- Clarified config comments across menus, messages, and settings files, including documenting available placeholders and fixing misleading headers.
Note: Cost exception matching now checks only the fields you specify rather than the full item. If you relied on implicit exact matching, verify your exceptions still behave as expected.