Custom Anvil
Custom Anvil is a plugin that allows server administrators to customize every aspect of the anvil's mechanics.
Custom Anvil have the following features:
- Vanilla like default configuration.
- Custom enchantment level limit.
- Custom anvil recipes.
- Custom enchant restrictions (allows 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)
- (Experimental) Dialog rename (allows longer rename)
- (Experimental) Anvil with monetary cost (using vault) (require dialog rename)
And more !
Permissions:
Note that for most of them you also need to enable feature and in most case enable use of permission for the specfic feature (indicated with (toggleable))
# 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.code.[thecode] (for example ca.color.code.a): Allows usage of only certain color code (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)
# 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)
# Others
ca.rename.dialog: Allow player to use the rename dialog (toggleable)
Commands
run /customanvil help to get information about available commands \
this only show subcommands you have permission for
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. spigot version 1.18 to 1.21.11 do not need any ProtocoLib dependency. (26.1.0 or above requires it) \ 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 if any of this got added. Else it is, likely, fine to use the current version you are ussing on a new paper version
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.
Do you need help with the plugin, or have any issue or suggestion?
You can ask on the discussion page, create a GitHub issue or join my discord
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
|
R
v2.1.5
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v2.1.4
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v1.20.1
|
14h ago | 1 | |||
|
R
v2.1.3
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v2.1.1
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v1.20.0
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
eco fix
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v1.19.0
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v1.18.0
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v1.17.6
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v1.17.5
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
|
R
v1.17.4
|
14h ago | 1 | |||
|
R
v1.17.3
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v1.17.2
|
14h ago | 1 | |||
|
R
v1.17.1
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v1.16.2
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v1.16.0
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
v1.15.11
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
|
R
v1.15.10
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 |
- rarity and level -1 by default when writting defaults
- by default, use lock implementation only on folia
- Fix eco enchant type limit not working as expected
tested for minecraft 26.3
The cleanups also cause ? some API "breakage"
not really, just make the contract more explicit by enforcing nullability everywhere. It now make all the expectations explicit instead of having some marked as nullable/not-nullable, some not
start config holder lock usage
use @NotNullByDefault
some project wise style settings
fix some typo
fix some other issues
- Full Changelog**: https://github.com/alexcrea/CustomAnvil/compare/v1.20.0...v1.20.1
- Revert to previous behavior for rename itallic color style and able to disable old behavior with
append_reset_before_codes - Fix superenchant compatibility sometimes acting weird
Mitigation: Disabling "Remove too expensive" only partially mitigate the issue, a bad actor could still mod there client to trigger the bug
Remove too expensive being off by default
Ya.... sorry !
won't go into details here
other change:
- updated kotlin and other
- fixed another bug with EcoEnchant
- updated gradlew and enabled configuration cache. hopefully making faster build
- Duplicated namespace warning only happens when debug log is enabled
# THIS VERSION DROP VERSION UNDER 1.21.0, use 1.x.x if you want continuation of support use v1
Hi ! This is the first release of the 2.x.x series
It contain most of the same fixes and features. but new features will mostly be created
The major version bump is here to indicate the dropping of these older versions as this project use [semver](https://semver.org/) and not "big new feature"
This support drop should not impact a lot of servers as version under 1.21.0 represent less than 1% of the plugin server base
plus, 1.x.x still has some bugfix support
Anyway ! here's actual changelog ! (a bit of a repeat with 1.19.0)
### Features:
- added anvil degradation
- added anvil sound
### Fixes:
- upgraded eco enchant, if you see an issue like class not found please upgrade your version of eco enchant
- proper handling of eco item (and do not assume present if eco enchant is present, actually check if it is)
- warn on datapack issue instead of crashing
- fix non vanilla handling of rename on unformated rename
- fix some custom recipe not working
- made duplicate registered name warnining only log on debug log
### Removal
- Support for 1.20.6 and before
- Legacy commands (
/anvilconfigreload/customanvilconfig). use/ca subcommandsinstead (like/ca configand `/ca )
# DO NOT USE THIS VERSION ABOVE 1.21.0. use 2.x.x instead
1.x.x is officially going into maintenance mode:
- only support up to 1.20.6
- only minor and easily portable bug fix for an undertermined amount of time
- close to no new feature
If for some reason you wish to run higher versions (why?), dig in the code to find how
Anyway ! here's actual changelog !
### Features:
- added anvil degradation
- added anvil sound
- add legacy warning (use v2 instead for >= 1.21.0)
### fixes:
- upgraded eco enchant, if you see an issue like class not found please upgrade your version of eco enchant
- proper handling of eco item (and do not assume present if eco enchant is present, actually check if it is)
- warn on datapack issue instead of crashing
- fix non vanilla handling of rename on unformated rename
- fix some custom recipe not working
- made duplicate registered name warnining only log on debug log