L'event sound de Forge
-
Bonjour,
J’ai suivi le tuto et créé un item pour jouer un son (une jukebox), mais quand je fais un clic droit, rien ne se passe.
Pouvez-vous m’aider ?Classe principale :
if(event.getSide().isClient()) { MinecraftForge.EVENT_BUS.register(new SoundEvent()); } jukeBox1 = (new ItemJukebox1(jukeBox1ID)).setUnlocalizedName("JukeBox1").setTextureName("dragons:jukebox_1"); GameRegistry.registerItem(jukeBox1, "Jukebox 1", "Dragons");ItemJukebox1 :
package fr.MrBlockTNT.Dragons.item; import fr.MrBlockTNT.Dragons.core.Dragons; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemJukebox1 extends Item { public ItemJukebox1(int id) { super(id); this.setCreativeTab(Dragons.DragonsTab); } public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { world.playSoundAtEntity(player, "dragons:boss/fire_dragon", 1.0F, 1.0F); return stack; } }SoundEvent :
package fr.MrBlockTNT.Dragons.event; import net.minecraftforge.client.event.sound.SoundLoadEvent; import net.minecraftforge.event.ForgeSubscribe; public class SoundEvent { @ForgeSubscribe public void onSound(SoundLoadEvent event) { try { event.manager.addMusic("dragons:boss/boss_end.ogg"); event.manager.addMusic("dragons:boss/fire_dragon.ogg"); event.manager.addMusic("dragons:boss/fire_dragon_second_half.ogg"); } catch(Exception e) { System.out.println("Failed to registry sound"); } } } -
Pour les musiques utilise world.playRecord(“nom du son”, x, y, z);
Pour x y et z utilise (int)player.xPos, etc …
Et le nom du son est plutôt dragons:boss.fire_dragon pour le jouer, pour l’enregistrer celle le /. Par contre j’ai jamais testé avec les / donc si marche pas essaye sans. -
D’accord, merci :)___
EDIT : ça marche parfaitement ! Il fallait effectivements changer les “/” en “.” pour l’utilisation de la musique et changer par playRecord :D___
Par contre, comment faire jouer le son en boucle ? -
Pour ça il faudrait jouer la son dans la fonction onUpdate et faire un timer.
-
Un petit exemple de timer svp

(je ne me suis jamais servi de timer, et tous les tutos que j’ai trouvés son nuls ou mal expliqués :() -
-
Merci

-
heu moi j’ai suivie exactement le tuto mais j’ai pas de son…
mes classe:
item: http://pastebin.com/rDyK6Dch
main: http://pastebin.com/mzrfMhpU
eventsound: http://pastebin.com/jzZKDiQZ -
Enlève le 1 dans la fonction pour jouer le son.
-
Hello tout le monde j’ai essayé d’appliquer l’event sound de forge à mon mod en suivant ce tutoriel mais étant en 1.7 le code ne marche pas voici ma class :
package mods.maxiworldcraft.mineKingdomHeartsmod.common; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.client.event.sound.SoundLoadEvent; public class MineKingdomHeartsEventSound { @SubscribeEvent public void onSound(SoundLoadEvent event) { try { event.manager.addStreaming("modtutoriel:explosion1.ogg"); } catch(Exception e) { System.out.println("Failed to registry sound"); } } }et étrangement ‘manager’ est barré plz de l’aide
EDIT = Il faut juste oublier l’event sound et ne s’occuper que du sound.json
Désolé du dérangement -
En 1.7.x, il n’y a plus besoin d’utiliser d’event sounds
-
http://www.minecraftforgefrance.fr/showthread.php?tid=788#classe11
En attendant le tutoriel pour les sons 1.7 -
Bonjour !
Plus tôt que d’ouvrir un post d’aide j’aurais aimé savoir comment on fait pour que le son se répète en boucle ?
C’est pour un block
-
cela m’interesse aussi
-
Avec un timer, je vois pas d’autre solution.
-
Aurais-tu une base de timer pour cette spécificité ?
-
tile entity, puis avec la fonction onupdate tu fais varier un int, quand il a atteint la valeur voulu, tu le remet à 0 et tu joue le son.
-
Et si c’est pas avec un bloc robin? (comme avec mes biome)
De plus la fonction stopAllSounds ne marche pas chez moi
-
Il te faux une fonction exécuté à chaque tick.
-
Si c’est exécuter à chaque tick ça va la lancer à chaque tick justement
