Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Super Enchantments Plugin

Super Enchantments Plugin

Extend Minecraft enchanting far beyond vanilla limits.
Levels 1-255 for all vanilla enchantments, plus nine unique custom enchantments.

Latest Release  License  Java Version  Minecraft Version  Platform  Status  Open Issues

Super Enchantments is an open-source Minecraft plugin that extends the vanilla enchanting system by allowing all standard enchantments to be applied at levels from 1 to 255, far beyond their normal caps. In addition, the plugin introduces nine unique custom enchantments with special abilities, visual effects, and configurable cooldowns - ranging from combat enchantments that fire arrow storms or strike with lightning to utility enchantments that teleport the player forward or summon wolves. All enchantments are applied using a simple command, with context-aware tab completion that suggests only valid enchantments for the item currently held.

Core Features

  • Enhanced Vanilla Enchanting: Apply vanilla enchantments at levels 1..255 (unsafe application enabled)
  • Nine Custom Enchantments: Custom combat/utility enchantments with trigger events, particles, sounds, and per-player cooldown behavior
  • Smart Item Compatibility: Automatic compatibility checking ensures only valid enchantments are suggested for the item currently held in hand
  • Context-Aware Tab Completion: Intelligent tab completion shows only applicable enchantments based on the held item type
  • Configurable Cooldowns: Built-in cooldown system with optional chat notifications when a custom enchantment is on cooldown
  • Persistent Storage: Custom enchantments are stored using Minecraft's persistent data container system for reliable cross-restart persistence
  • Visual Feedback: Particle effects, sounds, and visual indicators play when custom enchantments activate

Supported Platforms

  • Server Software: Spigot, Paper, Purpur, CraftBukkit
  • Minecraft Versions: 1.13 and higher
  • Java Requirements: Java 17+
  • Dependencies: None - fully self-contained, no external plugins required

Table of Contents

  1. Getting Started
  2. Configuration
  3. How It Works
  4. Custom Enchantments
  5. Player Commands
  6. Permissions
  7. Building from Source
  8. License
  9. Screenshots

Getting Started

Prerequisites

Before installing Super Enchantments, confirm the following requirements are met:

  • A Minecraft server running Spigot, Paper, Purpur, or any compatible fork
  • Server version 1.13 or higher (api-version: 1.13 is the minimum)
  • Java 17 or newer installed on the machine running the server
  • Operator or console access to install plugin files

No additional plugins or libraries are needed. Super Enchantments has zero external dependencies.

Installation Steps

  1. Download the latest SuperEnchantments-x.x.x.jar from the Releases page
  2. Stop your server completely before placing any files
  3. Copy the .jar into your server's plugins/ directory
  4. Start the server - Super Enchantments generates its configuration folder automatically on first boot

First Launch & Configuration

On the first server start after installation, Super Enchantments creates the following structure:

plugins/
└── SuperEnchantments/
    └── config.yml   - All plugin settings with their defaults

All enchantments are available immediately after installation. No additional configuration is required before first use. Edit config.yml to tune cooldowns, damage values, effect durations, and other per-enchantment settings.

Verifying Installation

  • Run /plugins in-game - SuperEnchantments should appear green in the list
  • Hold a sword and run /enchantlist - a list of applicable enchantments should appear
  • Run /superenchant sharpness 100 while holding a sword - Sharpness 100 should be applied
  • If the plugin fails to load, check the server console for SuperEnchantments error messages (common causes: wrong Java version, corrupt JAR, or unsupported API version)

Configuration

config.yml Reference

All settings are in plugins/SuperEnchantments/config.yml.

