By continuing to use this site, you agree to the Terms of Service of this website, including usage of cookies.

OK, Don't show this again

An open source custom enchantment plugin for PocketMine-MP
version 3.0.9
Direct Download How to install?
Switch version
1674 Downloads / 65345 Total
69 Reviews
Plugin Description §

PiggyCustomEnchants Poggit-CI Discord

PiggyCustomEnchants is an open-sourced custom enchants plugin for PocketMine-MP featuring over 90 custom enchantments.


Q: How do I create/use an enchanted book? A: If you want to create an enchanted book, use the /ce enchant command on a normal book. Afterwards, you place the item you want to enchant on top of the enchanted book. It will then enchant your item.


  • Basic knowledge on how to install plugins from Poggit Releases and/or Poggit CI
  • PMMP 4.2.0+
  • MCPE protocol 554 (v1.19.30)

Installation & Setup

  1. Install the plugin from Poggit.
  2. (Optional) Configure your PiggyCE
    • Enchantment rarities, max levels, names, descriptions, & chances can be configured in their respective JSON files.
      • chances.json: Allows custom chance multipliers for any reactive enchantments.
        • Reaction chances are calculated by chance multiplier * enchantment level.
        • The chance multiplier by default is 100 for most enchantments.
    • Extra enchantment settings can be found under extra_data.json
    • The config.yml has many options. Some that you should pay attention to are:
      • disabled-enchants: Allows certain enchants to be disabled

             - Porkified
      • per-world-disabled-enchants: Allows certain enchants to be disabled in specific worlds

             # Disables Porkified & Volley in PlotWorld
               - Porkified
               - Volley
             # Disables Jetpack in SurvivalWorld
               - Jetpack
      • world-damage: Toggles world damage for explosive enchantments

  3. (Optional) Install additional plugins supporting PiggyCE:
  4. You're done! Start your server.


Command Description Permissions Aliases
/customenchant Main command for PiggyCustomEnchants piggycustomenchants.command.ce /ce
/customenchant about Shows version and author information piggycustomenchants.command.ce.about /ce about
/customenchant enchant Command to enchant an item with custom enchants piggycustomenchants.command.ce.enchant /ce enchant
/customenchant help Lists all PiggyCustomEnchant commands /ce help
/customenchant info Gives information on a custom enchant /ce info
/customenchant list Lists all PiggyCustomEnchants enchants piggycustomenchants.command.ce.list /ce list
/customenchant nbt Outputs the NBT of the held item piggycustomenchants.command.ce.nbt /ce nbt
/customenchant remove Removes a custom enchant from the held item piggycustomenchants.command.ce.remove /ce remove


Permissions Description Default
piggycustomenchants Allows usage of all PiggyCustomEnchants features op
piggycustomenchants.command Allow usage of all PiggyCustomEnchants commands op
piggycustomenchants.command.ce Allow usage of the /customenchant command op
piggycustomenchants.command.ce.about Allow usage of the /customenchant about subcommand true
piggycustomenchants.command.ce.enchant Allow usage of the /customenchant enchant subcommand op Allow usage of the /customenchant help subcommand true Allow usage of the /customenchant info subcommand true
piggycustomenchants.command.ce.list Allow usage of the /customenchant list subcommand true
piggycustomenchants.command.ce.nbt Allow usage of the /customenchant nbt subcommand true
piggycustomenchants.command.ce.remove Allow usage of the /customenchant remove subcommand op
piggycustomenchants.overridecheck Allow overriding of custom enchant level limit and item restriction false

Issue Reporting

  • If you experience an unexpected non-crash behavior with PiggyCustomEnchants, click here.
  • If you experience a crash in PiggyCustomEnchants, click here.
  • If you would like to suggest a feature to be added to PiggyCustomEnchants, click here.
  • If you require support, please join our discord server here.
  • Do not file any issues related to outdated API version; we will resolve such issues as soon as possible.
  • We do not support any spoons of PocketMine-MP. Anything to do with spoons (Issues or PRs) will be ignored.
    • This includes plugins that modify PocketMine-MP's behavior directly, such as TeaSpoon.

