[REQUEST] AlbumPlayer - Jukeboxes Re-Made [Formatted]

Discussion in 'Archived: Plugin Requests' started by Onlyme, Nov 25, 2011.

  1. Offline

    Onlyme

    Achievement Get: Sticky Eyes! - (Read the sticky on formatting requests, by codename_B. )

    Plugin category: [Fun][Misc]

    Suggested name: AlbumPlayer

    A bit about me:
    Hi, I'm Onlyme395. I'm 21, Male, Canadian, and my favorite food would have to be Tortellini.

    Oh, irrelevant you say? How about this: I'm developing a server for an up and coming gaming community, and I wish to have a bit of fun for the users. :)

    What the core would have:
    - Linking Chests with Jukeboxes!
    - Have a sign placed above the jukebox setup with the label [AlbumPlayer] to activate the jukebox setup.
    - Have an admin command to stop all jukeboxes within sound range.
    - Have Jukeboxes look into chests, and play records from the chests based on the params provided.
    - If the jukebox runs out of records from the chest, or the jukebox is punched again, it will stop playing music.

    What kind of Extras would I like? (wanted, but can do without)
    - If a player has any tool in his hand while punching the jukebox, it would not activate and could be broken.
    - Repeat the album back to the start if user has permissions.
    - Work through chest protections, such as LWC.
    - Track the stats of specific setups, such as how many times each record has been played.
    - Have the sign display the current song being played, the position of the record in the playlist, as well as if it's on repeat or sequence.
    Example output:
    [AlbumPlayer]
    <song title>
    <Position|Repeat>
    <Rand|Sequence>
    Edit: BIG ONE!
    - Have multiple Jukeboxes link together to play the same music, at the same time. Think of it like a mass speaker system for large cities. :)

    Ideas for commands:
    /album [loop] <rand|sequence> (Decides to loop or not, and selects random, and sequence modes)

    Ideas for permissions:
    album.standard.create (Able to create the setup)
    album.standard.stats (Able to bring up the stats of a setup)
    album.standard.loop (Allows player to play records on repeat)

    album.admin.silence (Able to silence jukeboxes within listening range)

    Willing to pay up to: No payment, I'm afraid. How about a nice big hug? Maybe a tour of the server I'm developing?

    When I'd like it by: When it's ready, I suppose. It's not really that important of a feature, but it's a nice twist that makes it unique. I'm a pretty patient guy, and I know that this is a complicated feature. :)

    Similar plugin requests:
    http://forums.bukkit.org/threads/re-playable-juke-box.46922/
    http://forums.bukkit.org/threads/infinite-jukebox.46878/
    Both of these plugin requests ask for looping music in a jukebox, but are not quite as advanced as what I'm asking for.

    Devs who might be interested in this: @TnT @ChrizC @codename_B
     
  2. Not even me as dev?! Me sad... :'(

    But this looks like a nice and fun project! If no one else wants to help out I will :cool:
     
  3. Offline

    Onlyme

    @dadaemon In my defense, your name wasn't listed in the format topic :p

    Edit: Here's how it would look when it's all set up (Thumbnail)
    [​IMG]

    Edit2: Included the idea of Speaker Systems in the original post. :)
     
  4. Offline

    Phantom Index

    It's a nice idea, I support it anyway.
     
  5. Offline

    Onlyme

    Thanks for the support! :D

    Just wondering if there's still support for creating this plugin. Seems to be a very unique addition to the already expansive list of plugins, don't you think?
     
  6. Offline

    Onlyme

    Awesome! Keep me updated with progress. To be honest, I've tried coding it myself, but I've got no idea where to start once everything's set up and referenced. :(
     
  7. Well. Just setting up the code for looking where the jukebox and chest are. Now doing the inventory check. :)
     
    Onlyme likes this.
  8. Offline

    Onlyme

    Awesome! If you want to, feel free to add me on skype. Onlyme395. (Will delete later)
     
  9. Well.. Here is an Alpha version! There are some bugs and you need to have a config for AlbumPlayer (included in the zip.)

    http://dl.dropbox.com/u/1739265/AlbumPlayer v0.1.zip

    How to place an AlbumPlayer
    Place a chest next to a jukebox. Then place a sign next to that jukebox with a single line on it: "[AP]"
    Place some discs in the chest.
    Right click the sign to initialize the AlbumPlayer and start your playlist. Click again to start or stop the playlist.
    Right click on the Jukebox for random or normal.

    Permissions
    Admin, who can control all AlbumPlayers
    - albumplayer.admin

    Player who can place an AlbumPlayer
    - albumplayer.placealbumplayer

    Config
    Not much to config yet. All the locations of the AlbumPlayers are being stored in the config. There will be a config setting to disable/enable certain discs.

    Bugs
    At the moment you can destroy the chest or jukebox without removing the AlbumPlayer. This will cause errors!
    If you find any other than that one. Please tell!
     
  10. Offline

    Onlyme

    This is pretty darn cool! I didn't imagine it'd be this quick. This plugin also works through LWC privated chests!
    Something I love about how you set this up, is how flexable the setups can be. :D

    Also, what are the specific commands for admins? What could admins do?

    Noticed something:
    - When playing in order.. the sign doesn't say it. However, it says it for Random.
    - When someone reloads, the playlist gets reset. Maybe have a field in the config to save the song that's currently playing?
    - When loading up after being disabled:
    Code:
    14:18:33 [INFO] [AlbumPlayer 0.1]
    14:18:33 [INFO] [AlbumPlayer 0.1]
    14:18:33 [INFO] [AlbumPlayer 0.1]
    14:18:33 [INFO] [AlbumPlayer 0.1] == AlbumPlayer 0.1 ENABLING ==
    14:18:33 [INFO] [AlbumPlayer 0.1] == AlbumPlayer 0.1 ENABLED ==
    14:18:33 [INFO] [AlbumPlayer 0.1]
    14:18:33 [INFO] [AlbumPlayer 0.1]
    14:18:33 [INFO] [AlbumPlayer 0.1]
    What are the extra lines for?
     
  11. Yeah... Just did it brute force. I check every -1 to +1 X, Y and Z value from the sign to search for the JukeBox. Then I do the same from the JukeBox to find a chest. So there are lots of setups possible :)

    Bug: You can place multiple signs for one JukeBox

    There are no commands :) What for?! :D If your an admin through permission then you can delete and control other players AlbumPlayers.

    What should I call that?
    The playlist won't be reset (as far as I know because I already save the currentsong... Or didn't I?! Should be saved in the config!) The song will stop playing but in the background the song still plays and wait till the song is finished. When the song is finished then the next one will play. Will look if I can change this so that people relogging still hear a JukeBox. But as far as I know. If you put a record in a JukeBox and you logoff and you login it won't play the song. Need to test.
    Erm... Those empty lines? Those are just to easily see the errors AlbumPlayer gave me while making :) Will remove them when it's finished!

    Thanks for the kind words and I hope I can finish it tonight!
     
  12. Offline

    Onlyme

    Awesome! Maybe you could release it on Bukkit Dev?

    For permissions, maybe add something so your friends can control your jukebox as well?
    Also, with what you should call sequence order... try "Order". :)
     
  13. Offline

    Onlyme

Share This Page