EconXP
Overview
version: 0.5.0
| craftbukkit: #1.3.1
| Source | Developer API
Features
- Let players use their experience points to buy things! Since people can already buy Enchantments with experience points, why not buy be able to buy from shops as well!
- Supported by Vault!
- Works with Minecraft 1.3.1!
- Simple config file!
- No permission system needed (though there are permissions available if you want them)!
Description
EconXP is an economy system that users the player's experience points (the green orbs collected from monsters) as the currency. With the introduction of Enchanting costing experience, it will be interesting to see economies based around the concept of trading experience points, especially since they are already naturally collected and used, thus giving them an inherent value.
EconXP is now supported by Vault, so any shop or currency-related plugin that uses Vault can have EconXP as its currency type! I will also be adding Register support later, allowing EconXP to be used with many existing shop and economy-related plugins.
Minecraft Levels and Experience
Minecraft's levelling system is a bit strange and can be confusing to some people. Here's a quick explanation of how it works.
Players collect experience by slaying monsters, and the experience appears as green orbs on the ground. Upon receiving experience, players gain levels. As of MC 1.3.1, the calculations have changed for levels. I'm too lazy to write out the actual equations, though, so you'll have to check out the Minecraft wiki: MinecraftWiki.net
Developer API
Check out the API description here: Developer API
Configuration File
Configuration file can be found after starting the server, under the EconXP folder (inside the plugins folder).
Quote from the Config file:death-drop-percent: 100 - [0 to 100] By default, all players drop all of their experience (rather than only 60% of the old total). Do NOT use decimals here (or a percent sign). Set this to 0 (zero) if you do not want players to lose their experience points when they die.
Commands
Commands are OP-only by default, with the exception of the balance (self-only) command. Therefore, players should not be able to transfer experience unless given permission to use the command. All commands map 1-to-1 with the respective permission (see the Permission section below).
All commands can use abbreviated forms. For example, you may type /exp bal instead of /exp balance. Player names and amounts can not be abbreviated, however (for obvious reasons). Capitalization of player names does not matter, though.
All <amount> and <factor> values must be positive (greater than or equal to zero). All <amount> values must be whole numbers.
Quote from the Command list:/exp OR /econxp - The base commands (ie. /exp add Agnate 5 ). Either base can be used.
/exp add <player> <amount> - Add experience to the player.
/exp subtract <player> <amount> - Subtract experience from the player.
/exp multiply <player> <factor> - Multiply experience of a player by the factor.
/exp divide <player> <factor> - Divide experience of a player by the factor.
/exp set <player> <amount> - Set the experience of a player.
/exp clear <player> - Clear ALL of the experience of a player.
/exp balance - See your current experience points.
/exp balance <player> - See the current experience of a player.
/exp give <player> <amount> - Give some of your experience to a player.
/exp transfer <giver> <amount> <receiver> - Transfer from Giver to Receiver.
Permissions
Permissions are required to use any of the commands. Players can receive experience without having any permissions.
Quote from the Permission nodes:econxp.* - Allows all commands. econxp.add - Allows player to use the add command.
econxp.subtract - Allows player to use the subtract command.
econxp.multiply - Allows player to use the multiply command.
econxp.divide - Allows player to use the divide command.
econxp.set - Allows player to use the set command.
econxp.clear - Allows player to use the clear command.
econxp.balance - Allows player to use balance to check players' balances.
econxp.give - Allows player to give their own experience to a player.
econxp.transfer - Allows player to use the transfer command.
To Do List
My current to-do list:
- Finish Register support. (on hold until Vault is finished)
- Add some examples to the Develop API.
Changelog
View the Change Log.
Credits
- Flamers for helping with the banner's screenshot!
- Nijijokun for posting his iConomy source (and thus helping me figure out JNBT)!
- garbagemule for inspiration and code help along the way!
@SalieriC EconXP was designed to facilitate transactions using experience points. It doesn't provide sources of the experience points, or alter how those points are spent.
The reason I'm recommending others mods for limiting/altering experience from mining/smelting is that, like yourself, other people probably want to exclude this from their server for a variety of reasons, and thus there will be several well-designed mods to handle this. If no others come out, I will consider creating a plugin for you that lets you adjust the values of experience received from mining/smelting, but I don't wish to include it with EconXP.
EconXP currently doesn't alter gameplay in any form, other than providing an API for Vault and other plugins to treat experiences points like a currency. This makes it much easier to maintain if it doesn't delve into modifying gameplay, and keeps it simple for other server admins who, like me, don't care where people get their experience points from.
Hope this clarifies that it wasn't a lack of economics knowledge that drove my decision, but a desire to keep things simple and cleanly compartmentalized.
@AgnateHeartstoneEconomy and controlling of it's currency goes hand in hand; since I'm a student of economies it seems obvious for me so I don't see why you're excluding this for your economy plugin. But nevermind, it's your project.
@SalieriC EconXP doesn't modify how experience is earned. To maintain simplicity, I'd hunt out another mod that will remove/change the experience obtained from mining and smelting. Not really in the scope of EconXP, sorry!
I still love this. :)
In Version 1.3 of MC players are rewarded with xp for several things, which makes xp less rare as I would like to have it. Is there a plugin to controll this? Otherwise I'd suggest doing this inside EconXP.
Just uploaded version 0.5.0 with the updated experience ranges for leveling in MC 1.3.1. However I did not add non-player account support yet, sorry!
File will be downloadable as soon as it gets approved. :)
can't wait to see support on non-player accounts
@goldseed Yeah... I've been meaning to add this, but haven't gotten around to it. Sorry!
This plugin does not support non-player accounts...
@lukke100
Using this method to add town banks works, but after awhile the towns suddenly revert back to having "-1 experience." After a server restart the town goes back to what it had before, I feel like the town's user file is being disabled. Did you have a fix for this?
@AgnateHeartstone So, when Minecraft 1.3 eventually comes it, it looks like the calculations for experience are going to change, so everyone will require a new version of EconXP. Looks like the date is August 1, so just thought I'd mention it! :)
@lukke100 Oooh, very smart! And thanks. :)
I freaking love this plugin, its incredibly simple and uses the player's file to store the amount of money. While automated non-player accounts would be really nice, you can actually create a non-player account by duplicating and renaming a player's file in the players folder in the map folder. I have been doing this to support Towny by naming false players "town-example" or "nation-example." Other than that, this thing works like a charm!
EDIT: Also, ChestShop seems to work like a charm with this, as long as you have vault.
I like it :3
Should be very nice if had a way to store the exp[money], like a bank :D
@awesomedude2121 You need to find a shop plugin that supports Vault.
How do you setup a shop???
@CraggitServers I believe it's just the percentage dropped on the ground, so it can be picked up again.
Hi, this seems like an awesome plugin that i have been looking for. 1 quick question though.
Q. In the config where it says drop amount on death, is that dropping the xp at your point, or loosing it from the game never to been seen again?
If loosing it, then would it be possible to have 2 seperate configa, 1 for amount to drop, amd another for amount to loose (both in percentage.
Thanks.
You have to put it and Vault into the Plugins folder of your Minecraft server. Then install a plugin that supports Vault (like an item shop, or slot machine, etc.), and players can pay for things using their experience points.
how do i install it?
@AgnateHeartstone
I am getting the same problem with the enchanting taking it away from the bar but when I log out and back into the game all the exp is back.. I am using the plugin EasyEnchant for enchanting so not sure if that matters.. But it dropped me like 2,500 exp on the bar but when something else needed exp it gave it all back.. So I am guessing it was just the bar moving not the actual exp getting removed