promotional bannermobile promotional banner

Enchiridion Enchanting

An enchantment rework that categorises enchantments to be mutually exclusive.
Back to Files

v0.3.0-pre.1 (Minecraft 26.2.x)

File nameenchiridion-0.3.0-pre.1+26.2.x.jar
Uploader
sylv256sylv256
Uploaded
Aug 13, 2026
Downloads
204
Size
2.4 MB
Mod Loaders
FabricNeoForge
File ID
8636957
Type
B
Beta
Supported game versions
  • 26.2

Curse Maven Snippet

Fabric

modImplementation "curse.maven:enchiridion-enchanting-1635156:8636957"

NeoForge

implementation "curse.maven:enchiridion-enchanting-1635156:8636957"

Learn more about Curse Maven

What's new

Note: this is a pre-release, and as such, any changes here may be subject to change in future releases.

Config/Resources/Data

  • Overhauled the Enchiridion config to simplify the contents of it.
  • Added the ability to change the keybinds and visibility for viewing categories within an item's tooltip.
    • This includes the ability to specify multiple keybinds and keybinds on a toggle for activating the category view.
    • The category view will instead use Item Descriptions' settings if it is installed.
  • Merged Enchiridion Enchanted Books and Enchiridion Descriptions resource packs into the default resources of the JAR.

Enchantments

  • Sweeping Edge's "Enchanted Sweep" particles no longer dim.
  • Snow Strike's freeze duration has been decreased to 3 seconds per level.
  • Dredge's chance to fish up an extra item has been lowered to a total of 20% + 10% per level.
  • Dredge may now fish up as many items as levels it has. The chance is rerolled each attempt.
  • Tailwind has been reworked from the ground up as Lunge replaces its previous form.
  • The Uncategorised Enchantment Category has been renamed to Uncategorized in both en_us and internally. This is also reflected within its ID.
  • Config colored Enchanted Books no longer have blue tinting in shading.
  • Impaling's extra damage towards wet entities has been decreased to a base of 1.5 with 1 additional damage per level.
  • Reworked Whirlpool's size to make the player visible.
  • Whirlpool entities are now opaque to avoid an armor rendering bug involving Minecraft's lack of translucency sorting.
  • Reworked Whirlpool's damage amount to explicitly use the Trident item.

Applicability

  • Swords are now allowed to be enchanted with Snow Strike. This enchantment may be found within the Enchanting Table for Swords and Spears.
  • Axes are now allowed to be enchanted with Looting, Fire Aspect and Knockback. These enchantments are excluded from the Enchanting Table for Axes.
  • Tridents are now allowed to be enchanted with Fire Aspect, Snow Strike, Bane of Arthropods and Smite. These enchantments are excluded from the Enchanting Table for Tridents.
  • Crossbows are now allowed to be enchanted with Flame, Punch and Power. These enchantments may be found within the Enchanting Table for Crossbows.
    • These enchantments do not affect Fireworks.
  • The above changes are disabled whilst using the 'Enchiridion Vanilla Balancing' datapack.
  • Channeling is now incompatible with Fire Aspect and Snow Strike.

Enchanting Table

  • Added rerolling to the Enchanting Table. You may click the Book in the GUI whilst the enchanting screen is on the level up function to access this function.
  • Tweaked multiple enchantments' enchanting cost.
  • The power of the initial enchantment when enchanting through the Enchanting Table has been decreased.
  • The decrease in power after each added enchantment has been lessened in impact.
  • Enchanting Books within the Enchanting Table no longer removes an enchantment if applicable whilst enchanting table logic is configured to Enchiridion logic.
  • The Enchanting Table no longer adds the slot number to the seed whilst enchanting.
  • The Enchanting Table will no longer show enchant results without any valid enchantments.
  • Replaced the concept of bookshelf count from Enchanting Table level ups with enchanting power, which are now determined by blocks surrounding the table.
    • Power providers have an increased radius when drawing power to the enchanting table.
    • Bookshelf power is now capped at 10 bookshelves instead of 15.
    • Increased the Enchanting Table
  • Enchanting Table level up obfuscated text hints are now determined via a combination of the enchantment and the level, rather than the level-up seed.
    • This basically makes the hints consistent.
  • The chance to get an uncategorized enchantment instead of a categorized enchantment has been increased from 1/8 to 1/6.
    • This makes Unbreaking more common.

