MagicBookshelf by Tim Clancy - 1.2.5 Compatible
Magical Bookshelves!
Release of Source Code:
As of 2.11.14, Tim has released all code free for use here: https://github.com/TimTinkers/MagicBookshelf. The code you will find there is the plugin in its most current state. Enjoy, and feel free to reproduce in any manner you'd like, just so long as credit is always given for any code used. It would also be very kind of you to link to this page as well.
Goal:
This plugin seeks to improve upon the vanilla Minecraft enchanting system.
The Minecraft system takes a very long time to get to higher levels of experience, and resets you to a much lower level upon dying. This encourages many players to make mob grinders to try and earn experience, which is not fun for anyone. The way MagicBookshelf tries to fix this is by allowing players to quickly and simply store their experience points inside of bookshelves, to be withdrawn later. By allowing users to slowly build up their levels over time, it is possible to get to that 30th level without sitting at a mob grinder all day.
Features:
Right-click a bookshelf to store your experience inside it.
Left-click a bookshelf to take the experience out of it.
Add a sign with [XP_Private] on the first line, followed by up to three usernames, to lock a bookshelf for certain users. Only these users will be able to break, withdraw from, or deposit to that bookshelf.
Permissions supported:
- magicbookshelf.lock gives users the ability to lock their shelves.
- magicbookshelf.break gives users the ability to break ANY shelves.
- magicbookshelf.store gives users the ability to store xp in shelves.
- magicbookshelf.withdraw gives users the ability to withdraw xp from shelves.
It's that easy! Video of use:
If you are Polish, adeknijak made this neat video:
If you are Czech, LPmareonCZ made this neat video:
Configuration:
There isn't any way to configure settings right now. Just be certain that the MagicBookshelf folder (and its included shelves.txt file within) make it into the plugin folder. There are both Java 7 and Java 6 versions, choose Java 6 if you aren't sure.
To do
- Add configurable settings.
- Add permissions support.
- Add an effect to bookshelves that have experience in them.
@Masonnasty
@MindlessKyle
Sorry about the delay. Some stuff's been happening and it's Easter weekend now. I'll slap up permissions support soon.
Any ETA on permissions support? This plugin looks awesome! :)
its been 2 weeks bro, i want a updateeee
:/
Can you give me the permissions codes?
@Masonnasty
Been said, will do.
Dunno if its already been said, but you should add a limit to the exp in the bookshelves in the config when its made, to make us have to make a library.
@wallofchaos
No problem, just glad you got it working for you. This weekend expect an update to fix a few more bugs and add a few more features.
@Derthmonuter
Its working now. no idea what was wrong.. Sorry for the trouble. seems to be fine. thanks so much.
@DoubleZ
Thank you for pointing out this bug, I'll try to fix it this weekend.
hi, I downloaded this plugin and found a bug.
if a player whois name does not be writen on the [XP_Private] sign, he can store the xp first then steal all the xp.
@wallofchaos
I'm afraid to inform you that you are flat-out wrong. This plugin works properly. Are you sure you're using the right version based on your Java? Also, this plugin doesn't create its folder automatically: you need to do that. There is also no configuration file. And it should throw errors if it's not working right.
Please give me a bit more information on what build you're using, how you installed it, etc. so I can help you before you go trying to claim that my plugin doesn't even work.
@LHammonds
:) Glad to hear you like it working! I suggest upgrading to v0.6 though, it fixes some really nasty bugs that are present in v0.2.
@Reazaaa
That bug is a rounding error that I'm afraid won't be fixed anytime soon. But in the grand scheme of things it's such a minor amount of experience that it doesn't present much problem. And I'm not sure what you're asking for...a way to check the amount of experience in a shelf without withdrawing? If so, then sure, I can add something to do this later.
@psirusa
Yeah, that's exactly what this is. It comes from me having to calculate the amount of experience on the player based off of level, due to the getTotalExperience() method not updating correctly. I'm afraid there's not really a good way around this, but it seems like a really minor problem.
Changing this to this plugin works great. :) thanks to the author on a job well done.
I've been using MagicBookshelf 0.2_Java_6 on my CraftBukkit 1.1-R4 server for a while now. I just upgraded to CraftBukkit 1.2.4-R1.0 and your plugin still works!
Thanks, LHammonds
A sign above the bookshelve or a command (for example /bs -> "Entering bookshelve-mode") + a click on a shelve to see how much Exp. is stored in it WOULD BE VERY NICE! :D
Anyways .. just an idea :D Nice plugin! Thanks for that! Only the bug that I loose 2 Exp on every withdraw is not so nice^^
Just a little quirk atm, when storing and withdrawing relatively small ammount of exp (176 in this case) the plugin slowly decrements the ammount of exp stored, for instance: stored 176 exp, took out 175, put in 175 took out 175, put in 175, took out 174.
seems like a rounding issue
@Dekarath
You probably didn't do anything wrong.
It looks like there must be another bug here. I'll take a closer look at it soon.
I am having a problem with the v.06 java6 version of MagicBookshelf. The plugin seems to be working fine at first, but after a few minutes the bookshelf (which is locked to just my user) stops responding to clicks (in terms of MBS). Even if I restart the server, I still cannot get it to allow me to add or remove exp to/from the bookshelf. I just happened to throw down another bookshelf, and suddenly the original bookshelf started responding again... for a few minutes. After that, both bookshelves stopped working again.
I'm running this under bukkit version git-Bukkit-1.2.3-R0.2-83-gcb50fd6-b2117jnks (MC: 1.2.4). I have several other plugins running, but this was the 3rd plugin I installed after Permissions and mChat, and this has been exhibiting this problem since I installed it. Just to be sure, I uninstalled all other plugins than those two, and I'm still experiencing this.
Any idea on what I've done wrong?
Thanks!