ItemsForXP
Buy items with your XP (experience) via signs. Simple!
Summary
"It's all about special signs!"
Many of us love the experience point system. Some of us would also love to have another way to gain some of those hard to find/craft items without cheapening the gameplay. Put these two ideas together and you get ItemsForXP! It's inspired by the instant gratification of plugins like SignShops. ItemsForXP allows you to setup signs with a simple, specific layout and to spend your hard earned XP on much needed materials and items. Permissions is normally required to place one of these special signs and also to use the sign. However, you can disable Permissions in the config file.
Xtra Features
Now, you can have even more goodness with the new Xtra Features add-on. Players can sell their items to signs and get XP in return. In a later version, players will be able to set up their own signs and sell items to each other. You'll have a full economy based on experience points! All the information you need about this add-on (configuration, permissions, etc.) is under the appropriate sections on this page in sub-sections titled "Xtra Features." For a longer explanation of what the Xtra Features add-on is and why we have one, read the "What is Xtra Features?" page.
Features
- All you have to do is place a sign to get started!
- Supports permissions via SuperPerms (built into bukkit) or PEX. (can be disabled in config.yml)
- Handy
/checkxp
and/level
commands. - Console logs (with coordinates) whenever a user tries to do something with a special sign.
- Fully customizable (translatable) messages in the game and console!
Xtra Features
- "Pawn" signs that allow players to pawn off their items and get xp.
Commands
/checkxp
- Find out exactly how much XP you have/level
- See what your level really is. There are specific occasions when minecraft doesn't update the number in the HUD./levelup
- Debug mode only. (See Configuration below.) Gives you the xp needed to level up.
Xtra Features
None.
Placing Special Signs
Here is an example sign:
Quote:
[ItemsForXP]
- Case does not matter (ie.[itemsforxp]
works just fine).
42x1
- Item ID times Quantity (Spaces are allowed now!)
18
- Cost (Experience points) You may placexp
on this line as well.
18xp for iron
- You can put whatever you want on this line
- You may also use
[Buy With XP]
(or what ever you configured) instead of[ItemsForXP]
. - That is an x on the second line, but you may use an * instead. You can find Item IDs here. You may use data/damage (like for colored wool) by doing something like
35:15x5
(five black wool). - The game will let you know if a sign is invalid when you try to use it.
- I often like to place the item (a block of iron in this example) underneath the sign for a quick and easy visual reference. Of course, this is not required.
Xtra Features
The layout is the exactly same, except the top line must be [Sell for XP]
instead. This can also be modified (in the add-on's config file).
Configuration
No configuration is necessary to use this plugin. However, you may customize the plugin's operation. A new config.yml is automatically generated if the plugin cannot find it (like when you run it for the first time). Click here to see the default config.yml. If you would like a new configuration option, just post below and tell me.
There are explanations in the file for each option, but here's an overview:
Debug
This will put all kinds of useful information in the console. This can help me determine why the plugin might not be working correctly for you. Just set debug: true
, save the file, and reload your plugins via the /reload
command. Then me everything it spits out.
Use Item
Players are required to hold a certain item when they punch a sign. This keeps the players from accidentally buying stuff. By default, they must be holding paper, but you can change that here. Just set this option to the ID of the material you want (item data is not supported). You can find ID numbers here.
Sign Title
The signTitle
option lets you specify a different tag to put on Line 1 of your signs. You could remove the braces ("[" and "]"), replace them with dashes, or change the text from [Buy With XP]
to [Crap Shack]
. Whatever you want to do. If you change this, [Buy With XP]
will be unavailable until you change it back. [ItemsForXP]
is built into the plugin, so it will always be available.
Permissions
Normally, this plugin requires permissions. Now you can tell it shut up and deal without it …in a nice kind of way. You can disable permission for either placing signs, buying from them, or both. You will find these options indented under permissions:
.
Messages
There are a lot of config options in this section. I will not explain all of them here. They allow you to change the text that the plugin displays. There are three subsections: Global, Console, and Game. Console options are text that appears in the console. Game options are text that appear in the chat in-game. Global options are used in both the console and the game. Finding the option for the text you want to replace simply requires some searching (with your eyes or CTRL+F). Descriptions and default values are provided in comments in the config.yml file. They are very helpful.
Xtra Features
View the full config here.
Sign Title (Pawn)
Similar to "sign title" above, this is the first line on pawn signs. These are signs that allow users to sell their items and get xp in return.
Messages
Most messages are pulled from the main plugin's config file, but there are some messages that are exclusive to the add-on. These messages can be translated/modified here.
Permissions
ifx.sign.place
- Users who can place special signsifx.sign.use
- Users who can buy from special signs
Xtra Features
ifx.place.infinite.pawn
- Users who can place "pawn" signs (signs which allow users to sell their items and get xp)ifx.use.infinite.pawn
- Users who can sell their items to a sign
Version Stuff:
Plans
- Add commands as an alternative to laying out the sign specifically - (config option?)
- Come up with a way to sell actual items (instead of infinite sales out of thin air) [Xtra Features]
- Investigate the implications of supporting economy plugins [Xtra Features]
- Possibly add configuration options to customize logging? Let me know!
Latest Release
- Restructured code to make way for new features
- New "Xtra Features" add-on! That's right, an add-on for the plugin (for the server mod for minecraft). :D
- Added ability to sell items to signs in exchange for xp [Xtra Features]
- New config option for this
- A few new translatable messages too
- Added ability to sell items to signs in exchange for xp [Xtra Features]
Fixed version out! Of course, bukkit still needs to approve it, but you can either click the link at the bottom of the description or find it in the files tab.
@Tealk123 @ludo0777
That shouldn't be too hard to do. It's kinda backwards from the idea of this plugin, but why not? It'll take no time to do. …In fact, I'm sick and I need something fun to do. I'll do it today! :D
You should be able to sell items for XP!
I would like to have the opposite, exp for Items, is this possible?
@zOxigen00
The latest version ought to work with 1.1. Are you having any issues?
Sorry about not having a new version out by now. School and work are taking over my life. I promise I'll get to this as soon as I can.
@ Everyone: If you'd like to help, let me know.
Nyam nyam any update for 1.1 ?:)
@AgnateHeartstone
I use globalshop to turn the gold that I get from ItemstoXP into money for iConomy. Idk if this helps.
Also @musicin3d,
is there a possibility that the /xp command interferes with the bukkit /xp playername amount command (to give players xp)?
@AgnateHeartstone
The purpose of this plugin is, as it's name implies, to sell items for experience points. So I probably won't be adding other currencies. Tying in with EconXP to allow more flexibility is possible.
Now that I've thought about it more, I'm very interested in co-authoring a new sign-based shop plugin that handles everything. Would you be interested too?
@musicin3d Thanks for considering supporting EconXP! I do agree that the code is a bit heavy, but it's mainly to support the various commands (people always seem to want commands for everything), as well as for permissions for those commands.
Either way, Vault supports EconXP, so if you had your shop support Vault (which is fairly easy to add, and pretty light code-wise), you would inherently support EconXP (and several other currencies). :)
All currencies in Vault operate on a numerical basis, so shouldn't be an issue tying it into your code.
@VitalSines
Hm. Ok I think I know what the problem is. Now, are you absolutely sure that other
adminsops cannot use the sign also?Please create a ticket for this issue. Please describe the issue thoroughly, as well as any testing you have done. Thanks.
@musicin3d
Right now, it will let ops place the signs but not regular players on the server. Also, the only person able to use the sign is the admin that placed it.
@VitalSines
PEX is not required.
I don't have support for OP only operation. I'll add it next week.
I can't figure out how to set up my permissions so only ops can place signs but any player in the server can use them. Any help would be appreciated! I do not have PEX, is it required?
@musicin3d
I also don't like commands since ther is no possibility to correct a wrong typed command and of course it's unnecessary used resources of my brain to learn this commands. But in this case it would be useful for individual Signs. But you said every sin is infinite, so it's not really for every user. I didn't recognized it because of my excitement that there finally is a nice shop plugin using sign without chests. Well, looks like I was wrong, but I'm looking forward for your "bulkware version". :D Wait, what happens to the exp? If they go to nowhere I'll install your plugin for the moment because there is no more clay in my swamp. XD
However I'm pleased that my suggestions were hepful for you and I keep an eye of this, thanks a lot.
@SalieriC That is a very interesting project. I thought about doing something like that too. Looks like he beat me to it. The code looks a little heavy, so I don't think I want to merge. However, I think it would be cool to release two flavors of my plugin: one like it is now, and one that depends on his API (for people that already have it).
Item ID is not automatically translated on the sign. It is in the transaction message though.
I think commands would make an excellent alternative option to the sign layout. I originally didn't do it because I got tired of typing commands incorrectly, but I understand others prefer commands. I will probably make it so that you have to set a config option to
true
so that memory is not unnecessarily used if you don't want to use commands.As it is, all signs sell infinitely. They do not draw from chests or inventory. That's why I have permissions included. I did this partly because it would bring in a whole other set of issues such as chest protection. I would either have to build it in, or put admins in a place where they must install LWC. And I hate being required to install extra plugins. Anyway, I suppose I can add a feature to pull items from chests in the "extra flavor" version (or how about the "bulkware version?" lol).
Thanks for your suggestions. They were very imaginative and helpful. I'll see what I can do. :D
You may found a joint venture with AgnateHeartstone: http://dev.bukkit.org/server-mods/econxp/ You have nice and simple shops and EconXP is a still not so common but growing economy plugin with several supports (Vault, soon Register and in next release of AllPay this will also support EconXP) wich fits with your initial intention of shops with exp as the currency.
Question: Is the ItemID automatically translated to the name after the Sign is placed?
Suggestion: Make the plugin independent from the content of the sign by using commands! Example: Player places a sign and typing in anything, then open the chat and using a command like "/ifexp sell 1 373:8229 20" and then punches the sign to create one wich sells potions of instant health II for the price of 20exp per potion. Right click on the sign then will open a chest window to place the potions in to sale them (don't know if this is possible but it should be, the guys from essentials have signs wich work like chests and opens chest windows.
Second suggestion: Infinite shops (created by admins) wich sale some stuff (like sand or clay) to the players ad infinitum.
Okay, this would be a bunch of work, but maybe a nice thing for rainy sundays and the result would be the best existing shop plugin (and the only one I could use, since there is no good plugin for sign shops excpt Essentials EcoSigns wich currently do not support other economy plugins).
Thank u i try it
Ok, I've got a working version done. Since some of you are wanting an update ASAP, I'm going to release it immediately. I have tested it "fully." This is in quotes because I normally like to run it on my server for a few days before release, just in case I didn't think of some specific situation. But here it is, fresh for your enjoyment.
Hey, guys! Thanks so much for your support. I'm trying to have the next version out this week.
@musicin3d
Strange D:
Hopefully you can get it fixed up soon!,
can't wait!
@xXReVurbXx
Thanks! :D I've already got it recognizing the level, but there's a strange bug where it's dropping xp to 0 for no apparent reason.