Chiseled Bookshelves

  • Chiseled Bookshelves may provide a further amount of power (up to 10 extra levels of power) to the enchanting table dependent on the levels of the enchantments within the Chiseled Bookshelf. An enchanted book with a maximum level enchantment provides 1.2 power (power is rounded down in practice). Treasure enchantments gain 50% more power.
    • Chiseled Bookshelves do not increase the cost of the enchanting table past what each Bookshelf provides.
  • Chiseled Bookshelves may now influence enchantments of the enchanting table using any enchanted books it contains, with up to 3 enchantments allowed to influence the Enchanting Table.
  • Enchanted Books placed within Chiseled Bookshelves now visually match the visible enchantment category of the item.

Anvil

  • Implemented an Anvil config for disabling parts of Enchiridion's anvil.

Villager Trades

  • Enchiridion's Villager Trades are now entirely data-driven and are enabled by default via the Enchiridion Villager Trades data pack.
  • Tweaked Armorer, Weaponsmith and Toolsmith trades in various ways.

World Loot

  • Enchantments within Loot Tables are now contextual based on the structure they spawn in.

Tooltips

  • Added the option to view an Enchantment's supported items as a cycling icon.
    • By default, this activates the same way as the category view, but will instead use Item Descriptions' settings if it is installed.
    • Thank you to Omniv and Gachalover for additionally helping us out with the icons.

Bugfixes

  • Fixed Sticky enchantment allowing the player to climb ceilings whilst holding space whilst sneaking.
  • Fixed Enchanting Table level ups going through when clicking an inactive scroller.
  • Fixed Enchanting Table text incorrectly using the level up seed when not levelling up enchantments.
  • Fixed Enchiridion treasure enchantments appearing on traded villager equipment when villager trade modifications are toggled off.
  • Fixed Circuit being impossible to obtain within the Enchanting Table.
  • Fixed Infinity not playing its animation on the client when connected to a server whilst shooting a no item projectile in survival.
  • Fixed Whirlpool not triggering a cooldown upon swapping off the item.

Technical Changes

Attributes

  • Added enchiridion:sweeping_range attribute, which modifies the Sweeping attack of Swords' range.
  • Renamed enchiridion:slipperiness_multiplier attribute to enchiridion:friction_multiplier.
  • Renamed enchiridion:jump_extension_time attribute to enchiridion:coyote_time.
  • Renamed enchiridion:sprint_jump_velocity_multiplier attribute to enchiridion:sprint_jump_movement_multiplier.

Enchanting Table

  • The Enchanting Table's enchant logic is now data-driven through Enchanting Table Enchant Functions.
    • You may create these in your data packs under <namespace>:enchiridion/enchanting_table/enchant_function/<path>.
    • All applicable enchanting table functions will run when enchanting at the table.
  • The Enchanting Table's bookshelf/block power providing logic is now data-driven through Power Providers.
    • You may create these in your data packs under <namespace>:enchiridion/enchanting_table/power_provider/<path>.
    • All applicable power providers will run on nearby blocks when determining enchant power.

Enchantment Categories

  • The Enchantment Category JSON limit field now accepts values of 0.
  • Removed trade_chance field as it is now handled using the enchiridion:enchant_randomly_with_level loot item function.

