- Add Mod Menu support
- Sync server config to clients on join, reload, and config change
- ShinyNames and capmod levels update automatically without reconnecting
- Update
/et reloadto also re-sync connected clients - Add
/et config list [category] [page]to browse config values by category, paginated - Add
/et config reset <key>and/et config reset allto restore bundled defaults - Add
/et diagnoseto explain settings that are not working and show config details - Add value tab-completion to
/et config - Validate
/et configvalues by type and reject invalid input with a hint instead of saving it - Add anvil repair: sneak and right-click a damaged anvil with iron to reverse one degradation step at a configurable ingot cost; iron blocks are accepted when the cost is a multiple of 9 (
anvil_repair,anvil_repair_ingot_cost) - Add grindstone disenchanting: extract enchantments into books, with book splitting support (
grindstone_disenchant) - Add custom XP scaling to replace vanilla's tiered XP formula with a configurable linear curve (
xp_scaling) - Add configurable villager trade limits for each enchantment (
villager_trade_limits) - Add enchantment disabling to keep specific enchantments from appearing anywhere (
disable_enchantments_enabled) - Add multiplicative Protection damage reduction (
more_protection) - Add multiplicative Fire Protection duration reduction (
more_fire_protection) - Add multiplicative Blast Protection knockback reduction (
more_blast_protection) - Add per-damage-type Protection bypass toggle (
protection_bypass_enabled) - Add configurable free-arrow rate for MoreInfinity (
more_infinity_pct) - Add Looting XP boost for mob kills with a configurable multiplier (
more_looting) - Add Mending/Unbreaking incompatibility toggle (
no_mending_unbreaking) - Allow Looting on bows and crossbows (
bow_looting) - Generate Roman numerals for enchantment levels above X (
roman_numerals) - Make enhanced enchantment formula constants configurable (protection bases, mending step/floor, multishot/flame per-level, binding step)
- Fix More Mending computing worst-case cost when Better Mending is also enabled
- Fix non-Flame fire arrows getting a shortened burn time
- Fix flame level being read from the wrong source in MoreFlame
- Fix renaming costing more than one level with
cheap_namesandprior_work_freecombined - Fix race conditions in the MoreBinding, MoreMultishot, and MoreFlame mixins
- Fix dead channeling entry in capmod config
- Regenerate blank configs from defaults, retain the active configuration when an existing file cannot be read
- Clamp out-of-range config values (protection bases, looting multiplier, multishot per-level, xp scaling overflow, mending floor)
- Preserve MoreFlame levels on fired projectiles across weapon switches and save/load
- Keep CheapNames from changing costs when an anvil operation has no valid output
- Reject malformed booleans and non-finite decimal config values
- Ignore malformed Protection bypass IDs instead of crashing damage handling
- Preserve pending MoreBinding armor across death-screen disconnects
- Include exact random-threshold boundary rolls for MoreBinding and MoreInfinity
- Remove prior-work penalties before the anvil's too-expensive output check
- Apply disabled enchantments to explicit and registry-backed loot choices, with namespace-aware configured ID matching
- Read villager enchanted-book offers from stored enchantments and combine per-enchantment
-1values with global or vanilla fallback limits - Allow all configured trident weapon enchantments through the enchanting table's primary-item check
- Strip stored enchantments from returned plain books and consume only one book per grindstone extraction
- Let ownerless Loyalty tridents resume normal void cleanup and make More Mending floor boundary costs reliable
- Preserve newer config schema versions, roll back failed migrations, and avoid exposing unpersisted config changes
- Fix config schema descriptions, long list values, compact-screen pagination, namespaced suggestions, and comma-space completion
- Preserve case-sensitive config values and replace whitespace-spaced assignments without duplicates
- Sync an explicitly disabled server state to joining clients
- Preserve local client configuration when disconnect reload fails
- Preserve unsaved config values across resize and save failures, and prevent compact-screen status overlap
- Reject overflowing MoreMultishot projectile counts before allocation
- Apply the global villager limit when enchanted-book entries lack registry keys
- Return canonical plain books without stale repair costs or hidden empty enchantment components
- Preserve bundled value casing during migration, update every duplicate assignment, and replace config files atomically
- Normalize loaded config-screen values and preserve the search caret across result refreshes
- Harden config migration, payload snapshots, command aliases, test cleanup, and release-note/sync robustness
- Harden config/API validation and synchronization, make anvil and config sync safer, improve deterministic isolated gametests and CI/wrapper/smoke checks, and correct documentation.
- Final hardening of config migration, payload validation, command alias copying, and test resource cleanup
- Isolate GameTest fixtures, namespace villager trade matching, and harden config and payload behavior
- Consolidate the capmod system into a single unified mixin
- Cache feature flags and capmod levels (performance improvement)
- Add a config migration framework and internal
config_versionkey for future upgrades - Make config storage and persistence atomic across concurrent gameplay and sync writes
- Give each config sync protocol version a distinct payload ID and exclude client-only cosmetic prefs (
roman_numerals,shiny_name) from sync - Declare
fabric-apiandminecraftdependencies in fabric.mod.json - Add a GitHub Actions CI workflow that builds the mod and runs the gametests
- Add a Quilt Loader server smoke test to CI
- Upgrade to Java 21, Gradle 9, and Fabric Loom 1.15
- Expand the test suite to 439 gametests
- Add support for modifying config at runtime when using commands without needing to restart
- Fixes several bugs
- Fix crash on 1.20.1
- Fix config saving in wrong directory
- Fix
/et reloadcommand not saving changes - Clarify which changes require server/client restarts
- Clean up command outputs
- Fix enchanting table sometimes adding duplicate enchants
- Add support for MC 1.20.4
- Build against new fabric loader
- Remove bundled MixinExtras
- Reduces jar size by 48%
- Clarify which tweaks require client-side install
- Disable all tweaks in config by default
- Fix some settings not saving when using in-game commands
- Bump MixinExtras dependency version
- Fixes translation strings
- Adds more enchantment level roman numerals
- Adds support for MC 1.20+
- Fixes bad default config value
anvil_damage_chance0.6 -> 0.06
- Compresses mod icon to reduce jar size
- Updates mod description
- Updated dependency
MixinExtras- Fixes issues with other mods that use
MixinExtras
- Fixes issues with other mods that use
- Adds
AxesAreWeaponsmod compatibility- Auto disables similar tweak giving priority to
AxesAreWeapons
- Auto disables similar tweak giving priority to
- Adds Quilt loader compatibility
- Adds BetterMending
better_mending=trueto enable- Check readme/description for more info
- Adds MoreInfinity
more_infinity=trueto enable (overrides bow_infinity_fix)- Check readme/description for more info
- Thanks to James103 for the suggestion!
- Condensed multiple commands into one
/et config <key> [value]supersedeskeys,set, andgetcmds- Gets the current value if not supplied one, sets the value if it is
- Updates logo/icon
- Fixes tridents not accepting some enchantments
- Improves compatibility with other mods
- Adds minor performance improvements
- Fixed non-infinity bow playing pulling animation without arrows
- Adds curse enchantments now also affected by Shiny Names
- Adds option to allow Multishot and Piercing to coexist
multishot_piercing=trueto enable it
- Adds level scaling for Curse of Binding
more_binding=trueto enable it- See readme/description for what it does
- Fix broken 'click to run' command popups
- Improve compatibility system
- Set command now persists changes across restarts
- Remove default custom enchantment levels
- Fixed bug when shooting item frames with a flame arrow
- Added more commands
/et helpfor the full command list- Get and set the values for config keys in game
- Set command does not (yet) persist changes across restarts
- More optimizations, cleanup, and improvements under the hood
Note: If previously installed, delete the old config file (or add
capmod_enabled=trueto re-enable custom enchantment levels).
- Fix Fabrication incompatibility
- Config system overhaul to only apply enabled mixins
- Large codebase refactor
- More optimization
- Remove bloat from jar
- LuckEnchantments now respect config
- Re-enable Shiny Max Enchantment Names
- Clean up config keys
- Adds support for MC 1.19.4
- Initial Release