NOTE: if you're using EssentialsX on pre 1.13 server (such as 1.8.8), please use at least this version or newer
NOTE: if you're using Java 15 or above, install JSEngine plugin. It will provide a JavaScript processing engine missing in Java 15 or above.
If you're using explosive-like custom enchants (such as Explosive, JackHammer, Laser, etc.), we strongly suggest you to use AutoPickup to process TEBlockExplode event. It will provide much better performance and will reduce the lag from explosions.
Before you upgrade your TE from pre v18 to v18, please read this!!!!
IMPORTANT
Note: "invalid_in_region:" option is not appropriate for some custom enchantments. Please check the appropriateness of the use of "invalid_in_region:". This is for the performance reason. In order to make this option work for all effect, the plugin would need to keep track of all player movement, which is usually very costly operation.
The capability of TokenEnchant is featured in SSundee's latest Faction Series Youtube video. (Ofc, they have loads of (over 100 new) custom enchantments programmed using TokenEnchantAPI).
All custom enchantments are properly integrated into Minecraft's native Enchantment system, hence your custom enchantments will be available in various native mechanics without any special treatment by TokenEnchant :
- Enchantment Table,
- Anvil,
- Villagers,
- Dungeon chests, etc.
This plugin provides an Enchantment Sign, which a player would right-click to enchant an item he is holding. A player would need in-plugin tokens to enchant an item. You can specify what sort of enchantments you wish to provide, and which enchantment should be applied to what type of items in a config.yml.
You can also specify how the cost of enchantment at a different level will increase. You can provide your own costing formula in CostFormulae.js using JavaScript function.
The enchantment sign will display the amount of token a player would need. This sign is individually displayed. The player just needs to look at the sign with an item, which he wishes to enchant, in his hand. Then an appropriate token cost will be automatically displayed on the sign.
When you merging enchantments using an anvil on 1.8.x server, name change won't be picked up.
Command Alias:
- With new Token Alias Commands, you can use external plugins like Backpack plugin and use Tokens to give those features to players
Test Server:
- testserver.vk2gpz.com.
Supported Enchantments / PotionEffects (some are free and some are premium or sold separately):
Vanilla Enchantments: (39 types)
- Power (ARROW_DAMAGE)
- Flame (ARROW_FIRE)
- Infinity (ARROW_INFINITE)
- Punch (ARROW_KNOCKBACK)
- Sharpness (DAMAGE_ALL)
- BaneOfArthropods (DAMAGE_ARTHROPODS)
- Smite (DAMAGE_UNDEAD)
- Depth / Depthstrider (DEPTH_STRIDER)
- Efficiency (DIG_SPEED)
- Unbreaking (DURABILITY)
- FireAspect (FIRE_ASPECT)
- Frost / FrostWalker (FROST_WALKER)
- Knockback (KNOCKBACK)
- Fortune (LOOT_BONUS_BLOCK)
- Looting (LOOT_BONUS_MOBS)
- Luck (LUCK)
- Lure (LURE)
- Mending / Repair (MENDING)
- Respiration (OXYGEN)
- Protection (PROTECTIOHN_ENVIRONMENTAL)
- BlastProtection (PROTECTION_EXPLOSIONS)
- FeatherFall (PROTECTION_FALL)
- FireProtection (PROTECTION_FIRE)
- ProjectileProt (PROTECTION_PROJECTILE)
- Silktouch (SILK_TOUCH)
- Thorns (THORNS)
- AquaAffinity (WATER_WORKER)
- Sweeping / SweepingEdge (SWEEPING_EDGE)
- Binding / BindingCurse (BINDING_CURSE)
- Vanishing / VanishingCurse (VANISHING_CURSE)
- Loyalty (LOYALTY)
- Impaling (IMPALING)
- Riptide (RIPTIDE)
- Channeling / Channelling (CHANNELING)
- Multishot (MULTISHOT)
- piercing (PIERCING)
- quickcharge (QUICK_CHARGE)
- soulspeed (SOUL_SPEEd)
- cleaving (CLEAVING)
Vanilla PotionEffects: (11 types)
- Haste (Bukkit name: FAST_DIGGING)
- Speed (aka Gears) (Bukkit name: SPEED) :
- Nightvision (aka Glowing) (Bukkit name: NIGHT_VISION) :
- Jump (aka Springs , Anti Gravity) (Bukkit name: JUMP) :
- Regeneration (Bukkit name: REGENERATION);
- FireResistance (aka Obsidian Shield with duration: -1) (Bukki name: FIRE_RESISTANCE) :
- DamageResist (Bukkit name: DAMAGE_RESISTANCE
- Aqua (Bukkit name: WATER_BREATHING)
- Saturation (Bukkit name: SATURATION)
- HealthBoost (Bukkit name: HEALTH_BOOST)
- Strength (Bukkit name: INCREASE_DAMAGE)
Supported region protection plugins:
- ASkyBlock
- BSkyBlock
- Factions (other forks like SavageFactions should use this keyword)
- FactionsUUID
- Feudal
- GriefPrevention,
- IridiumSkyblock
- Kingdoms
- LegacyFactions
- NovaGuilds
- PlotMe
- PlotSquared (v3, v4, and v5)
- Plotz
- PreciousStone
- RedProtect
- Residence
- Towny
- uSkyBlock
- WorldGuard (v6 and v7)
Commands execution upon Enchantment activation:
As of v22.0.0, all custom enchants can now have:
Enchants:
MyEnchant:
...
levels:
1:
# '!' -> console, '>' -> op, '@' -> player
commands:
- "chance:0.4;!tokenenchant add %player% 3;msg %player% &aLucky Block! <nl>&aYou received 3 tokens!"
- "chance:0.03;!tokenenchant add %player% 1;msg %player% &aLucky Block! <nl>&aYou received one token!"
# if min max are specified, you can use %amount% placeholder int the command.
- "chance:0.1;min:5;max:10;!tokenenchant add %player% %amount%;msg %player% &aLucky Block! <nl>&aYou received %amount% token!"
- ...
Sign Usage:
Once you set the configuration, you just need to create an enchant sign:
- to place "Enchant" sign, you need to write !Enchant! in the 1st line, the placeholder "{ench_cost}" will be used to automatically display an appropriate cost.
- to place "Exchange" sign, you need to write !Exchange! in the 1st line
- to place "Withdraw" sign, you need to write !Withdraw! in the 1st line and the exchange rate placeholder "{ex_rate}" will be replaced by the exchange rate you defined in the config.yml.
- to place "ExpExchange" sign, you need to write !ExpExch! in the 1st line and the exp exchange rate placeholder "{exp_rate}" will be replaced by the EXP exchange rate you defined in the config.yml.
- to place "Repair" sign, you need to write !Repair! in the 1st line
NOTE: Sound enum IDs have been changed in 1.9. If you get errors saying Sound enum IDs you have in your config is not found, please use Sound enum ID from spigot version you're using. You can look up 1.8 Sound enum IDs at here