Item Components

  • Added enchiridion:enchantment_categories data component predicate, for use within item conditions.
    • Accepts the following fields:
    • categories an enchantment category tag/list of enchantment category IDs to check for.
    • enchantments an enchantment tag/list of enchantment IDs to check for within the specified categories, or all categories.
  • Added enchiridion:enchantment_category_limits component. Which can now be used to change the limits of an item or item stack's enchantments in each enchantment category.
  • Replaced enchiridion:item_resource effect component with enchiridion:charges effect. Which is now persistent across world loads and stores charges as an int inside the item's components.

Enchantment Effects

  • enchiridion:freeze enchantment entity effect now operates in seconds spent fully frozen instead of a total amount of ticks frozen.
    • This would map to value * 40 + 140. Freezing ticks down in increments of two instead of one.
  • Renamed enchiridion:previous_attack_target predicate type to enchiridion:previous_attack_target_distance, making it more accurate.
  • Renamed enchiridion:prevent_post_item_use enchantment effect component type to enchiridion:prevent_post_use.
  • Removed enchiridion:exhaust enchantment entity effect.
    • Please use vanilla's apply_exhaustion enchantment entity effect instead.
  • Added new fields to enchiridion:player subpredicate.
    • food_level accepts min and max int fields to check for food levels on a player.
    • saturation_level accepts min and max double fields to check for saturation levels on a player.
  • Replaced add value inside enchiridion:block_loot and enchiridion:fishing_loot effects with replace, this field is otherwise functionally identical outside of being inverted to what it was.
  • Refactored ammo_use enchantment effect component into a default_ammo component, allowing you to additionally specify an item stack to be used as ammo.
    • If the ammo is not present or is an empty item, this will return the original ammo of the item.
  • Changed the origin of enchiridion:prevent_ice_cracks to use the position of the entity, rather than the frosted ice block.
  • Added enchiridion:sweeping_attack enchantment effect component, allowing you to modify the conditions in which the sweeping attack will activate.
  • Renamed enchiridion:sweep_particle enchantment effect component type to enchiridion:sweeping_attack_particle.
  • Renamed enchiridion:projectile_velocity enchantment effect component type to enchiridion:projectile_power for more consistency with the game's codebase.

