[INACTIVE] [FUN] RyveMusic v1.4.1 - Add your music in game [Spout] [1060]

Discussion in 'Inactive/Unsupported Plugins' started by timoun, Aug 13, 2011.

  1. Offline

    timoun

    RyveMusic v1.4.1 - Add your music in game

    Version: v1.4.1
    [​IMG]

    NEW: Play loop music !!!


    This plugin use Spout to add music in your server. You can play a music in global or for only player.
    But the plugin doesn't stop here, you can put music in a jukebox, play a burn cd into a jukebox, start the music of the jukebox with redstone. You can also make little shop to buy cd burn and put music in a region with worldguard.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Pour les francophones vous pouvez voir le topic sur minecraft.fr ici
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Requirements:
    Features:
    • lang.txt to translate in your own langage
    • Put music on a jukebox
    • play music for one player
    • play music for all players
    • Loop music in a region, on an NPC or a player
    • play cd burn into a jukebox
    • Start music from jukebox with redstone
    • (optionnal) WorldGuard to start music when player enter on a area and stop the music when he leave area
    • (optionnal) iConomy to create shop to buy a burn cd wich contains a music
    • (optionnal) Citizens to put music on a npc
    • Permissions support
    • Start sometimes a random music
    How does it work?

    To start the plugin you must have a file wich contains all url music who want to play in game and after that you to put the url of your txt file in setting.txt into RyveMusic folder.
    For exemple, i have a php file wich list all music from a folder and made a list of url. To access to this file you have to put the link in setting.txt, the link is: http://mine-elite.fr/musique/listmusic.php
    (this link is use by default on setting.txt file)
    Now you put the url into setting.txt, here:

    Code:
    ListMusic=http://mine-elite.fr/musique/listmusic.php
    //Set it to true if you want use URLs.txt
    useURLs.txt=false
    moneyName=dollar
    //If you have lag add and set this line to false:
    onMove=true
    //Add and set to false to remove random music
    randomMusic=true
    //set to false if you don't want playing loop music on an NPC
    loopNpc=true
    //set to false if you don't want playing loop music in a region
    loopInRegion=true
    //set to false if you don't want see a message when the music is playing
    playMessage=true
    
    you just have to put link in your file of url and the plugin does the rest

    If you have no web host you can just set useURLs.txt to true (to do that you need to stop your server, modify setting.txt and finally restart your server) when it's done you have to put your song URL into URLs.txt in RyveMusic folder like that:
    Code:
    http://mine-elite.fr/musique/A-H.Marlene.ogg
    http://mine-elite.fr/musique/A-H.house.of.rising.sun.ogg
    http://mine-elite.fr/musique/A-H.the.messenger.ogg
    
    you don't have to do any reload on your server just put url into this file and my plugin see modification ! :D

    IMPORTANT: music must have to be in .ogg, .mid or wav

    if you want my code of the php file you can have here:

    listmusic.php (open)
    PHP:
    <?php
    $folderName 
    'musique';
    $folder './';

    define("SERVERNAME"'http://'.$_SERVER['SERVER_NAME'].'/'$folderName .'/');
    $image_valide =  Array('wav''mid''ogg');

    if(
    $parcourir scandir($folder0)){
        foreach(
    $parcourir as $clef => $fichier){
            
    $pathinfo_fichier pathinfo($fichier);
            if (
    in_Array(strtolower($pathinfo_fichier['extension']), $image_valide))
        {
                echo 
    SERVERNAME $pathinfo_fichier['basename'];
                echo 
    "\n";
            }
        }
    }
    ?>



    Play music for a player or in global:
    to see all music in your server you have to use "/rm list" and the plugin list all the music from your file of url wiith an number on the left, this is the music number:
    /rm list (open)

    [​IMG]

    to start a music for your own you can use "/rm play <music number>", for start music for an other player you can use "/rm play <music number> <player name>".
    Exemple, to play A-H.marlene.ogg you must do "/rm play 1"

    you can stop music for you with the command "/rm stop"
    To play music in global use "/rm global <music number>"

    Now, with the release 1.4 you can loop play a music with the command "/rm playLoop <music number".

    Put music on a jukebox:
    To put music you must use the command "/rm setJuke <music number>" and hit a jukebox, the music is playing. If a player hit the jukebox the music is restart.
    After, put music on a jukebox, you can start music with redstone so you can use a jukebox in redstone circuit.
    To delete music from jukebox you have to break it.

    Put music in a region:
    To put music in a region you must have wolrdguard on your server.
    You can put music in a region with this command: "/rm setRegion <music number> <region name>"
    When a player enter the area the music is played and when he leaves the music stop.
    To remove music from a region use "/rm delRegion <region name>"

    Put music on NPC:
    You must have Citizens on your server.
    To put music on an NPC, you have to do a right click on your NPC like for citizens, when citizens send its message, now you just to perform this command "/rm setNpc <music number>".
    If you want remove a music from an NPC, perform this command "/rm delNpc" after you have selected your npc.

    Burn cd with shop:
    You must have iConomy to use that!
    To create a cd shop you have to take sign. On the first line you have to write RyveMusic, on the second the music number and on third line, the price.
    like that:
    shop (open)

    [​IMG]

    You can see the music name when a player hit with left click the sign.
    To buy a cd you have just to use right click on the sign and the cd is burn.
    You can see directly on your inventory the music name:
    music name (open)

    [​IMG]

    To play a cd you have to put your cd in the jukebox.
    If a cd is not burn a random music is played in the jukebox

    Commands:
    Command (open)

    • /rm global <music number> - play a global music
    • /rm play <music number> [Player] - play music for a player, if [Player] is empty it's play music for you
    • /rm playLoop <music number> [Player] - Loop play music for a player, if [Player] is empty it's play music for you
    • /rm stop - Stop the music only for you
    • /rm list - a list of your musics in the file of url
    • /rm setJuke <music number> - To put music on a jukebox
    • /rm setRegion <music number> <region name> - To put music into a region
    • /rm delRegion - To remove music from a region
    • /rm setNpc <music number> - To put music on an NPC
    • /rm delNpc <music number> - To remove music from an NPC
    • /rm reload - To reload setting file with your new configuration


    Vidéos:
    Video in french (open)


    Permissions node:
    Permission (open)

    -RyveMusic.playGlobal -- To use /rm global
    -RyveMusic.play -- To use /rm play
    -RyveMusic.list -- To use /rm list
    -RyveMusic.stop -- To use /rm stop
    -RyveMusic.setJuke -- To use /rm setJuke
    -RyveMusic.setRegion -- To use /rm setRegion
    -RyveMusic.setNpc -- To use /rm setNpc
    -RyveMusic.delNpc -- To use /rm delNpc
    -RyveMusic.haveShop -- To have the permission to create cd shop


    Configuration:
    Configuration (open)

    Code:
    ListMusic=http://mine-elite.fr/musique/listmusic.php
    //Set it to true if you want use URLs.txt
    useURLs.txt=false
    //set your money name
    moneyName=dollar
    //If you have lag add and set this line to false:
    onMove=true
    //Add and set to false to remove random music
    randomMusic=true
    //set to false if you don't want playing loop music on an NPC
    loopNpc=true
    //set to false if you don't want playing loop music in a region
    loopInRegion=true
    //set to false if you don't want see a message when the music is playing
    playMessage=true
    


    Support me:
    To help me and for give me the courage to make other big plugin you can donate or/and thank me for my job :D , you can also support Ryve ;)
    To donate:
    [​IMG]

    Support Ryve:
    Ryve is an independant musician and song writer, you listen to his music with this plugin (All music with the prefix M-E are the job of Ryve ) or go to this website:
    Ryve's Music (For french it's here)

    My favorite musics of ryve are (direct link to listen):
    Between sky and clouds (acoustic guitar)
    Strange Habit (close daft punk)
    Rise of factions (for metal)
    Its just in progress (acoustic guitar)
    Wind of time (electronic)


    To help him you have just to talk about him with your friend and family ;)

    Download:
    • RyveMusic V1.4.1 - Download (Source into the jar)
    • RyveMusic V1.4.1 for french (yeah i'm french) - Download
    Notice:
    • All my apologize for my english, forgive me I'm french :D
    • All music in the default file with prefix M-E are under our own license ( Licence Creative Commons ) so please ask to Ryve to use his music
    ChangeLog:
    v 1.4.1
    • Add setting playMessage to remove the message when a music is playing
    • Add reload command to reload setting file
    v 1.4
    • Ability to loop music
    • Add the command /rm playLoop
    • Add the possibility to set loop music on npc
    • Add the possibility to set loop music in region
    v 1.3
    • Fix few bugs
    • Give the possibility to have a simple txt file in RyveMusic folder to list music url (Set useURLs.txt to true in setting file and put url into URLs.txt in the same folder)
    v 1.2.2
    • Add the possibility to set event for start music
    • Add the possibility to remove random music
    v 1.2.1
    • Fix region parent and children (Need to set a parent for an imbricated region)
    v 1.2
    • Add music on npc
    v 1.1.2
    • Fix bugs like cast exception
    v 1.1

    • Add urldecode to parse an url
    • Retranslate some text
    • remove extension in the list of music
    Todo:
    • Give the possibility to have a simple txt file in RyveMusic folder to list music url
    • Put music on npc (It will be required to have citizens)
    • Play loop music into a region (need spout update) have i good idea to do that :D
    • Stop music on jukebox when you break it (need spout update)
    If you have problems, read that before asking:
    • trys to modify AuthenticateTicks in config.yml of spout and set it to 100
    • If you have a mac go to this topic to fix sound problem: here
    • Finally, see if you have set up the volume :)
    • I have get around spout for playing loop music so please don't annoying me if there are no bug with this.
    • Loop music only works with ogg and wav
     
    Noppoly likes this.
  2. Offline

    gdude2002

    Just tried this out using Spout 1.0.1, doesn't seem to do anything when I try to play music - Nothing is heard.

    Is this because we're using the Stable version of Spout?
     
  3. Offline

    timoun

    no, i use the same version of spout.
    What is your os?
    if it's mac, there are a bug in spout.
    What do you do to play music?
     
  4. Offline

    gdude2002

    I'm using Windows 7 Ultimate.

    The commands I have tried are /rm play 1 and /rm setjuke 1

    The music list is here: http://archivesmc.com/music.php (Modified your script slightly)
     
  5. Offline

    timoun

    I tried your music and i can't hear your music but your music has been download so it must be working so the only possibility it's you have a problem with the encoding of your music

    Try to encode with switch sound file converter.
     
  6. Offline

    gdude2002

    Yup, you are correct, it's something up with the OGG. The second song I added works.

    Quick bug report, then:
    - When I set a song to a jukebox, it sets itself for all jukeboxes.
    - When removing a jukebox, it doesn't stop playing the music (I first noticed that when using superpick, but it seems to happen without too.)
    - /rm stop doesn't stop the sound from jukeboxes.
     
  7. Offline

    timoun

    -No it can't (i tried) :) maybe you put jukebox too close so the music is not stop
    -Yeah i know, with spout for the moment we can't stop a sound effect (For jukebox i have used sound effect to put more music in the world with jukebox)
    -Same reason
     
  8. Offline

    gdude2002

    No, I mean, when I set a jukebox, and I make another one, it uses the same song as the last jukebox (Without doing any extra commands). Might be a good idea to make the command per-jukebox, then we don't break them. This persists if I restart the client, too.

    Also, the Spout topic specifically says: "Stop music playback with fadeout" - Maybe there's a specific music-sound-type-thing?
     
  9. Offline

    morizuki

    what if I don't have a website server?? how can I make a list.php?

    i just want to put a song in a region..
     
  10. Offline

    chernobyl360

    oh so this is a newer better version then my spoutcast plugin ? :D
     
  11. Offline

    timoun

    @gdude2002
    I can only stop music for player. To have several music i cheat spout, i put music in soundeffect because if i put music for all player in the world, i can have only one music to play at the same time. So i prefered sound effect even if i can't stop the music :)

    @morizuki
    You can search a free web server to put your music or search a website wich you can put a file wich contains all url of your music

    @chernobyl360
    I have seen your plugin but my plugin exist before your own in my server ;)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 18, 2016
  12. Offline

    morizuki

    errr.. both files are french XD
     
  13. Offline

    chernobyl360

    cool, its fine i stopped development of mine anyways. This plugin came out very nice though!
     
  14. Offline

    morizuki

    region isn't working.. :( i tried playing the song /rm play musicnumber and it's working, but region not..
     
  15. Offline

    timoun

    you need to define a region with worldguard.
    Exemple: i have made the region "waffle" with worldguard to put music inside you must do /rm setRegion 1 waffle
     
  16. Offline

    morizuki

    yeah I have a region already using world guard, but when i /rm setregion 1 town, and tried to leave town and come back. No error, or nothings playing.. but if i tried /rm play 1.. it will play..
     
  17. Offline

    timoun

    are you alone in you server?
    if you are just hit a block into the region and the music will be start ;)
    Music start when a player interact with a block for not overload the server with player move event and to prevent lag :)
     
  18. Offline

    gdude2002

    Ahhh.. That makes sense. I see.

    What about this? [​IMG]

    @morizuki The music has to be uploaded to a place everyone can access. That could be anything between having your own webserver (Even if on your own PC) to a site that supports sharing direct links to files.
     
  19. Offline

    timoun

    oh sorry i doesn't made a translate for this line.
    the second line just say music cc2g is start for arbot !

    Edit: it is fixed
     
  20. Offline

    gdude2002

    @timoun Would you like me to translate these into proper English for you? Where can I get a list of the strings?
     
  21. Offline

    timoun

    just redownload the jar an restart it.
    you can find lang.txt into the folder RyveMusic to translate the plugin
     
  22. Offline

    morizuki

    nope.. not working.. It spamming me this..

    06:17:22 [SEVERE] Could not pass event PLAYER_INTERACT to RyveMusic
     
  23. Offline

    timoun

    can i have the rest of log?
     
  24. Offline

    morizuki

    sorry forgot to include this..

    Code:
    2011-08-14 06:20:41 [SEVERE] Could not pass event PLAYER_INTERACT to RyveMusic
    java.lang.ClassCastException: org.bukkit.craftbukkit.entity.CraftPlayer cannot be cast to org.getspout.spoutapi.player.SpoutPlayer
        at com.bukkit.arthurh.RyveMusic.RegionMusic.event(RegionMusic.java:35)
        at com.bukkit.arthurh.RyveMusic.RyveMusicPlayerListener.onPlayerInteract(RyveMusicPlayerListener.java:38)
        at org.bukkit.plugin.java.JavaPluginLoader$10.execute(JavaPluginLoader.java:307)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:168)
        at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:63)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:458)
        at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  25. Offline

    timoun

    What version of bukkit do you use?
    Have you the latest version of spout ? (1.0.1)
     
  26. Offline

    MasterPJ

    I have a request i think it would be better ,for me at least, that the URL for the song be linked to another string for the name of the song. This would help a lot since i'm using dropbox and the public links put a %20 in between words in the url and make picking the song in minecraft very difficult. Ex Your%20Body%20Is%20a%20Wonderland.ogg
     
  27. Offline

    morizuki

    CB1000
    and Spout 1.0.1
     
  28. Offline

    timoun

    @MasterPJ
    %20 correspond to a space, i will parse to see an url with no format ;)
    EDIT: it's done :)

    @morizuki
    i never seen this error before, it seem to be an error with spout or craftbukkit. Maybe a developper of spout can help me :)
     
  29. Offline

    MasterPJ

    Thanks for the quick response i appreciate it. Yah i guessed the %20 correspond to space so i was just going to just use underscore but thanks for fixing it. I have some minor further requests

    Request:
    Could you possible hide the extension of the song i think it would look better

    When you set a song for yourself its show 2 notification in the chat the second notification say something like
    music (name of song)start for MasterPJ
    you should change it
    (name of song) started for MasterPJ
    or
    starting

    Also could you put a change log in your initial post
     
  30. Offline

    timoun

    i just do it :)
    You can translate my plugin with the file lang.txt in RyveMusic folder but i update my plugin with your request
     

Share This Page