G-EnchantBooks

A lightweight plugin that adds a selection of custom enchantments, easy to configure.

81

G-EnchantBooks

G-EnchantBooks

Lightweight custom enchants, built to feel like vanilla. (No dependency)

Adds new, configurable enchantments that integrate seamlessly with vanilla mechanics (enchanting table, anvils, grindstone, etc.).

Key features - Custom enchants: New, balanced enchantments for tools, weapons, armor, bows, tridents and more.

- Vanilla friendly: Works with vanilla systems (tables, anvils, books, villagers, grindstone, loot).

- Easy to setup: Run-and-go defaults; a single, readable config for tweaks.

- Lightweight: Low memory/CPU usage and no external dependencies.

How to create a custom enchant:

Bloodlust Enchant

``` <?xml version="1.0" encoding="UTF-8"?> <enchantment id="bloodlust" enabled="true"> <display-name>Bloodlust</display-name> <description>Heals you and gives strength when you kill enemies</description> <book-lore> <line>§7Heals and empowers you when you slay enemies</line> <line>§7Restores §c{level} hearts §7and grants §4Strength {level}</line> <line>§7Apply to weapons via anvil</line> </book-lore> <category>combat</category> <max-level>3</max-level>

<applicable-items> <item-group>weapons</item-group> </applicable-items>

<recipe> <pattern> <row>NAN</row> <row>WBW</row> <row>NAN</row> </pattern> <ingredients> <ingredient key="N">NETHERITE_INGOT</ingredient> <ingredient key="A">ANCIENT_DEBRIS</ingredient> <ingredient key="W">WITHER_SKELETON_SKULL</ingredient> <ingredient key="B">BLAZE_ROD</ingredient> </ingredients> </recipe>

<trigger event="ENTITY_DEATH"> <conditions> <condition type="player-is-killer"/> <condition type="holding-enchanted-item" slot="MAIN_HAND"/> </conditions>

<actions> <!-- Heal player based on level --> <action type="heal"> <base-amount>2.0</base-amount> <per-level>1.0</per-level> <max-amount>10.0</max-amount> </action>

<!-- Apply strength effect --> <action type="potion-effect"> <effect>STRENGTH</effect> <duration-ticks> <base>100</base> <per-level>20</per-level> </duration-ticks> <amplifier> <base>0</base> <per-level>1</per-level> </amplifier> </action> </actions> </trigger> </enchantment>

```

Exemple Template

``` <?xml version="1.0" encoding="UTF-8"?> <enchantment id="lifesteal" enabled="true"> <display-name>Your Enchant Name</display-name> <description>The description of your choice</description> <book-lore> <line>Choose a lore of your choice</line> <line>§7 You can use color code</line> <line>If you need help, join our Discord !</line> </book-lore> <category>Choose a category</category> <max-level>Choose a maximum level (ex. 3)</max-level>

<applicable-items> <item-group>Choose an item group (weapons, tools, . . .)</item-group> </applicable-items>

<recipe> <pattern> <row>GRG</row> #Here you can configure the recipe <row>RBR</row> <row>GRG</row> </pattern> <ingredients> <ingredient key="G">GHAST_TEAR</ingredient> #Choose any ingredients you wish <ingredient key="R">GOLDEN_APPLE</ingredient> <ingredient key="B">BOOK</ingredient> </ingredients> </recipe>

<trigger event="ENTITY_DAMAGE_BY_ENTITY"> #You can choose how the enchant works <conditions> <condition type="player-is-attacker"/> <condition type="holding-enchanted-item" slot="MAIN_HAND"/> <condition type="damage-cause"> <cause>ENTITY_ATTACK</cause> <cause>ENTITY_SWEEP_ATTACK</cause> </condition> <!-- 2 second cooldown to prevent spam healing --> <condition type="cooldown"> <duration-ticks> <base>40</base> <per-level>-5</per-level> <min>20</min> </duration-ticks> </condition> </conditions>

<actions> <!-- Heal based on level (1-3 hearts) --> <action type="heal"> <base-amount>1.0</base-amount> <per-level>1.0</per-level> <max-amount>6.0</max-amount> </action>

<!-- Visual feedback --> <action type="spawn-particle"> <particle>HEART</particle> <count> <base>2</base> <per-level>1</per-level> </count> <offset-x>0.3</offset-x> <offset-y>0.5</offset-y> <offset-z>0.3</offset-z> </action>

<!-- Audio feedback --> <action type="play-sound"> <sound>ENTITY_PLAYER_LEVELUP</sound> <volume>0.3</volume> <pitch>2.0</pitch> </action> </actions> </trigger> </enchantment>

```

ADS