Op Anvils
What is OpAnvils
Op anvils is a plugin designed to allow players to use anvils to combine enchantment past their normal Minecraft limits. I created this plugin with a vision that it could be used on Op Prison and Op Factions servers to allow players to earned high leveled enchantments through in-game effort.
Features
CONFIGURABLE - Individual Enchantment limits can be set in the config to create a unique player experience
PERMISSIONS - With the switch of a config value, enchantment limits can be set per player using permission nodes. With this feature, higher ranked players may be allowed higher enchantment limits.
ENCHANTMENT ALIASES - Set alternate names for each enchantment that can be used in commands and configs to refer to set enchantment. Instead of typing DIG_SPEED, efficiency or any other custom alias can be used to refer to the efficiency enchantment.
ADMIN PANEL - A simply clean inventory GUI that displays information about all enchantments with quick buttons to reload the plugin and player permission limits
DRAG N DROP - The plugin can be dropped into the plugin folder with out any dependencies.
Permissions
opanvils.use - Allows the player to use the features of Op Anvils
opanvils.bypass - Allows the player to bypass all enchantment limits
opanvils.admin - Allows access to the Op Anvils Admin Panel
opanvils.enchantment.* - Similar to opanvils.bypass except it only works when global limits are disabled
opanvils.* - Gives access to all of the plugin's features
opanvils.enchantment.<echantment>.<level> - Sets the enchantment limit for enchantment <enchantment> at level <level>. This is only used when global limits disabled. Ex. opanvils.enchantment.protection.11
Commands
/opanvils - Get the pluign version and author
/opanvils ? - Get the command help menu
/opanvils gui - Open the Admin Panel
/opanvils reload - reloads the plugin
/opanvils mode - Gets what permission mode is used
/opanvils enchantment <enchantment> - Find more information about an enchantment
/opanvils check <player> - Checks the enchantment limits for the player
Spoiler: Config.yml
Code (Text):
########################################################################################################
# #
# OP Anvils Configuration File #
# #
# By Varmetek #
########################################################################################################
# Should there be server mandated max levels?
# If this is disabled, player permission Limits will be used
#
# When using permission limits, players will need to have a permission node which gives them
# a personal maximum enchantment limit
# An example permission for the protections enchantment is
# opanvils.enchantment.protection_enviromental.15
# Changing a players permission limits will require a reload of the plugin
# This can be done with /opa reload perms
#
# This node allows for the player to combine the protection enchantment until level 15
#
# Players with the opanvils.bypass permission will not be affected by any limits;
# It is recommended that this is true
useGlobalLimits: true
#The server custom enchantment limits
# By default all of the enchantment limits are set to their vanilla limits
# You can use the alternate names in aliases.yml here
#
# Values that are -1 or lower are set to default
# Values that are set to 0 cannot be combined at all
globalLimits:
#Regular Protection
protection: -1
#Fire protection
fire protection: -1
#Feather falling
feather falling: -1
#Blast Protection
blast protection: -1
#Projectile Protection
protectile protection: -1
#Respiration
respiration: -1
#Aua Affinity
aqua affinity: -1
#Thorns
THORNS: -1
#Depth Strider
DEPTH_STRIDER: -1
#Frost Walker
FROST_WALKER: -1
#Curse of Binding
curse of binding: -1
#Sharpness
sharpness: -1
#Smite
smite: -1
#Bane of Arthropods
bane of arthropods: -1
#Knockback
KNOCKBACK: -1
#Fire Aspect
FIRE_ASPECT: -1
#Looting
LOOTing: -1
#Sweeping Edge
SWEEPING_EDGE: -1
#Efficiency
efficiency: -1
#Silk Touch
SILK_TOUCH: -1
#Unbreaking
DURABILITY: -1
#Fortune
fortune: -1
#Power
power: -1
#Punch
punch: -1
#Flame
flame: -1
#Infinity
ARROW_INFINITE: -1
#Luck of the Sea
luck of the sea: -1
#Lure
LURE: -1
#Mending
MENDING: -1
#Curse of Vanishing
VANISHING_CURSE: -1
# #
# OP Anvils Configuration File #
# #
# By Varmetek #
########################################################################################################
# Should there be server mandated max levels?
# If this is disabled, player permission Limits will be used
#
# When using permission limits, players will need to have a permission node which gives them
# a personal maximum enchantment limit
# An example permission for the protections enchantment is
# opanvils.enchantment.protection_enviromental.15
# Changing a players permission limits will require a reload of the plugin
# This can be done with /opa reload perms
#
# This node allows for the player to combine the protection enchantment until level 15
#
# Players with the opanvils.bypass permission will not be affected by any limits;
# It is recommended that this is true
useGlobalLimits: true
#The server custom enchantment limits
# By default all of the enchantment limits are set to their vanilla limits
# You can use the alternate names in aliases.yml here
#
# Values that are -1 or lower are set to default
# Values that are set to 0 cannot be combined at all
globalLimits:
#Regular Protection
protection: -1
#Fire protection
fire protection: -1
#Feather falling
feather falling: -1
#Blast Protection
blast protection: -1
#Projectile Protection
protectile protection: -1
#Respiration
respiration: -1
#Aua Affinity
aqua affinity: -1
#Thorns
THORNS: -1
#Depth Strider
DEPTH_STRIDER: -1
#Frost Walker
FROST_WALKER: -1
#Curse of Binding
curse of binding: -1
#Sharpness
sharpness: -1
#Smite
smite: -1
#Bane of Arthropods
bane of arthropods: -1
#Knockback
KNOCKBACK: -1
#Fire Aspect
FIRE_ASPECT: -1
#Looting
LOOTing: -1
#Sweeping Edge
SWEEPING_EDGE: -1
#Efficiency
efficiency: -1
#Silk Touch
SILK_TOUCH: -1
#Unbreaking
DURABILITY: -1
#Fortune
fortune: -1
#Power
power: -1
#Punch
punch: -1
#Flame
flame: -1
#Infinity
ARROW_INFINITE: -1
#Luck of the Sea
luck of the sea: -1
#Lure
LURE: -1
#Mending
MENDING: -1
#Curse of Vanishing
VANISHING_CURSE: -1
Spoiler: Aliases.yml
Code (Text):
#
#
# Enchantment Aliases
#
# This file can be changed allow for alternate names for each enchantment.
# I would rather type in protection than PROTECTION_ENVIROMENT when doing a command
#
# The default aliases are taken from the vanilla ids given from the Minecraft wiki
# You can find those here https://minecraft.gamepedia.com/Enchanting
#
# If you want to add your own aliases you have to get the spigot name for the enchantment.
# This can be found here https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html
#
# If an enchantment is not here that could mean one of many things:
# 1) I forgot to update this file
# 2) The Bukkit name is the same as the Minecraft vanilla id
#
#
# A few things to note: numbers and other special characters will be ignored and spaces will be replaced with underscores.
#
#
# Have fun :D
#
PROTECTION_ENVIRONMENTAL: [protection]
PROTECTION_FIRE: [fire protection]
PROTECTION_FALL: [feather falling]
PROTECTION_EXPLOSIONS: [blast protection]
PROTECTION_PROJECTILE: [projectile protection]
OXYGEN: [respiration]
WATER_WORKER: [aqua affinity]
BINDING_CURSE: [curse of binding]
DAMAGE_ALL: [ sharpness]
DAMAGE_UNDEAD: [smite]
DAMAGE_ARTHROPODS: [bane of arthropods]
LOOT_BONUS_MOBS: [looting]
SWEEPING_EDGE: [sweeping]
DIG_SPEED: [efficiency]
DURABILITY: [unbreaking, durability]
LOOT_BONUS_BLOCKS: [fortune]
ARROW_DAMAGE: [power]
ARROW_KNOCKBACK: [punch]
ARROW_FIRE: [flame]
ARROW_INFINITE: [infinity]
LUCK: [luck of the sea]
VANISHING_CURSE: [curse of vanishing]
#
# Enchantment Aliases
#
# This file can be changed allow for alternate names for each enchantment.
# I would rather type in protection than PROTECTION_ENVIROMENT when doing a command
#
# The default aliases are taken from the vanilla ids given from the Minecraft wiki
# You can find those here https://minecraft.gamepedia.com/Enchanting
#
# If you want to add your own aliases you have to get the spigot name for the enchantment.
# This can be found here https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html
#
# If an enchantment is not here that could mean one of many things:
# 1) I forgot to update this file
# 2) The Bukkit name is the same as the Minecraft vanilla id
#
#
# A few things to note: numbers and other special characters will be ignored and spaces will be replaced with underscores.
#
#
# Have fun :D
#
PROTECTION_ENVIRONMENTAL: [protection]
PROTECTION_FIRE: [fire protection]
PROTECTION_FALL: [feather falling]
PROTECTION_EXPLOSIONS: [blast protection]
PROTECTION_PROJECTILE: [projectile protection]
OXYGEN: [respiration]
WATER_WORKER: [aqua affinity]
BINDING_CURSE: [curse of binding]
DAMAGE_ALL: [ sharpness]
DAMAGE_UNDEAD: [smite]
DAMAGE_ARTHROPODS: [bane of arthropods]
LOOT_BONUS_MOBS: [looting]
SWEEPING_EDGE: [sweeping]
DIG_SPEED: [efficiency]
DURABILITY: [unbreaking, durability]
LOOT_BONUS_BLOCKS: [fortune]
ARROW_DAMAGE: [power]
ARROW_KNOCKBACK: [punch]
ARROW_FIRE: [flame]
ARROW_INFINITE: [infinity]
LUCK: [luck of the sea]
VANISHING_CURSE: [curse of vanishing]
Setup
To get started just put the plugin into the plugins folder. The plugin requires Java 8 and works on Spigot versions 1.9+
In the config.yml under "globalLimits", there will be a list of enchantments with a value associated with it. Those numbers are the limits for that respective enchantment. A number that is less than or equal to -1 will set the enchantment limit to its default Minecraft value. A value of 0 will disable the enchantment from appearing on anvil results.
The aliases.yml is a great place to create custom names for the enchantments whose Bukkit names are hard to type. This alternative names can be used in the config.yml to or in permissions nodes to set limits.
Spoiler: Media
**IMPORTANT NOTES**
When changing player permissions run /opa reload to apply the changes.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.9, 1.10, 1.11
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Op Anvils is a free Minecraft Java mod. Compatible with Minecraft 1.9, 1.10, 1.11, 1.12. Downloaded 13,773 times (via Spigot). Download it and open it directly in the game.