Key Default Description
cooldown-display-enabled true Show cooldown messages when abilities are still on cooldown
arrowstorm.cooldown-base 6 Base cooldown in seconds
arrowstorm.cooldown-reduction 1 Cooldown reduction per level
arrowstorm.arrow-count-base 1 Base arrow count
arrowstorm.arrow-count-increase 1 Additional arrows per level
arrowstorm.speed-base 1.5 Base arrow speed
arrowstorm.speed-increase 0.3 Arrow speed increase per level
arrowstorm.damage-base 2.0 Base arrow damage
arrowstorm.damage-increase 0.8 Arrow damage increase per level
arrowstorm.spread-base 0.1 Base spread
arrowstorm.spread-reduction 0.05 Spread reduction per level
blazingshot.cooldown-base 8 Base cooldown in seconds
blazingshot.cooldown-reduction 2 Cooldown reduction per level
blazingshot.fireball-count-base 1 Base fireball count
blazingshot.fireball-count-increase 1 Additional fireballs per level
blazingshot.yield-base 0.5 Base explosion yield
blazingshot.yield-increase 0.4 Explosion yield increase per level
blazingshot.velocity-base 1.2 Base projectile velocity multiplier
blazingshot.velocity-increase 0.15 Velocity increase per level
blazingshot.spread-base 0.2 Base projectile spread
blazingshot.spread-reduction 0.05 Spread adjustment per level
voidstep.cooldown-base 10 Base cooldown in seconds
voidstep.cooldown-reduction 2 Cooldown reduction per level
voidstep.distance-base 5 Base teleport distance
voidstep.distance-increase 5 Extra teleport distance per level
packleader.cooldown-base 15 Base cooldown in seconds
packleader.cooldown-reduction 3 Cooldown reduction per level
packleader.wolf-count-base 1 Base wolf count
packleader.wolf-count-increase 1 Additional wolves per level
explosivetip.power-base 0.5 Base explosion power
explosivetip.power-increase 0.8 Explosion power increase per level
frostbite.chance-base 0.10 Base trigger chance
frostbite.chance-increase 0.08 Chance increase per level
frostbite.duration-base 1.5 Base effect duration in seconds
frostbite.duration-increase 0.5 Duration increase per level
frostbite.intensity-base 1 Base slowness intensity
frostbite.intensity-increase 1 Intensity increase per level
thunderbolt.chance-base 0.05 Base trigger chance
thunderbolt.chance-increase 0.03 Chance increase per level
thunderbolt.strike-count-base 1 Base strike count
thunderbolt.strike-count-increase 0.5 Strike count increase per level
thunderbolt.spread-radius 3.0 Lightning spread radius
venom_strike.chance-base 0.10 Base trigger chance
venom_strike.chance-increase 0.05 Chance increase per level
venom_strike.duration-base 3.0 Base poison duration in seconds
venom_strike.duration-increase 1.0 Poison duration increase per level
venom_strike.intensity-base 1 Base poison amplifier
venom_strike.intensity-increase 1 Poison amplifier increase per level
soul_drain.chance-base 0.15 Base trigger chance
soul_drain.chance-increase 0.10 Chance increase per level
soul_drain.healing-multiplier-base 0.20 Base healing multiplier
soul_drain.healing-multiplier-increase 0.10 Healing multiplier increase per level
soul_drain.particle-count-base 3 Base heart particle count
soul_drain.particle-count-increase 2 Extra particles per level

How It Works

Vanilla Enchantments

/superenchant <enchantment> [level] uses the Bukkit unsafe enchantment API to apply any registered enchantment to the item in the player's main hand at any level from 1 to 255, bypassing all vanilla compatibility and level cap checks. Tab completion queries the Bukkit enchantment registry and filters results against the held item type so only applicable enchantments are suggested. The level argument defaults to the configured maximum for that enchantment type if omitted.

Custom Enchantments

Custom enchantments are stored in item persistent data under a namespaced key. The EnchantmentManager reads this data on every relevant event trigger - right-click for activation enchantments, entity damage for on-hit enchantments - and fires the corresponding ability if the item is held and the per-player cooldown has expired. Cooldown state is tracked in memory per player UUID and per enchantment type. If cooldown-display-enabled is true, players receive a chat message when they attempt to use an enchantment that is still cooling down.

Custom Enchantments

Enchantment Max Level Trigger Can Apply To
arrow_storm 5 Right-click Swords, axes, pickaxes, shovels, hoes, stick
blazing_shot 5 Right-click Swords, axes, pickaxes, shovels, hoes, stick, blaze rod
venom_strike 5 Melee hit Swords, axes, stick, spider eye items
thunderbolt 5 Melee hit Swords, axes, trident, stick
frostbite 5 Melee hit Swords, axes, trident, ice variants
soul_drain 5 Melee hit Swords, axes, stick
void_step 3 Right-click Ender pearl, chorus fruit, stick, swords, axes
explosive_tip 4 Bow shot/hit Bow, crossbow
pack_leader 3 Right-click Bone, stick, swords, axes