Additional Information

  • Detailed Plugin Setup, Custom Enchantment List, & API Documentation available at PiggyDocs.


   Copyright 2017 DaPigGuy

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   See the License for the specific language governing permissions and
   limitations under the License.

What's new §
  • Update protocol to 560 for MCBE v1.19.50
  • Bumped version to 3.0.9

Full Changelog: 3.0.8...3.0.9

  • Update protocol to 557 for MCBE v1.19.40
  • Bumped version to 3.0.8

Full Changelog: 3.0.7...3.0.8

  • Update protocol to 545 for MCBE v1.19.21
  • Bumped version to 3.0.6

Full Changelog: 3.0.5...3.0.6

  • Update protocol to 545 for MCBE v1.19.21
  • Bumped version to 3.0.6

Full Changelog: 3.0.5...3.0.6

  • Update protocol to 544 for MCBE v1.19.20
  • Bumped version to 3.0.5

Full Changelog: 3.0.4...3.0.5

  • Update protocol to 534 for MCBE v1.19.10
  • Bumped version to 3.0.4

Full Changelog: 3.0.3...3.0.4

  • Update protocol to 527 for MCBE v1.19.0
  • Bumped version to 3.0.3

Full Changelog: 3.0.2...3.0.3

  • Fixed inability to enchant custom armor items
  • Fixed item duplication caused by the Soulbound enchant
  • Added an option to disable entity damage for the Explosive enchant
  • Bumped MCPE protocol to 503
  • Bumped version to 3.0.2

