Mod WIP! Bugs and big changes may happen
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,
}
]
}