Hopeful: Enchanting
Enchanting overhaul focusin on customizability, determinism, and choice!
Hopeful: Enchanting
<span style="color:#e03e2d"><em>Mod WIP! Bugs and big changes may happen</em></span>
Current Features
XP Rework
* Now each level is 64 points. * The player being able to keep experience after death using `keepExperience` gamerule (detached from `keepInventory`) * Anvils can be mend using iron ingot (or #hopeful:anvil_mends) * Anvils will fully repair an item using only one repair material (Thanks Forgery for the code)
Scrolls
* Scrolls are a package of enchantments, having 2-3 enchants . * Combine an equipment with a scroll and lapis lazuli in a smithing table to upgrade enchant level by one. * Each Equipment has Tool XP that can be seen when placed in a smithing table. When it reaches max, you can no longer enchant it using scrolls. * By default, enchantments are normalized to be 1 or 3 levels. * Scrolls can be blessings (positive enchantments that use up Tool XP), curses (negative enchantments that free up Tool XP), and deals (both). * Scrolls are data-driven :) * Obtainable by getting enchanted books and tools - They will be reduced to their scrolls.
Enchanting Table Overhaul
The enchanting table menu is gone Now, clicking on it with a piece of paper has a chance of transforming into a scroll.
Default chance is quite low though, but you can increase it with catalysts! These are blocks that have to be in a 5x5x5 area around the table, and can give different effects.
Currently, we have:
* bookshelves: increase chance of producing a scroll, but increase xp requirement * blue candles, carved pumpkins, enchanting table, lightning rod, pointed dripstone, and the sculk family increase the chance of acceleration, binding, endless, channeling, extermination, and echoes respectively, but increase xp requirement.
Dev Stuff
Scroll
Scrolls will be placed in `datapack_name/hopeful/scroll/scroll_name.json` and its format will look like this:
``` { "title":{ "translate": "scroll.hopeful.acceleration" }, "type": "blessing", "max_level": 3, "score_per_level": 1, "required_xp_levels": 5, "enchantments": "#hopeful:hopeful/acceleration" } ```
It is highly recommended to use tags, because they allow for easier compatibility, but an array of enchantments would also work.
The tags are located in `datapack_name/tags/enchantment/hopeful`
Enchantability
Enchantability is the capacity of equipment. It can be modified in `datapack_name/data_maps/item/enchantability.json` in this format:
`{ "values": { "minecraft:wooden_sword":{ "enchantability": 2 } } }`
Catalysts
These catalysts are data-driven, and we have 3 effects, with plenty more to come.
The catalysts are of the form: `datapack_name/hopeful/catalyst/unused_name.json`
And look like so: (made up catalyst
``` { "blocks": "minecraft:bedrock", "limit": 2, "effects": [ { "type": "hopeful:scroll_weight", "scrolls": "hopeful:acceleration", "increase_by": 2 }, { "type": "hopeful:xp_levels_requirement", "increase_by": 10000, "consume_on_success": true, -- default value "consume_on_fail": false -- default value }, { "type": "hopeful:success_chance", "increase_by": 0.5, }
] } ```