L'event sound de Forge
-
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
-
tick je pense.
-
Bonjour,
je revient a vous car il reste un pb avec cette commande, en fait quand on lance minecraft avec Eclipse la musique se lance, mais une fais compilé et installé dans minecraft, le son ne se lance pas.
voila, j’ai essayer plusieurs correctif qui marchent 1 fois sur 5, et la seule façon je pense, ce serais de pouvoir tester si le son en question est entrain d’être lu, et ce je ne sais pas le faire
merci d’avence
-
Heu quelle commande ? Tu veux dire code plutôt non ? Tu es 1.7.2 ou 1.7.10 ?
-
oui je voulais dire code, je suis en 1.7.10
-
Pourtant il devrait.
Ton fichier ogg se trouve où ? -
assets/sao/sounds/
-
Dans src/main/java ou dans src/main/resources ?
-
src/main/resources
-
ça devrait être bon alors

Envoie un zip de ton dossier src. -
voici https://www.dropbox.com/s/a8pjsz91edaqtg3/src.rar?dl=0
mais comme je vois l’ai dit la musique se lance avec eclipse mais pas avec forge
n’airait t’il pas un moyen de tester si ma musique est joué
-
Si la musique ce lançait elle s’entendrait. Après vérifie aussi dans les options que le son n’est pas à 0 %