Player Commands

Command Permission Description
/superenchant <enchantment> [level] superenchantments.use Apply a vanilla enchantment to the held item
/superenchant customs <enchantment> [level] superenchantments.use Apply a custom enchantment to the held item
/enchantlist superenchantments.list Show all applicable enchantments for the held item
/superenchant togglecooldown superenchantments.admin Toggle cooldown notification messages

Aliases: /senchant, /se for /superenchant | /elist, /el for /enchantlist

Usage Examples:

/superenchant sharpness 100           - Apply Sharpness 100 to the held weapon
/superenchant customs arrow_storm 3   - Apply Arrow Storm level 3 to the held item
/superenchant efficiency 255          - Apply maximum Efficiency to the held tool
/enchantlist                          - Show which enchantments can be applied to the held item

Permissions

Permission Description Default
superenchantments.use Allows using super enchantments and custom enchantments op
superenchantments.list Allows viewing available enchantments true

Building from Source

Super Enchantments uses Apache Maven as its build system. The plugin is packaged as a standard JAR with no external runtime dependencies.

Requirements:

  • Java 17 or newer
  • Apache Maven 3.6 or newer

Steps:

# Clone the repository
git clone https://github.com/Cobbleworks/Super-Enchantments-Plugin.git
cd Super-Enchantments-Plugin

# Compile and package
mvn clean package

The output JAR is written to target/SuperEnchantments-x.x.x.jar. Copy it into your server's plugins/ folder as described in the Installation Steps section.

Project Structure:

src/main/
├── java/org/example/
│   ├── SuperEnchantments.java                        - Plugin entry point (onEnable / onDisable)
│   ├── command/
│   │   ├── SuperEnchantCommand.java                  - /superenchant command + tab completion
│   │   └── EnchantListCommand.java                   - /enchantlist command
│   ├── enchantment/
│   │   ├── CustomEnchantment.java                    - Base class for all custom enchantments
│   │   ├── CustomEnchantmentListener.java            - Event handling for custom enchantment triggers
│   │   ├── CustomEnchantmentManager.java             - Registry and cooldown tracking
│   │   ├── EnchantmentManager.java                   - Vanilla enchantment application logic
│   │   └── enchantments/
│   │       ├── ArrowStorm.java                       - Arrow storm ability
│   │       ├── BlazingShot.java                      - Blazing shot ability
│   │       ├── ExplosiveTip.java                     - Explosive tip ability
│   │       ├── FrostBite.java                        - Frostbite ability
│   │       ├── Lightning.java                        - Thunderbolt ability
│   │       ├── PackLeader.java                       - Pack leader ability
│   │       ├── Poison.java                           - Venom strike ability
│   │       ├── SoulDrain.java                        - Soul drain ability
│   │       └── VoidStep.java                         - Void step ability
└── resources/
    ├── config.yml                                    - All plugin configuration
    └── plugin.yml                                    - Plugin metadata, commands, permissions

License

This project is licensed under the MIT License - see the LICENSE file for details.

Screenshots

The screenshots below demonstrate Super Enchantments Plugin in action, showcasing vanilla level 255 enchantments, custom combat abilities, and utility enchantments across various environments.

Super Enchantments - Level 255 Unbreaking Super Enchantments - Max Fortune Pickaxe
Level 255 Unbreaking enchantment Max Fortune pickaxe
Super Enchantments - Wolf Summoning Super Enchantments - Blazing Shot Level 1
Wolf summoning ability Blazing Shot level 1 in jungle
Super Enchantments - Frostbite Hit Super Enchantments - Arrow Storm Faint
Enemy hit by Frostbite enchantment Arrow Storm causing enemy to faint and drop loot

About

Minecraft plugin that extends vanilla enchanting to levels 1-255 and adds nine custom enchantments with combat and utility abilities. Configurable cooldowns, particle effects, and context-aware tab completion. Supports Spigot, Paper, and Purpur.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages