L'event sound de Forge
-
Tutoriel prévu(regarde tutoriels en préparation), ce message serait mieux dans le support en passant.
-
Le dossier c’est assets/modid/records
Et il faut pas utiliser event.manager.addSound mais event.manager.addStreaming -
Oui je sais qu’il serait mieux dans la rubrique aide mais étant donnée qu’il avait rapport avec les sons, j’ai pensé qu’il aurait été utile ici.
Si un tuto est prévu, dans ce cas, mon post peut être supprimé. Je peux attendre la sorti du tuto
-
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.