Full Changelog: 3.0.1...3.0.2

  • Fixed a crash on unregistering custom enchantments (#384)
  • Fixed several issues related to combining enchantment books
    • Fixed regression in v3.0.0 removing ability to upgrade enchantments by merging two of the same level (#359)
    • Fixed ability to merge an enchanted book with a normal book
    • Fixed ability to merge two enchanted books with identical enchantment types
  • Bumped version to 3.0.1

Full Changelog: 3.0.0...3.0.1

  • Fixed crash when using /ce enchant form
  • Fixed Aerial enchant increasing damage when on ground & not off ground
  • Fixed Aerial, Backstab, Charge, & Headhunter not correctly scaling damage
  • Fixed numerous crashes related to toggling armor enchants
  • Enchant display names are now better reflected in command responses & menus
  • Migrated to DaPigGuy/[email protected] for improved auto-update checks.
  • Updated DaPigGuy/FormAPI-4.0.0 to 2.1.0
  • Updated Paroxity/Commando to 3.0.0
  • Support PMMP API 4.2.0
  • Bumped version to 3.0.0

Full Changelog: 2.4.6...3.0.0

  • Bumped MCPE protocol to 486
  • Bumped version to 2.4.6
  • Bumped MCPE protocol to 475
  • Bumped version to 2.4.5
  • Bumped MCPE protocol to 471
  • Bumped version to 2.4.4
  • Bumped MCPE network protocol to 465
  • Bumped version to 2.4.3
  • Bumped MCPE network protocol to 448
  • Bumped version to 2.4.2
  • Bumped MCPE network protocol from 431 to 440 (for MCPE 1.17)
  • Bumped version to 2.4.1
  • Changes for MCPE 1.16.220
  • Custom Enchantment fixes:
    • Jetpack (#332)
      • Fixes a crash caused by spamming Jetpack with low power.
      • Cooldown added for Jetpack activation. By default, the cooldown is 25 and can be modified in extra_data.json.
      • Added a second low-power drain bar that drains twice as fast.
    • Shrink / Grow (#341)
      • Added shrink/grow power remaining tip.
      • Un-toggling shrink/grow will trigger the cooldown. By default, the cooldown is 75 seconds and can be modified in cooldowns.json.
    • Lavawalker
      • No longer turns flowing lava into obsidian.
      • Lava with non-air blocks above will not turn into obsidian.
      • Performance improvements.
    • Driller
  • Set MCPE network protocol to 431
  • Bumped PMMP API to 3.19.0
  • Bumped version to 2.4.0
  • Moved enchantment chance configuration outside of config.yml & into chances.json
  • Fixed crash with high levels of Molten enchantment
  • PMMP 3.14.0: Fixed error caused by changes to InventorySlot, InventoryContents, & SetSpawnPosition packets
  • Bumped PMMP api version to 3.14.0
  • Bumped version to 2.3.0
  • Switched to ParoxityTeam/Commando
  • Improved update notifier
  • Disallow combining of enchanted book with no enchantments (#300)
  • Fixed Porkified crash on PMMP 3.13.0
  • Bumped minimum PMMP version to 3.13.0
  • Bumped version to 2.2.0
  • Allow combining of two books with the same enchants
  • Cleaned up virion checks
  • CustomEnchantsCommand now implements PluginIdentifiableCommand
  • Fixed held item enchants retaining when swapping item in same slot
  • Bumped version to 2.1.8
  • Fixed Overload + combat logger plugins resulting in a crash
  • Bumped version to 2.1.7
  • Fixed crash when using Deep Wounds (#289)
  • Bumped version to 2.1.6
  • Fixed errors on plugin installations after 2.1.4 (#287)
  • Bump version to 2.1.5
  • Added customizable enchantment cooldowns (#271)
  • Update Commando to 0.6
  • Fixed typo in /ce usage
  • Bumped version to 2.1.4
  • Add option to disable PiggyCE enchantment books (#274)
  • Rarities are now customizable
  • Telepathy now drops items when inventory is full
  • Simplified CE classes (#268)
    • Cleaned up CustomEnchant constructor
    • Simplified defining usage/item types (backwards compatible)
    • Cleaned up RadarEnchant class
  • Fixed enchantment books taking several tries to enchant
  • Bump version to 2.1.3
  • Fixed hardcoded base value in Grow enchant
  • Nuked majority of @param & @return PHPDocs
  • Bumped version to 3.11.2
  • Added /ce remove
  • Added Lucky Charm enchantment
  • Majority of values used by enchantments are now configurable
  • Reaction chances can now be up to 5 decimal places
  • Telepathy now affects XP
  • Fixed issues with Shielded & Obsidianshield toggling off
  • Fixed possible recursion with enchantments breaking blocks
  • Cleaned up EventListener
  • Enchantment "display names" are now customizable
  • Enchantment max levels are now customizable
  • Added "ally checks" allowing other plugins to exempt allied players from specific enchantments (forcefield, autoaim, etc)
  • Jetpack enchant now speeds up when sprinting
  • Quick equipping armor now replicates vanilla behavior
  • Elytras now count as chestplates
  • Fixed spider enchant unintentionally activating on half blocks
  • Fix Commando packet hooker not being registered
  • Fix crash related to parachute
  • Fix crash related to driller (#255)
  • Fixed potential crash w/ anti knockback
  • Fix potential error with remote enchant disabler
  • Minor API changes
    • Added methods ReactiveTrait::getBaseChance(), ReactiveTrait::getChanceMultiplier(), ReactiveTrait::setChanceMultiplier()
    • Changed 1st parameter of ReactiveTrait::getChance() to player (Potential BC break)
    • Changed ReactiveTrait::getChance() return type to float
    • Added "maxLevel", "displayName", & "description" parameters to CustomEnchant constructor
    • Added methods CustomEnchant::getDisplayName() & CustomEnchant::setDisplayName()
    • Added methods CustomEnchant::getDescription() & CustomEnchant::setDescription()
    • Removed PiggyCustomEnchants::getEnchantmentDescription() (Potential BC break)
    • Added internal method PiggyCustomEnchants::getEnchantmentData()
    • Marked PiggyCustomEnchants::areFormsEnabled() as internal
  • Fixed autoaim (#249)
  • Fixed crash w/ Overload (#229)
  • Fixed Jackpot unintentionally giving iron ingots (#244)
  • Fixed mining Lapis Ore with smelting giving dye (#236)
  • Possible fixed a crash w/ Molten (#237)
  • Fix potential crash when checking remotely disabled enchants
  • Use particle id constant for 3.11.2
  • PHPStan Level 7
  • Fix crash related to PMMP 3.11.2
  • Fix PiggyCustomEnchantsShop - @JaxkDev
    • When using PiggyCEShop it send the enchant name with spaces, causing it to not get the correct enchant.
  • Fixed duplication bug - @luca28pet
    • caused armor items were copied over and over into the first 4 inventory slots
  • Bump to v2.0.4
  • Added virion checks on startup
  • Fixed being unable to interact with items enchanted only with vanilla enchants
  • Fixed incorrect command name being registered
  • Parachute no longer activates when flying/climbing
  • Fixed being unable to enchant books
  • Fixed enchantments on armor disabling & enabling when durability changes
  • Fixed potential crash caused by Hallucination
  • Fixed potential crashes/issues with max health caused by Overload
  • Bombardment Enchantment
  • Deep Wounds Enchantment
  • Homing Enchantment
  • Grow & Shrink enchantment
  • Jetpack now allows disabling mid air w/ Parachute
  • Parachute no longer activates while Jetpack is active
  • Added dust particles back to Poisonous Cloud enchantment
  • Changed forcefield particles
  • Cactus no longer attacks non-living entities
  • Added missing ignoreCancelled & priority annotations
  • Fixed errors w/ Auto Aim & Volley
  • v2.0.0 rewrite!
  • Enabling/disabling enchantments in certain worlds/globally is now built into the plugin. (#94)
  • Added a remote enchant disabler for emergency situations (disable affects all servers).
  • Custom enchantments that are disabled will not have their tasks enabled.
  • Execution chances of enchantments are now configurable.
  • Custom enchantments are now registered into PocketMine-MP.
  • Now using Commando virion for command handling.
  • The form version of /ce has been improved upon.
  • Explosive enchants now have a toggle for world damage.
  • Added checks for applying books. (#209)
  • Parachute now uses negative Levitation effect to simulate slow falling.
  • Fixed a few CE descriptions
  • Fixed issue where throwing a projectile and switching to a different weapon would trigger the custom enchants of that weapon. (#157)
  • Fixed "WitherSkull Enchant does not apply Wither Effect." (#182)
  • Fixed pigs/wither skulls remaining. (#189)
  • "Maximum -5 is less than the minimum 0" issue has been fixed. (#211)
  • Bump to v1.4.6, Entity->Actor changes for 1.12
  • v1.4.5, add lore/name remove on removeEnchant
  • Closes #198, given choice to use name / lore, or both.
  • Closes #194, use Item::setLore instead of Item::setCustomName
    • Enchantments prior to this change will continue to work, but all new enchantments added will be added to lore instead of name.
  • Bump to v1.4.3
  • Cleanup
  • Fix #171
  • Fix #180
  • Fixed #173 (PR by @r7vmc)
    • Fixed Argument 2 passed to pocketmine\entity\Entity::createEntity() must be an instance of pocketmine\level\Level, null given
  • Fixed PiggyLightning
  • Fixed a bug fix
  • Fixed autorepair not affecting armor
  • Fixed errors with Cactus and Forcefield + Added PHPDocs for fields
  • Fixed forms
  • Fixed #173
    • closing the entity doesn't return the level nor playing Hit Ground Sound
    • but Flagging for despawn does it
  • Fixed soulbound on armor
  • Update Tank enchantment description by @Haxley
  • PiggyObsidian: remove extra parameter in onBreak()
  • Poggit: Comply with Rule C1a, B3, and C2a
  • Update Player::dataPacket() to Player::sendDataPacket()
  • Update PluginManager->callEvent() to Event->call()
  • Update to libFormAPI, bump to v1.4.0
  • Bump PMMP API to 3.2.0


  • Fixed effect split changes to Endershift not applying.
  • Fixed error with Explosive
  • Fixes to tasks for scheduler changes
  • Fixed #159 (ArgumentCountError: "Too few arguments to function pocketmine\item\enchantment\Enchantment::__construct())
  • Fixed #160 (Removal of the isAxe(), isPickaxe(), etc.)
  • Fixed #163 (EventListener does not properly check for enchantment compatibility when enchanting with books)
  • Fixed #164 (Typehints to Enchantment class)
  • Fixed #165 (Changes to EntityDamageEvent)
  • Fixed #166 (Errors with HallucinationTask)


  • Bumped API to 3.0.0


  • Added API to unregister enchants and add enchant incompatibilities
  • Added Description parameter to API
  • New enchants!
    • Auto Aim: Aim at nearest target
    • Poisonous Cloud: Create a cloud of poisonous gas around you
    • Shielded: Gives resistance per level per piece of armor


  • Armor enchants now effect weapon enchants
  • CE command no longer ignore arguments when Forms are enabled
    /ce enchant
    • Before: Brings you to the CE Menu form
    • After: Brings you directly to the Enchant form
  • Changes to Forcefield
  • Improve checking of enchant incompatibilities
  • Improvements to Radar
  • Improvements to Revive
    • Revive now stacks
    • There are now side effects (Slowness & Nausea)
    • A particle beam will launch into the sky when Revive is activated to signal nearby enemies!
    • A tip will now indicate that you were revived
  • Improvements to Spider
  • Items from Porkified now despawn within 15 seconds to prevent lag
  • Main::addEnchantment() now matches Item::addEnchantment()
  • Now using PMMP's Enchantment Registering function
  • Volley Arrows will now despawn on collision.
  • Update to 3.0.0-ALPHA11
  • Soulbound now stacks
  • Wither Skulls & Fireballs will despawn when colliding with a wall


  • Fix capitalization.
  • Fixed Radar detecting dead players
  • Fixed Wither Skull & Fireballs drifting endlessly.
  • Fixed error with other plugins registering enchanted books (#96)
  • Fixed error with enchanted books (#108)
  • Fixed Hallucination not working with the latest NBT changes
  • Resolved Compatibility Issues with PureEntitiesX
  • Stop adding effect if player already has it (#98)


  • Support for new PMMP enchant API


  • New Enchants!
    • Backstab: When hitting from behind, you deal more damage.
    • Disarmor: 10l% chance to disarmor enemy
    • Focused:Nausea will affect you less
    • Vacuum: Suck up items in a 3l radius
  • New Subcommand
    • /ce info: Get description of an enchant


  • Radar now only shows the distance when held
  • API Changes
    • CustomEnchants::getEnchantByName() has been changed to CustomEnchants::getEnchantmentByName()


  • Fix duplication w/ Driller
  • Fix error with Hallucination when used on mobs
  • Fixed Explosive acting like a normal explosion


  • Added an option to disable jetpacks in certain worlds


  • Force now affects Volley, Porkified, Blaze.
  • Now fully using TextFormat constants
  • Updated entity classes. Fireballs now despawn


  • Fixes issue #28 (ErrorException: "Division by zero")
  • Fixes issue #59 (Armor duplicating after death)
  • Fixed rarity colors not working

using v3.0.12
16 Feb 24
PM5 please
using v3.0.12
13 Nov 23
when for pm5? :(
using v3.0.12
18 Aug 23
PM5 :)
using v3.0.12
04 Jul 23
Amazing, Just Please a API update soon, thanks
using v3.0.12
13 Jun 23
must have ! brilliant api update?
using v3.0.11
05 May 23
This is very cool!
using v3.0.11
04 May 23
Please Update To Version 1.19.80 (protocol version 582) Thanks.
using v3.0.9
09 Mar 23
Please Update To Version 1.19.62 (Protocol: 567) Thanks.
using v3.0.8
06 Nov 22
A PLUGIN WAS INVOLVED IN THIS CRASH BAD PLUGIN: PiggyCustomEnchants Error: Amplifier must be in range 0 - 255, got -3 File: pmsrc/src/entity/effect/EffectInstance Line: 111 Type: InvalidArgumentException Backtrace: #0 pmsrc/src/entity/effect/EffectInstanc
using v3.0.7
22 Oct 22
Amazing Plugin! But can you add an optional feature where combining the ce book with a item has a chance to fail and you lose the book?
using v3.0.7
19 Oct 22
A PLUGIN WAS INVOLVED IN THIS CRASH BAD PLUGIN: PiggyCustomEnchants Error: Amplifier must be in range 0 - 255, got -3 File: pmsrc/src/entity/effect/EffectInstance Line: 111 Type: InvalidArgumentException Backtrace: #0 pmsrc/src/entity/effect/EffectInstanc
using v3.0.1
18 Apr 22
Good Plugin
using v3.0.1
11 Apr 22
using v3.0.0
16 Mar 22
using v3.0.0
28 Feb 22
using v3.0.0
22 Feb 22
using v3.0.0
22 Feb 22
using v3.0.0
22 Feb 22
4.0.0 nice!
using v2.4.5
02 Feb 22
I'm appreciated because it's 2022 still using api 3.x.x
using v2.4.5
20 Jan 22
using v2.4.5
16 Jan 22
using v2.4.5
16 Jan 22
using v2.4.4
09 Dec 21
using v2.4.4
05 Dec 21
Please up to 1.18 (protocol 475) ill give 5 star:)
using v2.4.4
09 Nov 21
Can you add autosell?
using v2.4.2
15 Jul 21
Auto sell custom enchant?
using v2.4.1
02 Jul 21
The best CustomEnchant plugin of all time! <3 love it
using v2.4.0
04 Jun 21
amazing plugin for my friend's very pocketmine SMP, with members comparing it to pokemon cards L
using v2.3.0
07 Apr 21
hello, if you could update this to the new protocol that would be great thanks
using v2.3.0
07 Apr 21
by far my favorite pocketmine plugin , although it needs an update , especially with the latest versions of pocketmine mp.
using v2.3.0
11 Dec 20
Great plugin:)add chances?like has a 10% success and 20% fail
using v2.3.0
28 Jul 20
It was working fine now it says (disabled) in my friend"s console?
using v2.3.0
26 Jul 20
using v2.2.0
26 Jun 20
this plugin dont work in pocketmine 1.14.0, please patch this. But Good Plugin :D
using v2.2.0
22 Jun 20
How do I do the nbts or see the list
using v2.1.7
19 May 20
Could you please make a enchant to break bedrock. or i can do it myself.
using v2.1.7
23 Apr 20
using v2.1.6
18 Apr 20
using v2.1.4
15 Apr 20
using v2.1.3
05 Apr 20
amazing plugin but the 2.1.3 is giving me and error rn just downloaded it
using v2.1.3
05 Apr 20
oink :)
using v2.1.3
04 Apr 20
using v2.1.2
05 Apr 20
im getting an overall error
using v2.1.0
23 Feb 20
Ayyy 2.1.0
using v2.0.4
09 Feb 20
A feature where with a command or an item obtainable whcih u can use to increase the lvl of an enchantment, max lvl can be configurable amount, add a system in which u can add an configurable amount of enchantments [Not vanilla enchants] in an item
using v2.0.4
08 Feb 20
using v2.0.4
21 Jan 20
top 11/10
using v2.0.4
07 Jan 20
great, but being able to remove an item's ce would be an awesome feature
using v2.0.3
28 Dec 19
Very good, though adding
using v2.0.3
25 Dec 19
exelent plugin 💪😀👍

Reply to review by :

/ 5
Supported API versions
Producers §
  • Collaborators:
    • @Aericio
    • @DaPigGuy
  • Contributors:
    • @95CivicSi
    • @Awzaw
    • @DPG896
    • @Haxley
    • @JaxkDev
    • @JoshuaPHYT
    • @MrNinja008
    • @Muqsit
    • @RubyTemple
    • @TheGamingSnail
    • @luca28pet
    • @r7vmc
License §
Manage entities
Manage blocks/items
Edit world
Asynchronous tasks

You can leave one review per plugin release, and delete or update your review at any time

/ 5