SPluginsSPlugins

📖 Native enchantments

A gem can be a real Minecraft enchantment: it appears at the enchanting table, on books, on the anvil, at the grindstone, in villager trades and in loot. Its effects are still activators.

We will make Deep Harvest: mining stone can restore food.

The file

Create gems/custom/deep_harvest.yml:

name: '<#6fd08c>Deep Harvest'
color: '#6fd08c'
max-level: 3
model: 'minecraft:enchanted_book'
native-enchantment:
  enabled: true
  supported: '#pickaxes'
  weight: 3
  anvil-cost: 4
  enchanting-table: true
  tradeable: true
  loot: true
  treasure: false
description:
  - '<gray>Mining stone can restore <white>%food%</white> food'
values:
  food: 'level'
  chance: '5 * level'
activators:
  feed:
    option: PLAYER_BLOCK_BREAK
    chance: '%gem_chance%'
    silenceOutput: true
    detailedSlots: [-1]
    detailedBlocks:
      blocks: [STONE, DEEPSLATE]
    playerCommands:
      - 'effect give %player% saturation 1 %gem_level% true'
      - 'say HARVEST %gem_level%'

The levels of the enchantment are the levels of the gem. %gem_level% and the values work as usual. It needs no applicable-on, no apply and no xp: native-enchantment.supported says which items accept it.

Restart the server

Warning

Minecraft registers its enchantments when the server starts, so /eg reload is not enough to add one. Stop and start the server.

In the console:

[ExecutableGems] Native enchantments registered: 3

Test it

/give @s netherite_pickaxe
/enchant @s executablegems:deep_harvest 3
/eg luck YourName on

Mine some stone. After that, changing the numbers of an existing enchantment only needs /eg reload.

See every key.

Created Nov 8, 2026Last updated Nov 8, 2026 by Ssomar
Edit this page on GitHub