Supported MC Versions1.16, 1.15, 1.14, 1.13, 1.12, 1.11, 1.10, 1.9, 1.8, 1.7
Basic Commands/tokenenchant, /tokenenchant_alias, /tokenenchant_rawmessage, /tokenenchant_aliasreload

The official home page of TokenEnchant can be found here
The official support is provided here.

If you're using explosive-like custom enchants (such as ExplosiveJackHammerLaser, etc.), we strongly suggest you to use VKAutoPickup 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, we suggest you to use EnchantmetnListing plugin to generate enchantIDs.yml file for your current system.  Once you have enchantIDs.yml, copy this file to your TokenEnchant folder and install TE v18.

  IMPORTANT


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).




NOTE: for 1.13.x and above servers, merging enchantments using an anvil block will properly display and charge exp value as shown below:




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
Sample Config:  The sample config (default config.yml) can be found at here.

Test Server: 

  • testserver.vk2gpz.com.

Supported Enchantments / PotionEffects (some are free and some are premium or sold separately):

  Vanilla
  Vanilla

Known Custom Enchantments (251 currently registered)

Supported region protection plugins:
 
  • ASkyBlock
  • BSkyBlock
  • Factions (other forks like SavageFactions should use this keyword)
  • FactionsUUID
  • Feudal
  • GriefPrevention,
  • Kingdoms
  • LegacyFactions
  • NovaGuilds
  • PlotMe
  • PlotSquared (v3, v4, and v5)
  • Plotz
  • PreciousStone
  • RedProtect
  • Residence
  • Towny
  • uSkyBlock
  • WorldGuard (v6 and v7)
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

Custom naming:
All custom effects supports "alias:" option so that you can use your own name (including color) for all effects (even vanilla enchantments!!)
The following example shows Efficiency level 13 and Excavation level 1 has been customised using "alias:" option.  With this option, Efficiency 13 will not show as "Efficiency enchantment.level.13" and you can control how you want it to show up!

For Developers:

You can access TokenEnchant's token management methods through its public methods:

import com.vk2gpz.tokenenchant.TokenEnchant;

public TokenEnchant getTokenEnchant() {
    Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("TokenEnchant");
    if ((plugin == null) || (!(plugin instances TokenEnchant))) {
        return null;
        }
    return (TokenEnchant)plugin;
}


...

TokenEnchant te = getTokenEnchant();

double token =  te.getTokens(player); //player can be OfflinePlayer
te.setTokens(player, amount); // current = amount
te.addTokens(player, amount);  // current = current +amount
te.removeTokens(player, amount);// current = current - amount

String balance = te.getTokensInString(player);  // token value in beautified string.