LastCall
This plugin adds two key functions to Minecraft. First, it allows players or the console to play a specific music disc for one player, or the whole server. Second, it adds a new way to stop the server which plays a music disc to all the players on the server and prints a countdown timer to the chat to announce when the server is going to be stopped.
Important Information
So, as it turns out, using certain symbols in the config file causes problems on certain Linux systems. I tried to fix it with v1.8.5, but that apparently didn't work. So I created a semi-lite version where I removed the config option for message format entirely. The message format is now hard-coded, so you won't be able to change it. If you have been having issues loading the plugin or using /lastcall, then please update to this version and delete your config file. I apologize for the inconvenience.
In version 1.8, I have successfully added playlists to the plugin. This means that you can create a list of songs that can be used with /play in the exact same way you would play songs normally. However, currently there are a few problems with playlists. First, there's no way to stop it in the middle. Once you start it, you have to listen the whole way through. Second, if you start another playlist before the first one ends, they'll keep going back and forth between the songs until one of them reaches the end of the list, so be careful. To keep other players from messing up your music while you're listening to a playlist, I'd suggest doing /lc exempt (or /last exempt if you have towny installed), at least until the playlist is over. Oh, and if you do /lc exempt in the middle of a playlist started by someone else(console, another player, w/e), then it will stop at the end of the current song.
I'm sorry there ended up being so many inconveniences with the new features this time, but there were more than a few problems that needed to be fixed immediately, and I wanted to let all of you start getting used to playlists and the new exempt feature. Version 1.9 will include the fixes for these issues, as well as (hopefully) a few amazingly surprisingly awesome secret bonus features that can be used when certain conditions are met :D
I definitely am looking forward to presenting everyone with the final v1.x, so keep a lookout for its release!
Videos
Well, there aren't any videos/reviews just yet... BUT! If anyone would like to make a video for the plugin, I will be glad to put it right here.
Please send me the URLs for your videos via PM, in order to keep the comments from being cluttered.
Commands and Permissions
Some of these commands and permission nodes are for v1.8, and as such do not work for previous versions.
- /lc reload
- alias: /last reload
- reloads the plugin's config file
- lastcall.reload
- /lc exempt
- alias: /last exempt
- adds you to the list of players who won't hear music played by others. Certain exceptions exist.
- /lastcall [time] [disc]
- starts the countdown to the server stop and plays the specified disk. if no disk is specified, it will use the one listed in the config file. If no time is specified, it will use the time written in the config file.
- lastcall.lastcall
- /play [all|player] <disc>
- plays the disc for the specified player, or for the player who used it if none is specified. When used from the console, it plays the disk to everyone if a user isn't specified. If /play all is used, it will play the disc for all players.
- lastcall.play
- lastcall.playall
- lastcall.play.others
- /playlist [help]
- playlist commands. /playlist lists the available playlists; /playlist [create|delete|modify] allows you to manage playlists; /playlist [playlist] allows you to view information about the specific playlist
- If you have the permission node lastcall.playlist.op, you can delete or modify any playlist. otherwise, you can only modify playlists you have created.
- lastcall.playlist.create (also allows you to use delete and modify)
- lastcall.playlist.op
Configuration
The default config file includes four options: Song, time, Message, and exempt.
Song specifies the default song played when you use /lastcall without any parameters, or just a time
time specifies the default amount of time to count down when using /lastcall with just a song or no parameters
Message is the message to broadcast at intervals during the countdown. put <time> wherever you want the number of seconds to be displayed, and use an ampersand (&) for color codes.
exempt is a list of players who won't hear songs that others play. I'd suggest leaving this one alone and just letting players set this for themselves.
Bug Reports/Source/Suggestions
You can find the source, submit bug reports, and give me suggestions on the github page.
Source
Bug Reports/Issues
When reporting a bug, please include the plugin version, minecraft version, and bukkit version you are running, along with any error reports generated, so that I can figure out what is wrong more quickly.
TO DO:
- Add a way to perform "pause/stop", "next", and "previous" for playlists
- Fix playlist overlapping!
- Super secret surprise features~!
- Add method of playing music for all players in a specific group and/or world
- Add a command to allow users to cancel/modify an ongoing lastcall
- change /lastcall and the cancel/modify so that when lastcall is used from console, only console can cancel/modify it
- figure out a way to make it harder to run away from the music without loading down the server.
- make this post look better and get some pictures.... (donations of artwork are welcome! PM me, you'll receive credit beneath your contribution if it ends up in the post)
Miscelaneous
Update notes: when updating to v1.3, you must delete your old config file.
This plugin uses an extended version of MCStats/PluginMetrics called MetricsExtension, AKA EMetrics. There aren't very many plugins using it yet, (I think it's just this and mcmmo) but it adds some very useful features to the Metrics API that make it a whole lot easier to work with. If you would like to know more about what kind of information is being sent by this plugin, you can read about it at the MCStats home page: http://mcstats.org
Try Me!
Want to try out the plugin first? You can check out LastCall on the server at mc.minecraftdreams.com and see the latest version of the plugin. All users have permission to use /play here, so you're free to come see how that works. If you want to know more about the server, specifically, their website is here: MinecraftDreams
This server will usually have the latest version with a few additions. For now, the only exclusive command is /testcall, the demo version of /lastcall. it has all the same syntax as /lastcall.
The current LC demo version is v1.8.5 MD-lite.
@MineCrafterCity
Echo?
Awesome! Only it's quite echo-ing. :/
@TheMisterB
Yeah, I realized that earlier today when I was rewriting the config file to make 1.8.5 semi-lite. (it's exactly the same, except there's no config option for message)
Yep, still getting an error. I noticed you still have a section symbol in the generated config, it's in the notes area, tells you to use it for the color codes. Would removing that symbol as well possibly fix the issue? I still get the error if I remove the symbol myself, but I dunno, it's a possibility.
@kaitoyuuki
Alright thank you, I'll see if I can get an error message.
@NathanTheDragon
after looking through the documentation for multicraft, it seems to be running some sort of unix operating system. (linux is an example of a unix operating system)
I'll look around and see if there are any ways to fix this. If I can't find any ways to make the file work, I may just have to change it so that it uses stuff like <red> and <blue>. or make a version for people having this issue. Actually, I may just set it up so it will work with both, and make the default config file use the <> tag colors.
Anyways, for now you can still use the plugin if you take out the color codes from the config file. your lastcall message will just be white.
@NathanTheDragon
it should be possible, although who knows if it's possible for me. can you get me a pastebin of the error message?
I'm on a multicraft server hoster, I'm not sure what they use [linux/windows/ect.], but I always get an error referring to the Special Characters, even with the NEW update and clearin g my config, even with the Ampersand[&], Is it possible to fix it?
@TheMisterB
Yeah, I think it may be because your server is a linux. For whatever the reason, it seems like some Linux systems don't like it when YAML files contain special characters (like the section sign used by minecraft for default color codes, apparently). Windows servers have no complaints, though. So, it looks like I'll have to change things so they can parse it with an ampersand(&) instead. I'll have v1.8.5 up in just a bit. Make sure to delete your config file after updating (if it exists). if it doesn't fix your problem(or a different one pops up), let me know. My computer doesn't have enough power to run a virtual machine, and I don't have access to a linux, so I'm afraid I can't check if this fixes the problem on my own.
Getting this error every time I start the server, any idea why?
http://pastebin.com/4Vc5i5W5
@lunus72
Okay, looks like it was exactly what I thought it was. This will be fixed in 1.7, along with some weird things caused by interference between default bukkit permissions and other permissions plugins
@kaitoyuuki Thanks again for the invested time. Can't wait to get this running. On my Windows test server it is working fine. I can see my issue only on the Linux Server. Here is another log with Plugin Version 1.6 which also shows some infos during load of the plugin. Hope that helps to track my issue down: http://is.gd/vk56SG
@lunus72
Hm. Doesn't look like a plugin conflict. I'm not 100% certain on how I should eliminate this error, but it is entirely caused by my code. I had a similar issue with one of the other elements when I was working on 1.6, so I assume it is something along those same lines. If not in 1.6, it will definitely be fixed in 1.7.
thanks for all the hard work, I still get this error with version 1.5 http://is.gd/Mwr2n2 on 1.4.7 b2624 As I can not reproduce it on all servers, which type of plugins should I lookup to find a possible plugin conflict?
@kaitoyuuki
Well, that's done. Rest easy, folks, peaceful times are here to stay :3
Looks like the mayhem isn't over yet, folks
Just moments ago, I have discovered several more issues, one of which was a permissions problem that got rectified immediately. The remainder of which, however, are a little more crafty. If I can manage to fix all of these issues, then I will release 1.5 regardless of whether or not my custom stats are working, because whether those work or not, they do not interfere with the remainder of the plugin. wish me luck!
@lunus72
Ah, I see what I did. Sorry about that, it will be fixed in the next version.
First of all: A wonderful plugin. Thank you!
on one server, at the moment I issue the command /lastcall as op I get this error in the console: org.bukkit.command.CommandException: Unhandled exception executing command 'lastcall' in plugin LastCall v1.3
http://pastebin.com/rPHnjg3W
server is running CraftBukkit version git-Bukkit-1.4.7-R1.0-b2624jnks (MC: 1.4.7) (Implementing API version 1.4.7-R1.0)
@rakion99
hm. that's definitely an issue... until I can get that fixed, you'll just have to use the item IDs, 2256 for 13 and 2266 for 11, or just use the disc from your hand. within the next few updates, I should have it set up so that if you don't specify a disc in the command, it will use the disc you are holding.
@kaitoyuuki
Thanks, Your Plugin is awesome, keep up the good work :)