Résolu Jouer un son en multijoueur
-
Bonjour, j’ai un problème, j’utilise la fonction:
event.entityPlayer.worldObj.playSoundAtEntity(event.entityPlayer, ("icenfiremod:" + "newIceOre"), 1.0F, 1.0F);
cependant, lors-ce que je me connecte à un serveur multi(ne possédant pas le mod), le son ne ce joue pas, pouvez-vous m’aidez merci =D
-
Quel est l’event et es-tu sûr qu’il soit appelé côté client ?
-
L’event c’est PlayerEvent
-
PlayerEvent est un event global, tu ne dois pas l’utiliser. C’est comme si tu utilisais l’event Event, ta fonction serait appelée tout le temps. Tu veux faire quoi ?
-
Je veut que dés que le joueur LVL-UP une séries d’actions se produise(dont le fait de produire un son)
-
Tu peux utiliser le PlaySoundEvent qui sera appelé lorsque le son sera appelé ou alors un tickEvent sur le joueur.
-
Aucun des deux events ne marche
@SubscribeEvent public void iceEvent(PlaySoundEvent event) { EntityPlayer entityPlayer = Minecraft.getMinecraft().thePlayer; if(currentPlayerLvl != entityPlayer.experienceLevel) { entityPlayer.worldObj.playSoundAtEntity(entityPlayer, ("icenfiremod:" + "levelUpByOne"), 1.0F, 1.0F); System.out.println("Sound play: levelUpByOne direct"); } currentPlayerLvl = entityPlayer.experienceLevel; }
@SubscribeEvent public void iceEvent(TickEvent event) { EntityPlayer entityPlayer = Minecraft.getMinecraft().thePlayer; if(currentPlayerLvl != entityPlayer.experienceLevel) { entityPlayer.worldObj.playSoundAtEntity(entityPlayer, ("icenfiremod:" + "levelUpByOne"), 1.0F, 1.0F); System.out.println("Sound play: levelUpByOne direct"); } currentPlayerLvl = entityPlayer.experienceLevel; }
-
J’ai essayé
@SubscribeEvent public void playSounds(PlaySoundEvent event) { EntityPlayer entityPlayer = Minecraft.getMinecraft().thePlayer; if(currentPlayerLvl != entityPlayer.experienceLevel) { entityPlayer.worldObj.playSoundAtEntity(entityPlayer, ("icenfiremod:" + "levelUpByOne"), 1.0F, 1.0F); System.out.println("Sound play: levelUpByOne direct"); } currentPlayerLvl = entityPlayer.experienceLevel; }
Mais ca ne marche pas
-
World.playSoundAtEntity ne fonctionne que côté serveur car il envoie un paquet au client. Pour jouer du son directement côté client il faut utiliser une autre fonction, regardes le son des boutons dans les menus.
-
Je pense que c’est ça:
public void func_146113_a(SoundHandler p_146113_1_) { p_146113_1_.playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); }
Mais je vois pas comment l’utiliser.
Le truc c’est que si je remonte au SoundHandler de Minecraft, je tombe sur ça: public void playSound(ISound p_147682_1_) { this.sndManager.playSound(p_147682_1_); }
Mais je ne peut pas l’utiliser, quand je met SoundHandler.sndManager.playSound(); Il me metThe field SoundHandler.sndManager is not visible. Donc voila
-
Minecraft.getMinecraft().getSoundHandler().playSound
-
@‘SCAREX’:
Minecraft.getMinecraft().getSoundHandler().playSound
Merci mais ca me demande un ISound, c’est quoi ?
-
Va sur l’interface ISound et fait clique droit, puis “Open type hierarchy” et tu pourras voir ce que tu peux utiliser.
-
Okai merci, au final j’ai ça, c’est bizarre mais ça marche:
Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation(References.MODID + ":levelUpByOne"), 1.0F));
-
Résolu ? Si oui il fait mettre la balise.
-
Salut en utilisant ceci ma console me dit qu’il trouve pas mon son :
Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("altiscraft", "sounds/secrets.ogg"), 1.0F));
Alors que dans assets.altiscraft.sounds il y a secrets.ogg :S
-
Tu as bien créé le fichier sounds.json dans assets/alticraft ?
-
Ah oui je viens de le créer comme cela
{
},
“test”: {
“category”: “player”,
“sounds”: [“ac/test”]
},
“secrets”: {
“category”: “player”,
“sounds”: [“secrets”]
}
}et toujours l’erreur : Unable to play unknown soundEvent: altiscraft:sounds/secrets.ogg
Et voici la tête de mes ressources sur Eclipse :
-
Ton json est invalide. http://jsonlint.com/
Il devrait être comme ça :{ "test": { "category": "player", "sounds": [ "ac/test" ] }, "secrets": { "category": "player", "sounds": [ "secrets" ] } }
-
Toujours le même problème après modification :S est-ce que les 3:39 minutes de son peuvent impacter ?