L'event sound de Forge
-
Si c’est exécuter à chaque tick ça va la lancer à chaque tick justement
-
Il faut une fonction exécuté à chaque tick pour le timer x).
-
À oui exact
-
Bonjour,
je n’arrive pas a faire marcher mes sons ( je suis en 1.7.10 )
mon event marche ( quand je fait clic droit sa doit lancer le son )
je l’ai meme tester en mettant le son du coffre
Mais en mettant mon son sa me dit :
Unable to play unknown soundEventJe suis pas sur d’avoir tres bien compris avec le fichiers json et ou placer tout sa
donc le fichier sounds.json est dans : assets/roboticmod
{ "fourarc": { "category": "block", "sounds": [ "arc_electrique" ] } }quand au son je l’ai mis dans :
assets\roboticmod\soundsmais la ou je se suis plus sur c’est dans la classe de mon item test
world.playSoundAtEntity(player, “roboticmod:arc_electrique”, 1.0F, 1.0F);
J’ai chercher des tutos mais je n’en ai trouvé aucun et malgré de nombreux essais je n’y arrive pas
Désoler si c’est une erreur bête. -
Avec ce que tu as mit dans le json, le son s’appele roboticmod:fourarc
arc_electrique c’est le nom du ogg, ce n’est pas le nom à mettre dans la fonction playSound -
Ahhh oui c’est tout de suite plus clair et sa marche
merci -
Bonjour
comment on fait pour jouer le non dans une gui en 1.7 ?
-
En regardant la classe GuiButton :
this.mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation(“gui.button.press”), 1.0F)); -
je suppose que “gui.button.press” je dois le remplacer par le nom de mon son mais ou je doit mettre cette ligne dans ma gui car je voudrais que la musique soit joué dans la gui principale
en fait je modifie le menu de minecraft et je voudrais changer la musique de fond
-
Dans la fonction initGui
Pour jouer une musique utilise plutôt this.mc.getSoundHandler().playMusicPour l’enregistrement des sons en 1.7 : http://minecraftforgefrance.fr/showthread.php?tid=788#classe11
-
ok mais oû je place le nom du son
-
Là :
this.mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("modid’, “nom”), 1.0F)); -
je crois que ça vient du fait que mon mod est en 1.7.10 mais il me met une erreur sur le passage playMusic
l’erreur disparait si je le remplace par playSound mais je n’ai pas le son qui se lance au démarage -
Non c’est de ma faute, il me semblait qu’il y avait une fonction playMusic mais je viens de vérifier il faut bien utiliser playSound.
Si ça ne fonctionne pas avec playSound c’est surement car ton fichier sounds.json est erroné, vérifie-le avec jsonlint. -
j’ai vérifier un mon json avec un sire et il me dit qu’il est valide :
voici le .jison:
{
“main”: {
“category”: “music”,
“sounds”: [
“sao”
]
}
}la ligne pour jouer le son: this.mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation(“sao”, “main”), 1.0F));
y a t’il quelque chose a ajouter ?
-
Ton fichier s’appelle donc sao, il est bien en format .ogg et se trouve bien dans le dossier assets/sao/sounds/ ?
Sinon envoie les logs du lancement du jeu, si il y a un problème ça sera affiché. -
Merci! infiniment le son se lance !! mais il reste un problème… il se lance en boucle
Edit:
j’ai trouvé une solution a la boucle mais il y a le son de minecraft dérière, comment enlever la musique d’origine
-
perçone n’a d’idée pour couper la musique avant de lancer celle que je lance avec cette commande
-
Attention au double post.
Tu peux utiliser this.mc.getSoundHandler().stopSounds() pour stoper tous les sons lancés avant de lancer ta musique.En revanche ça ne change pas le timer de la musique de Minecraft, donc elle risque de se lancer plus tard. Il faudrait remettre le timer a une valeur plus élevé.
Et comme c’est une variable privé, il faut utiliser la réflexion.Ceci devrait fonctionner :
MusicTicker musicTicker = ObfuscationReflectionHelper.getPrivateValue(Minecraft.class, Minecraft.getMinecraft(), "mcMusicTicker", "field_147126_aw"); ObfuscationReflectionHelper.setPrivateValue(MusicTicker.class, musicTicker, 1000, "field_147676_d"); -
je ne voulais pas faire de double post, merci ca retarde la musique, je suppose que 1000 est le temps avant lencement de la musique de minecraft mais c’est des secondes ou des tick