MFF

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

    jouer un son est détection relâcher click droit pour un item

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    2 Messages 1 Publieurs 518 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.
    • G Hors-ligne
      gugus
      dernière édition par gugus

      bonjour je suis en 1.12.2 est j’aimerai jouer un son avec un item quand le click droit est activer est quand il est relâcher, comment je peut faire pour jouer un son est et pour détecter quand le click droit est relâcher ? et aussi pour récupère le joueur qui effectuer le click droit.

      G 1 réponse Dernière réponse Répondre Citer 0
      • G Hors-ligne
        gugus @gugus
        dernière édition par

        @gugus
        bonjour,
        vue que j’ai eu énormément de mal a faire un sound sur un click droit je le partage ici comme ca tout le monde peut y avoir accès il y a juste un peut problème au niveau du sound il se lance en répétition quand on garde le click droit enfoncer.

        pour créer un sound il faut déjà l’enregistrer pour sa j’ai fait une nouvel classe que j’ai nommé SoundsHandler.

        public class SoundsHandler {
        
            public static SoundEvent ITEMTEST_PUSH;
        
            public static void registerSounds(){
        
                ITEMTEST_PUSH = registerSound("itemtest.push");
        
            }
        
            private static SoundEvent registerSound(String name){
        
                ResourceLocation location = new ResourceLocation(References.MODID, name);
                SoundEvent event = new SoundEvent(location);
                event.setRegistryName(name);
                ForgeRegistries.SOUND_EVENTS.register(event);
                return event;
        
            }
        
        }
        

        !!! il faut bien import le sound en import net.minecraft.util.SoundEvent;

        normalement pas trop de problème ici.

        on vas tout enregistrer depuis la classe main ou du RegistryHandler
        de cette façon :

        RegistryHandler :

        public class RegistryHandler {
        
            public static void initRegistries(){
        
                SoundsHandler.registerSounds();
        
            }
        }
        

        puis dans les classe main :

        @Mod.EventHandler
            public void preInit(FMLPreInitializationEvent e){
        
                RegistryHandler.initRegistries();
        
                proxy.preInit();
        
            }
        

        ou bien directement dans la classe main :

        @Mod.EventHandler
            public void preInit(FMLPreInitializationEvent e){
        
            public static void initRegistries(){
        
                SoundsHandler.registerSounds();
        
            }
        }
        

        pour avoir accès au sound on vas dnas les package resource en on vas créer dans ressources.asset.modid un nouveau fichier du nom de sounds.json

        {
          "itemtest.push":
          {
            "category": "item",
            "sounds":
                    [
                      {
                        "name": "modid:item/itemtest/push",
                        "stream": true
                      }
                    ]
          }
        }
        

        en premier on a le nom de notre sound, puis la category, puis le sound en luis même avec le name qui permet de trouver le sound dans ressource comme pour les item

        on vas créer un nouveau package dans ressource du nom de sounds pour implémenter tout nos package comme dans le name de sounds.json . pour ma part les package serons présenter comme sa :
        sounds
        item
        itemtest

        le sound doit etre obligatoirement en .ogg avec le bon nom
        pour moi se sera :
        push.ogg

        avec sa on peut deja tester le sond le lui même dans le jeux avec la commance /playsound

        mais pour le metre sur un item par exemple quand on fait un click droit sa me donne :

          @Override
            public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) {
                worldIn.playSound(playerIn, playerIn.posX, playerIn.posY, playerIn.posZ, SoundsHandler.ITEMTEST_PUSH, SoundCategory.AMBIENT, 1.0F, 1.0F);
                return super.onItemRightClick(worldIn, playerIn, handIn);
            }
        

        avec ces ligne le sound se joue constament quand le click reste enfoncer donc attention
        ( j’ai pas encore trouver comment on fait pour qu’il se joue qu’une foit avec un click long)

        voila si sa a aider de rien 🙂

        1 réponse Dernière réponse Répondre Citer 0
        • G gugus has marked this topic as solved on
        • robin4002R robin4002 a déplacé ce sujet de Support pour les moddeurs sur
        • 1 / 1
        • Premier message
          Dernier message
        Design by Woryk
        ContactMentions Légales

        MINECRAFT FORGE FRANCE © 2024

        Powered by NodeBB