Перейти к содержимому
Mineforgian

Hopeful: Enchanting

Enchanting overhaul focusin on customizability, determinism, and choice!

Загрузки
93
Подписчики
2
Обновлён
11 июня 2026 г.
Лицензия
GPL-3.0-only

Опубликован 12 мая 2026 г.

Current Features

Tool & Player Levels

Tool Levels

  • Each tool has Tool Level that can be seen when placed in a smithing table.
  • When they are all used up, it will no longer accept scrolls.
  • Some tools can level up when being used like chainmail and bows. Leveling up will allow them to accept more scrolls.
  • With Hopeful Unlimited, a built-in datapack you can enable, tools will get virtually infinite tool level, so this mechanic becomes obsolete.

XP Rework

  • Now each level is 16 points.
  • There are 3 new gamerules to improve XP handling:
    • xpPerLevel (or hopeful:xp_per_level on 26.1) defines the number of experience points per level (default: 16)
    • percentageXPLost (or hopeful:percentage_xp_lost on 26.1) defines the percentage of XP lost (unrecoverable) on death (default: 0)
    • percentageXPDropped (or hopeful:percentage_xp_dropped on 26.1) defines the percentage of XP dropped on the ground on death (default: 100)

Scrolls

  • Scrolls are a package of enchantments, having 2-3 enchants .
  • Combine equipment with a scroll and lapis lazuli in a smithing table to upgrade an enchantment's level by one.
  • By default, enchantments are normalized to be 1 or 3 levels.
  • Scrolls can be blessings (positive enchantments that use up Tool Levels), curses (negative enchantments that free up Tool Levels), and deals (both).
  • When getting enchanted books and tools in the wild - They will be stripped to their scrolls.
  • stripAllEnchants gamerule would decide if all the enchants will be stripped, or only until valid configuration (where used tool level is not bigger than default tool level)

Anvil Changes

  • 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)
  • Repairs are data-driven.

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 (configurable using enchantingTableRange (or hopeful:enchanting_table_range on 26.1) gamerule) area around the table, and can give different effects.

Currently, we have:

  • Bookshelves: increase chance of producing a scroll, but increase xp requirement.
  • Lapis Block: decreases xp level requirement, but has a chance of evaporating.
  • The following increase chance of a scroll, but increase xp requirement:
    • Magma: flame scroll.
    • Prismarine: fins and gills scrolls
    • Soul blocks & soul fire blocks: undead scroll
    • Vault: wind scroll (has a chance of spawning a breeze)
    • Carved pumpkins: binding scroll
    • Enchanting Table: Endless scroll
    • Lightning Rod: channeling scroll
    • Pointed Dripstone: extermination scroll.
    • Sculk blocks: echoes scroll.

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",
  "tool_levels": 1,
  "player_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

Equipment

Tool Level stats can be modified in datapack_name/data/hopeful/data_maps/item/tool_levels.json in this format:

{
  "values": {
    "minecraft:chainmail_chestplate": {
      "starting_level": 5,
      "level_ups": [10,50,100,0,200,0] 
    },
    "minecraft:crossbow": {
      "starting_level": 3,
      "level_ups": [50, 100, 150]
    }
  }
}

Note that the numbers are the uses it takes to level up. For example, for the crossbow, after reaching level 2, you'd need 100 more uses to get to level 3.

Repairing tools can be modified in datapack_name/data/hopeful/data_maps/item/tool_repairs.

This is the format:

{
  "values": {
    "#minecraft:iron_sword": [
      {
        "material": "minecraft:diamond",
        "level_cost": 1,
        "durability": 100,
        "is_percentage": true
      }
    ]
  }
}

materials can be omitted to use default repair material for the item.

Catalysts

These catalysts are data-driven, and we have 5 effects, with plenty more to come.

The catalysts are of the form: datapack_name/hopeful/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
    },
    {
      "type": "hopeful:success_chance",
      "increase_by": 0.5
    }

  ]
}

Центр версий

9 версий
  • Релиз156 КБ
  • Релиз156 КБ
  • Релиз156 КБ
  • Релиз160 КБ
  • Релиз173 КБ
  • Релиз179 КБ
  • Релиз178 КБ
  • Бета170 КБ
  • Релиз161 КБ

Ченджлог

1.5.2Релиз1.21, 1.21.1 · 11 июня 2026 г.

Added a new innate_enchantments data component, which allows tools to have enchantments that don't take up tool levels, and can't be removed. Since this is a data component, it will require Defaulted for modpack purposes.

1.5.1Релиз1.21, 1.21.1 · 10 июня 2026 г.
  • Fixed a bug with enchantments that don't have an appropriate scroll disappearing.
1.5.0Релиз1.21, 1.21.1 · 9 июня 2026 г.
  • Added a new data-driven repair system
  • Tweaked the "player levels" text in the smithing table to match anvil's
  • added stripAllEnchants gamerule
  • Changed equipment to tool_levels
1.4.2Релиз1.21, 1.21.1 · 5 июня 2026 г.

Fixed some bugs with tool level ups...

2.2.0Релиз26.1, 26.1.1, 26.1.2 · 2 июня 2026 г.

Updated to match v1.4.1

1.4.1Релиз1.21, 1.21.1 · 21 мая 2026 г.
  • Gave SummonEntity proper particle
  • Fixed success text not showing up
  • Added levelup to bows, crossbows, and chainmail armor.
  • Fixed prismarine, vault, and soul catalysts... sorry about that
1.4.0Релиз1.21, 1.21.1 · 21 мая 2026 г.

Additions

SummonEntity Effect!

Now catalysts can spawn mobs on top of the enchanting table, with configurable chance in case of fail and success. It currently uses angry_villager particles...

MorphSelf Expanded!

Now MorphSelf can be specified to morph into a blockstate, rather than just a block. Also fixed it not working on successful enchantings.

Enchantability & Level Ups!

  • Enchantability has been reworked into tool levels.
  • Each tool has a starting level, and an optional list of levelups! (both specified in equipment data_map.
  • The list specifize the number of uses the tool needs until leveling up.
  • On level up, you might be able to add more scrolls to the tool.

New Catalysts!

  • Magma blocks increase the chance of flame scroll.
  • Prismarine blocks increase the chance of fins and gills scrolls.
  • Soul blocks & soul fire blocks increase the chance of smite scroll.
  • Vault increases the chance of wind scroll, and has a chance of spawning a breeze.
  • Fins scroll will free up a tool level. Currently, no tool has that behaviour, but I might add it soon...

Changes

  • In Scrolls, required_tool_xp and required_player_xp have been renamed to tool_levels and player_level.
  • All catalysts had their weights multiplied by 10 for better precision.
  • The default state of the enchanting table now is twice as likely to give out the basic scrolls (impact, luck, protection, precision, and unbreaking)
1.3.3Бета1.21, 1.21.1 · 18 мая 2026 г.

Additions

  • Added xpPerLevel gamerule, which dictates how many points are in a level. This system is prone to bugs, which is why this version is beta.
  • Lapis block is a new catalyst that decreases xp level requirement by 3 levels, but has a chance of disappearing.

Changes

  • "Tool XP" is now called "Tool Level"
  • increased effect of scroll weight catalysts.
  • #hopeful:all_scrolls is now named #hopeful:scrolls

Fixes

  • morph_self works now

Комментарии

Загружаем…