Tags

  • Added loot related enchantment tags. Used when determining what to give to the player within loot tables.
    • enchiridion:enchiridion:loot/tier_1
    • enchiridion:enchiridion:loot/tier_2
    • enchiridion:enchiridion:loot/tier_3
    • enchiridion:chests/abandoned_mineshaft/common
    • enchiridion:chests/abandoned_mineshaft/special
    • enchiridion:chests/ancient_city/common
    • enchiridion:chests/ancient_city/special
    • enchiridion:chests/ancient_city/mending
    • enchiridion:chests/bastion/bridge/common
    • enchiridion:chests/bastion/bridge/special (Unused)
    • enchiridion:chests/bastion/hoglin_stable/common
    • enchiridion:chests/bastion/hoglin_stable/special (Unused)
    • enchiridion:chests/bastion/treasure/common
    • enchiridion:chests/bastion/treasure/special (Unused)
    • enchiridion:chests/bastion/other/common
    • enchiridion:chests/bastion/other/special (Unused)
    • enchiridion:chests/desert_pyramid/common
    • enchiridion:chests/desert_pyramid/special
    • enchiridion:chests/end_city/common
    • enchiridion:chests/end_city/special
    • enchiridion:chests/jungle_temple/common
    • enchiridion:chests/jungle_temple/special
    • enchiridion:chests/nether_bridge/common
    • enchiridion:chests/nether_bridge/special
    • enchiridion:chests/pillager_outpost/common
    • enchiridion:chests/pillager_outpost/special
    • enchiridion:chests/ruined_portal/common
    • enchiridion:chests/ruined_portal/special
    • enchiridion:chests/shipwreck/supply/common
    • enchiridion:chests/shipwreck/supply/special
    • enchiridion:chests/stronghold/corridor/common
    • enchiridion:chests/stronghold/corridor/special
    • enchiridion:chests/stronghold/library/common
    • enchiridion:chests/stronghold/library/special
    • enchiridion:chests/trial_chambers/common
    • enchiridion:chests/trial_chambers/corridor/common
    • enchiridion:chests/trial_chambers/intersection_barrel/common
    • enchiridion:chests/trial_chambers/intersection_barrel/special
    • enchiridion:chests/trial_chambers/reward_rare/common
    • enchiridion:chests/trial_chambers/reward_rare/special
    • enchiridion:chests/trial_chambers/reward_ominous_rare/enchant_with_levels
    • enchiridion:chests/trial_chambers/reward_ominous_rare/enchant_randomly
    • enchiridion:chests/trial_chambers/reward_ominous_rare/special
    • enchiridion:chests/underwater_ruin/common (Shared between Small and Big Underwater Ruins)
    • enchiridion:chests/underwater_ruin/special (Shared between Small and Big Underwater Ruins)
    • enchiridion:chests/underwater_ruin/small/common
    • enchiridion:chests/underwater_ruin/small/special
    • enchiridion:chests/underwater_ruin/big/common
    • enchiridion:chests/underwater_ruin/big/special
    • enchiridion:chests/woodland_mansion/common
    • enchiridion:chests/woodland_mansion/special
  • Simplified Item Excluded Set enchantment tags into three different types of item tags. These are always found within the Enchiridion namespace, unlike the former system.
    • Supported Item Tags allow items to be enchantable with the namesake enchantment, outside of Primary enchantment contexts (for example, the Enchanting Table).
      • enchiridion:supported_items/<namespace>/<path>
      • Example enchiridion:supported_items/minecraft/wind_burst
    • Primary Item Tags allow items to be enchantable with the namesake enchantment, including through Primary enchanting contexts.
      • enchiridion:primary_items/<namespace>/<path>
      • Example enchiridion:primary_items/minecraft/breach
    • Unsupported Item Tags disallow items from being enchantable with the namesake enchantment.
      • enchiridion:unsupported_items/<namespace>/<path>
      • Example enchiridion:unsupported_items/minecraft/density
  • Repurposed and removed tags in specific contexts.
    • Item specific enchantable tags are now only used for item specific primaries with multiple very different options.
    • If you wish to use specific vanilla items in a specific way, please use Minecraft or Conventional tags' equivalent.
    • The following item tags have been renamed.
      • enchiridion:enchantable/pickaxe -> enchiridion:enchantable/crumble
      • enchiridion:enchantable/shovel -> enchiridion:enchantable/prospector
      • enchiridion:enchantable/axe -> enchiridion:enchantable/splitting
    • The following item tags have been removed.
      • enchiridion:enchantable/snow_strike_primary.
        • Superseded by the minecraft:enchantable/melee_weapon item tag.
    • The following enchantment tags have been renamed.
      • enchiridion:anvil_logic/spreads -> enchiridion:anvil/spreads
      • enchiridion:anvil_logic/disallowed -> enchiridion:anvil/disallowed
      • enchiridion:anvil_logic/no_extra_cost -> enchiridion:anvil/no_extra_cost
    • The following enchantment category tags have been renamed.
      • enchiridion:trades/librarian/common -> enchiridion:trades/librarian/below_expert
    • The following enchantment category tags have been removed.
      • enchiridion:does_not_increase_anvil_cost
        • Superseded by the enchiridion:anvil/no_extra_cost enchantment tag.

Mod Structure

  • Renamed package structure to org.vulpixel.enchiridion.
  • Refactored the entire mod internally to move values to where they make sense.
    • The API package is gone, simply because I don't feel this mod needed proper API clauses.
    • In-world related content can be found within the org.vulpixel.enchiridion.world package.
      • This will typically follow Mojang-styled package structure, but may have differences where I see fit.
  • Updated content registration code to use a custom deferred system for better compatibility with NeoForge.

This mod has no additional files