MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Méthode pour faire jouer un son lorsqu'un bloc est posé

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.6.4
    2 Messages 2 Publieurs 1.2k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • SquixS Hors-ligne
      Squix
      dernière édition par

      Bonjour,

      J’ai besoin dans mon mod de faire jouer un son à un bloc lorsqu’il est posé

      Précision : le joueur ne peut pas y échapper(donc il l’entend partout dans le jeu), la musique ne s’arrête que quand le bloc est détruit

      Problème : j’ai beau tout essayé, je n’arrive pas à stopper le son et à le transformer en musique Minecraft (qu’on entendra partout dans le monde).

      Et je n’ai aucun message d’erreur de Forge et mon fichier Nyan.ogg est bien au bon endroit.

      Code de ma Classe Principale :

      package squix.squixsmods.common;
      
      import squix.squixsmods.blocs.NyanBlock;
      import squix.squixsmods.utils.EventSoundNyan;
      import net.minecraft.block.Block;
      import net.minecraftforge.common.MinecraftForge;
      import cpw.mods.fml.common.Mod;
      import cpw.mods.fml.common.Mod.EventHandler;
      import cpw.mods.fml.common.Mod.Instance;
      import cpw.mods.fml.common.event.FMLInitializationEvent;
      import cpw.mods.fml.common.event.FMLPostInitializationEvent;
      import cpw.mods.fml.common.event.FMLPreInitializationEvent;
      import cpw.mods.fml.common.network.NetworkMod;
      import cpw.mods.fml.common.registry.GameRegistry;
      
      @Mod(modid = "SquixsMods", name = "Squix's Mods", version = "1.0.0")
      @NetworkMod(clientSideRequired = true, serverSideRequired = false)
      public class Squixmods
      {
      // Blocs
      
      public static Block NyanBlock;
      
      @Instance("SquixsMods")
      public static Squixmods instance;
      
      @EventHandler
      public void PreInit(FMLPreInitializationEvent event)
      {
      // Configuration
      
      if(event.getSide().isClient())
      {
      MinecraftForge.EVENT_BUS.register(new EventSoundNyan());
      }
      
      // Blocks
      
      NyanBlock = new NyanBlock(2000).setHardness(50.0F).setResistance(2000.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("NyanBlock").setTextureName("squixsmods:NyanBlock");
      
      // Items
      
      // Achievements
      }
      
      @EventHandler
      public void Init(FMLInitializationEvent event)
      {
      // Registry
      GameRegistry.registerBlock(NyanBlock, "NyanBlock");
      
      // Mobs
      
      // Render
      
      // NetWork
      
      // Recipe
      
      }
      
      @EventHandler
      public void PostInit(FMLPostInitializationEvent event)
      {
      // Integration avec les autres mods
      }
      }
      

      Code du NyanBlock :

      package squix.squixsmods.blocs;
      
      import net.minecraft.block.Block;
      import net.minecraft.block.material.Material;
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.entity.EntityLivingBase;
      import net.minecraft.item.ItemStack;
      import net.minecraft.world.World;
      
      public class NyanBlock extends Block
      {
      public NyanBlock(int id)
      {
      super(id, Material.rock);
      this.setCreativeTab(CreativeTabs.tabBlock);
      }
      
      public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
      {
      world.playSoundEffect((double)x + 0.5D, (double)y + 0.5D, (double)z + 0.5D, "squixsmods:Nyan", 1.0F, 1.0F);
      }
      }
      

      Code de EventSoundNyan :

      package squix.squixsmods.utils;
      
      import net.minecraftforge.client.event.sound.SoundLoadEvent;
      import net.minecraftforge.event.ForgeSubscribe;
      
      public class EventSoundNyan
      {
      @ForgeSubscribe
      public void onSound(SoundLoadEvent event)
      {
      try
      {
      event.manager.addSound("squixsmods:Nyan.ogg");
      
      }
      catch(Exception e)
      {
      System.out.println("Failed to registry sound");
      }
      }
      }
      

      System.crash(); //Petite instruction marrante  :D

      Développeur de : RemoveHUDbut…

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002R Hors-ligne
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
        dernière édition par

        public void breakBlock(World world, int x, int y, int z, int id, int metadata)
        {
        world.playSoundEffect((double)x + 0.5D, (double)y + 0.5D, (double)z + 0.5D, null, 0.0F, 0.0F);
        super.breakBlock(world, x, y, z, id, metadata);
        }
        

        Normalement ça devrait couper le son lors de la destruction. Le reste je sais pas, je peux juste te dire que si tu veux faire une musique, il faut utiliser event.manager.addMusic et pour le jouer playSound à la place de playSoundEffect.

        1 réponse Dernière réponse Répondre Citer 0
        • 1 / 1
        • Premier message
          Dernier message
        Design by Woryk
        ContactMentions Légales

        MINECRAFT FORGE FRANCE © 2024

        Powered by NodeBB