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.
@Derthmonuter
Don't you use the Player methods 'getTotalExperience', 'setTotalExperience' and/or 'giveExp' ? It manipulates integers. So, no pseudo-real voodoo.
@bigmolla
Sorry, there is no way to directly do this with this plugin. A plugin is quite different from a mod. The best I can recommend is setting up your own Bukkit server using 'localhost' as the IP address.
This is a very good mod for my home server. Now I want to use it in single player, how can I install it? Is it possible? thanks Bigmolla
@adeknijak
I'll certainly add this now. Thank you very much for the video. How do I say "If you are Polish, watch this:" so I can put it in too?
I maked polish video please add for this site. Link: www.youtube.com/watch?v=3lfX-wbEWxQ
@Techgeek3000
Actually, I just closed the ticket. Basically, this isn't a bug. It's something unavoidable that isn't a big enough problem that it needs to be dealt with.
@Techgeek3000
I responded to your ticket.
Hello,
First off, I like the plugin, so much thanks. However.... I'm not sure how to submit bug tickets so I will post here. I downloaded the latest version 0.7 and tried storing XP into a locked bookshelf and upon each repeated attempt there appears to be 1 XP deducted. Is this a miscalculation or perhaps undocumented form of payment?
... actually testing further it appears the deduction stops when you reach the bottom of the experience level. In my case is 152 XP @lvl 8.
Hope this helps.
Edit: I created a ticket :)
@TfT_02
Permissions support have been added in v0.7. The nodes are as following: 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 withdraw xp from shelves.
@MedlarGW
Hey there! This actually works with the most recent recommended build of Bukkit for 1.2.5 right now, I just forgot to update the title! Feel free to use it safely, look out for permissions support coming soon, and thanks for the reminder! :)
I was wondering, were you going to update MagicBookshelf to 1.2.5, or wait until 1.3? I would expect the latter, so that you don't have to update immediately after another. Regardless, looking forward to the next update. :D
@Chaznuts
Hey there, glad to see there's still interest in this plugin. I'm actually working on trying to finally add permissions like I've been planning to for weeks. After that I can take a look at the configurable stuff. :)
Hey, did you ever make the exp transferred per hit a set amount of levels instead of all exp? Like the 10 levels thing that you thought was a good idea a few months ago? 225 exp all the time wouldn't be bad, even though it wouldn't be 10 levels when you're at higher levels. Let me know the plan! :)
@IceGuru2
This isn't compatible with BookWorm anymore?
And IceGuru, I'd love to comply with your request, but it's not very helpful to me. Can you please tell me what version of BookWorm, what version of this plugin, and what version of Bukkit you are using?
Please make this plugin compatible with http://dev.bukkit.org/server-mods/bookworm/
@ryguy147
No, it doesn't need to be simpler. I like the ability to share bookshelves with other players.
@TfT_02
Oh, don't worry. I know you weren't calling it sloppy, it's just that I personally feel that it's sloppier compared to some newer things I've been working on. But thank you for the suggestions and the way to fix it, I'll get that updated soon. You deserve a medal. :)
Needs to be simpler locking: only the person who created it can input and withdraw XP, and destroy it.
@TfT_02
Yes, I understand how to add permissions. Doing so is another matter entirely, and I'll just need to find the time to do that sometime soon.
And regarding the code: yes, it's sloppy. Yes, it could be much better. But this was my first plugin, and so I just want to finish it and let it fall by the wayside.
Looking forward to permissions support :)
Also will this conflict with magicspells? I have bookshelves setup with those as well.