MinevoltGems
1.2Trade, buy, and sell virtual Gems! Use gems to sell packages on your server shop!
This plugin allows you to use a secondary currency on your server. Everything is stored in MySQL or Flatfile. There are permissions and commands and an API in order to hook into other plugins or just to use the plugin as an API. Nearly every message is completely configurable, the currency name is configurable, the plugin command is configurable; the only thing that isn't is the sub-commands. Every message supports PAPI placeholders, mvdwPlaceholders, built-in placeholders listed in language file, colors, and hex color codes. It has offline support for offline players. It has built-in placeholders for PAPI and mvdwPlaceholderAPI.

PlaceHolders
Placeholders:
PAPI:
%MinevoltGems_balance%
mvdwPlaceholderAPI:
{MinevoltGems_balance}
Commands
Commands:
/<command> - Get balance if player, help if Console
/<command> help – Gets player help
/<command> bal/balance – Get balance if player
/<command> pay/send <player> <amount> - Pay a player an amount of gems [gems.pay]
/<command> bal/balance <player> – Get balance of other player [gems.balance.other]
/<command> add/give <player> <amount> - Give player an amount of gems [gems.add]
/<command> remove/take <player> <amount> - Take away an amount of gems [gems.remove]
/<command> set <player> <amount> - Set players gems to an amount [gems.set]
API Usage
API Usage:
GemsAPI.isRegistered(playerName/Player/UUID)
Returns true is player is registered. Should do this before doing anything else
GemsAPI.register(playerName/Player/UUID, int amount)
Registers player with set amount of gems
GemsAPI.getGems(playerName/Player/UUID)
Get amount of Gems player has. Returns false if player isn't registered.
GemsAPI.setGems(playerName/Player/UUID, int amount)
Set amount of Gems player has. Returns false if player isn't registered.
GemsAPI.addGems(playerName/Player/UUID, int amount)
Add to the amount of Gems player has. Returns false if player isn't registered.
GemsAPI.removeGems(playerName/Player/UUID, int amount)
Remove from the amount of Gems player has. Returns false if player isn't registered.
GemsAPI.getStartingAmountFromConfig()
Gets the starting amount of gems registered in the config.
GemsAPI.getUUIDfromPlayerName(String)
Gets UUID of a player by their name
GemsAPI.getPlayerNamefromUUID(UUID)
Gets a player name from UUID
ConfigFile:
## Language to use for commands and messages.
## Currently only English is available. Value is the name of the file
## in languages subfolder without .yml you intend to use.
## If you develop another language file please send it to me!
language: en
## The message prefix when thre plugin sends messages and also
## for console messages
messagePrefix: "&8[&bMine&evolt&aGems&8]&r"
## Whether to automatically register any joining player that isn't
## already registered in the database with the starting amount.
## You probably don't want to touch this unless you're using the plugin
## strictly as an API and want to handle this your own way.
autoRegisterNew: true
## Amount of gems each player starts with (a whole integer number)
start-amount: 0
Storage:
## Storage Method. Can be "file" or "mysql"
StorageMethod: file
## Settings for MySQL if "mysql"
mysql:
host: 127.0.0.1
port: 3306
database: MinevoltGems
table: minecraft
username: root
password: example
useSSL: false
## Save interval for File based storage, in minutes
file:
save-interval: 5
LanguageFile:
## In-game main plugin Command
commandName: "gems"
## Currency name in messages
currencyName: "&egems"
## These are messages send in game when commands are used. There are some placeholders
## You have to use.
## %plugin_prefix% = plugin prefix you set in config.yml %command% = Name of the command you set above
## %gems% = currencyName %name% = name of person referred to
## %amount% = amount of gems
## You can also use Papi Placeholders and mvdwPlaceholderAPI placeholders anywhere in here
## Also Hex Colors work like <#2AA8F2> and <gradient:#2AA8F2:#8BD448>
balance: "%plugin_prefix% &7You have %amount% %gems%"
balanceOther: "%plugin_prefix% %name% &7has &b%amount% %gems%"
helpPlayer: "%plugin_prefix% &7Use&8: &8/&e%command% &bbal&8|&apay&8 &8<&bPlayer&8> &8<&bAmount&8>"
helpMessage: "%plugin_prefix% &7Use&8: &8/&e%command% &bbal&8|&aadd&8|&cremove&8|&eset &8<&bPlayer&8> &8<&bAmount&8>"
noPermission: "%plugin_prefix% &cYou don't have permission!"
notRegistered: "%plugin_prefix% &cThe player %name% is not Registered!"
gemsAdded: "%plugin_prefix% &f%amount% %gems% have been successfully added to %name%'s account!"
gemsRemoved: "%plugin_prefix% &f%amount% %gems% have been successfully removed from %name%'s account!"
gemsAddedPlayer: "%plugin_prefix% &f%amount% %gems% have been added to your account!"
gemsRemovedPlayer: "%plugin_prefix% &f%amount% %gems% have been removed from your account!"
notEnoughGems: "%plugin_prefix% &cNot enough %gems% &cin %name%'s account!"
gemsSet: "%plugin_prefix% &aYou have successfully set %name%'s %gems% &ato %amount% %gems%!"
gemsSetPlayer: "%plugin_prefix% &aYour %gems% &ahave been set to &f%amount% %gems%!"
cantSetGems: "%plugin_prefix% &cYou can't set %gems% &cto a negative amount!"
gemsPaid: "%plugin_prefix% &aYou have successfully sent &f%amount% %gems% &ato &f%name%'s &aaccount!"
gemsPaidPlayer: "%plugin_prefix% %name% has sent you &f%amount% %gems%!"
cantPayYourself: "%plugin_prefix% You cannot pay yourself!"Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta