Self hosted test
Find a file
2026-05-17 17:30:16 +02:00
.github add 26.1 ver to modrinth versions 2026-04-23 12:32:41 +02:00
.idea added intellij icon 2025-03-21 14:22:35 +01:00
.run add run dir for myself 2026-02-22 00:42:33 +01:00
defaultconfigs remove force protocolib in config 2026-03-23 18:04:14 +01:00
gradle/wrapper update gradlew & paperweight 2025-06-17 17:15:08 +02:00
impl add super enchant as dep and update kotlin 2026-05-14 06:29:18 +02:00
libs add super enchant as lib 2026-05-14 06:28:50 +02:00
nms add super enchant as dep and update kotlin 2026-05-14 06:29:18 +02:00
src item adder namespace considered for unit merge 2026-05-17 17:30:16 +02:00
.gitignore add run dir for myself 2026-02-22 00:42:33 +01:00
build.gradle.kts clone use item adder on custom items adder item 2026-05-17 17:30:16 +02:00
COMPATIBILITY.md lowercase .md 2026-03-03 15:07:54 +01:00
CREDITS.md lowercase .md 2026-03-03 15:07:38 +01:00
gradle.properties forgot paper version 2026-04-23 14:16:48 +02:00
gradlew update gradlew & paperweight 2025-06-17 17:15:08 +02:00
gradlew.bat Initial commit 2022-08-20 21:14:21 -04:00
LICENSE Create LICENSE 2024-07-12 13:12:46 +02:00
logo.png add config for xp formula and version up. also moved logo cause it is useless inside the plugin 2024-02-04 01:03:24 +01:00
README.md [ci skip] update permissions in readme 2026-03-03 15:21:40 +01:00
settings.gradle.kts add excellent enchant limit 2026-03-23 23:54:38 +01:00

Custom Anvil

Custom Anvil is a plugin that allows server administrators to customize every aspect of the anvil's mechanics. It is expected to work on 1.18 to 1.21.7 minecraft servers running spigot or paper. (the plugin support of 1.16.5 to 1.17.1 is experimental and may encounter issues)

Download Locations:

the plugin can be downloaded on Modrinth, Hangar or here on GitHub


Custom Anvil have the following features:

  • Vanilla like default configuration.
  • Custom enchantment level limit.
  • Custom anvil recipes.
  • Custom enchant restrictions (allow unsafe enchantment only for a group of item or create new restriction).
  • Custom items of unit repairs (repair damaged with unit of "material", for example the repair of diamond sword by diamonds).
  • Custom XP cost for every aspect of the anvil.
  • Permissions to bypass level limit or enchantment restriction.
  • Display XP cost instead of "too expensive" when above level 40. (see below for more information)
  • Can handle some custom enchantment plugins (see below for more information)
  • Gui to configure the plugin in game.
  • Support use of color code, hexadecimal color and minimessage for color/decoration
  • (Experimental) Folia support (gui do not work)

Permissions:

# Generic and bypass permissions
ca.affected: Player with this permission will be affected by the plugin
ca.bypass.fuse: Allow player to combine every enchantments to every item (no custom limit)
ca.bypass.level: Allow player to bypass every level limit (no custom limit)

# Command permissions
ca.command.reload: Allow administrator to reload the plugin's configs
ca.command.diagnostic: Allow adminastator to diagnistic some simple problem with the plugin
ca.config.edit: Allow administrator to edit the plugin's config in game

# -----------------------------------------------------------------------------
# Bellow permissions also require some config change to allow usage of features
# Usage of these permission is toggleable in basic config gui or config.yml
# -----------------------------------------------------------------------------
# Permissions related to use of color and minimessage
ca.color.code: Allow player to use color code on rename if enabled (toggleable)
ca.color.hex: Allow player to use hexadecimal color on rename if enabled (toggleable)
ca.rename.minimessage: Allow player to use minimessage formating on rename if enabled (toggleable) (only legacy compatible at the time)

# Permissions related to edition of the lore
ca.lore_edit.book: Allow player to edit lore via book and quil if enabled (toggleable)
ca.lore_edit.paper: Allow player to edit lore via paper if enabled (toggleable)

Commands

run customanvil help to get information about available commands (need permissions to use them)

Supported Plugins

See the Compatibility list

Overriding Too Expensive

One of the configurations allow displaying price about 40 and removing Too Expensive.
By how the minecraft client work: price above 40 can only be displayed green, even if the player does not own enough experience level. Minecraft version 1.18 to latest marked as supported do not need any ProtocoLib dependency.
Any recent paper version also are supported for this feature. But you should wait for update for new version containing new enchantable item or new enchantments. Other version need ProtocoLib enabled on your server for this feature.
You can also wait for an update of the plugin to support a newer version.

Please note that 1.16.5 to 1.17.1 are not officially supported. Run at your own risk.

For custom enchantment plugin developers

For information about the API, please refer to the Wiki
(Please note that the wiki is currently incomplete)


Default Plugin's Configurations

see Here


Metric And Telemetry

Custom anvil use bstat and faststats for metric and error reporting.

You can select specific telemetry or disable all in config.yml.
You can also disable bstat and faststats in their /plugin folder if you like too.

faststats is in beta testing please report me or them any error you encounter

Credits and Thanks

Credits and thanks can be seen here

Planned:

  • Better Folia support (make gui work. fix some dirty handled parts)
  • Get restriction on unknown enchantments (planned for V2)
  • More features for custom anvil craft

Known issue:

Most unknown registered enchantments (by unsupported custom enchantment plugin & datapacks) will not have restriction by default. Planned but no eta.