MFF

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

    Comment créer un alarme

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    26 Messages 4 Publieurs 4.7k 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.
    • L Hors-ligne
      lexmad13009
      dernière édition par

      Bonjour,

      Je voudrais savoir comment faire une Alarme. Plus précisément quand la block Alarme est activer par de la redstone le block joue un sounds en boucle tant que l’y as un courant de redstone Alarme continue à jouer.

      Info Je sais créer un block 😉

      (Edit) Version: 1.7.10

      Merci de votre compréhension,
      lexmad13009

      1 réponse Dernière réponse Répondre Citer 0
      • LeBossMax2L Hors-ligne
        LeBossMax2
        dernière édition par

        @‘lexmad13009’:

        Bonjour,

        Je voudrais savoir comment faire une Alarme. Plus précisément quand la block Alarme est activer par de la redstone le block joue un sounds en boucle tant que l’y as un courant de redstone Alarme continue à jouer.

        Info Je sais créer un block 😉

        Merci de votre compréhension,
        lexmad13009

        Tu peut utiliser la fonction “onNeighborBlockChange” avec worldIn.isBlockPowered(pos) pour détecter si le block est activé par de la redstone puis tu peux changer son BlockState grace à worldIn.setBlockState(pos, state). Par contre pour jouer un son, je ne sais pas comment faire.

        PS : tu as oublié de mettre la balise de version

        1 réponse Dernière réponse Répondre Citer 0
        • L Hors-ligne
          lexmad13009
          dernière édition par

          Voila l’event que j’ai mis

          public void onNeighborBlockChange(World world, int i, int j, int k, Block l){
                  EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
                  if (Block.getIdFromBlock(l) > 0 && l.canProvidePower() && world.isBlockIndirectlyGettingPowered(i, j, k)){
                      if(true){
                          world.playSoundEffect((double)i + 0.5D, (double)j + 0.5D, (double)k + 0.5D, Reference.MOD_ID + “:alarma”, 1.0F, 1.0F);
                      }
                  }   
              }

          Sa fonctionne mais tant que le sounds n’est pas jouer en boucle pendant qu’il y as encore la redstone actif

          1 réponse Dernière réponse Répondre Citer 0
          • LeBossMax2L Hors-ligne
            LeBossMax2
            dernière édition par

            Je ne vois pas ce que “Block.getIdFromBlock(l) > 0” et “l.canProvidePower()” viennent faire ici, est encore moins “if(true)”.
            Il faut que tu utilise “worldIn.scheduleUpdate(pos, this, X);” pour jouer le son tout les X ticks.
            Ensuite tu as besoin de  la fonction “updateTick” dans laquelle si le block reçoit toujours de la redstone tu vas jouer ton son et ré-exécuter “worldIn.scheduleUpdate(pos, this, X);”. (même pas besoin de s’embêter avec la méta data ou les BlockStates)

            1 réponse Dernière réponse Répondre Citer 0
            • L Hors-ligne
              lexmad13009
              dernière édition par

              Je ne comprend pas

              1 réponse Dernière réponse Répondre Citer 0
              • LeBossMax2L Hors-ligne
                LeBossMax2
                dernière édition par

                @‘lexmad13009’:

                Je ne comprend pas

                Dans ta fonction “updateState”, tu regarde si le block est alimenté en redstone ( world.isBlockIndirectlyGettingPowered(i, j, k) ). Si c’est le cas, alors tu exécute “worldIn.scheduleUpdate(pos, this, X);” (cette fonction vas automatiquement appelé “updateTick” aprés avoir attendu X ticks).

                Ensuite dans la fonction “updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)” si le block est toujours alimenté tu joue le son et tu exécute “scheduleUpdate”. Donc après avoir joué le son, au bout de X ticks, le son va encore être joué, puis encore jusqu’à ce qu’il n’y ai plus de signal redstone.

                1 réponse Dernière réponse Répondre Citer 0
                • L Hors-ligne
                  lexmad13009
                  dernière édition par

                  Ces Méthode n’existe pas chez moi

                  1 réponse Dernière réponse Répondre Citer 0
                  • LeBossMax2L Hors-ligne
                    LeBossMax2
                    dernière édition par

                    @‘lexmad13009’:

                    Ces Méthode n’existe pas chez moi

                    Excuse moi, en 1.7, c’est “worldIn.scheduleUpdate(x, y, z, this, T);” et “updateTick(World world, int x, int y, int z, Random rand)”

                    1 réponse Dernière réponse Répondre Citer 0
                    • L Hors-ligne
                      lexmad13009
                      dernière édition par

                      Mais le truc Random sa vas pas être Random aux niveau du temps ?

                      1 réponse Dernière réponse Répondre Citer 0
                      • LeBossMax2L Hors-ligne
                        LeBossMax2
                        dernière édition par

                        @‘lexmad13009’:

                        Mais le truc Random sa vas pas être Random aux niveau du temps ?

                        Non, c’est que la fonction “updateTick” a deux utilités :
                         - être appelé aléatoirement (grâce à “randomTick”)
                         - être appelé de manière régulière (grâce à “scheduleUpdate”)

                        1 réponse Dernière réponse Répondre Citer 0
                        • L Hors-ligne
                          lexmad13009
                          dernière édition par

                          C’est en tick ou en seconde car par exemple je mes world.scheduleBlockUpdate(x, y, z, this, 130); et sa update en 6 - 7 secondes

                          1 réponse Dernière réponse Répondre Citer 0
                          • LeBossMax2L Hors-ligne
                            LeBossMax2
                            dernière édition par

                            @‘lexmad13009’:

                            C’est en tick ou en seconde car par exemple je mes world.scheduleBlockUpdate(x, y, z, this, 130); et sa update en 6 - 7 secondes

                            C’est en ticks (20 ticks par seconds donc 130ticks = 6.5s)

                            1 réponse Dernière réponse Répondre Citer 0
                            • L Hors-ligne
                              lexmad13009
                              dernière édition par

                              Merci et pour play le son j’utilise sa " world.playSoundEffect((double)x + 0.5D, (double)y + 0.5D, (double)z + 0.5D, Reference.MOD_ID + “:alarma”, 1.0F, 1.0F);" il n’y a pas un autre moyen que sa ou un moyen de baisser le son dans le code ?

                              1 réponse Dernière réponse Répondre Citer 0
                              • LeBossMax2L Hors-ligne
                                LeBossMax2
                                dernière édition par

                                @‘lexmad13009’:

                                Merci et pour play le son j’utilise sa " world.playSoundEffect((double)x + 0.5D, (double)y + 0.5D, (double)z + 0.5D, Reference.MOD_ID + “:alarma”, 1.0F, 1.0F);" il n’y a pas un autre moyen que sa ou un moyen de baisser le son dans le code ?

                                Il faut utiliser les deux derniers arguments (ici, 1.0F et 1.0F)  : le premier est le volume et le deuxième est la vitesse à la laquelle le son vas être joué. Donc si tu veux diminuer le son, il faut mettre quelque chose de plus petit pour l’avant dernier argument.

                                1 réponse Dernière réponse Répondre Citer 0
                                • L Hors-ligne
                                  lexmad13009
                                  dernière édition par

                                  Est que tu sait comment on crée un disk en 1.7.10

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • LeBossMax2L Hors-ligne
                                    LeBossMax2
                                    dernière édition par

                                    @‘lexmad13009’:

                                    Est que tu sait comment on crée un disk en 1.7.10

                                    Je pense que tu peux simplement faire :

                                    new ItemRecord(nom_du_disque)
                                    
                                    1 réponse Dernière réponse Répondre Citer 0
                                    • L Hors-ligne
                                      lexmad13009
                                      dernière édition par

                                      Enfaite je sait crée l’item disk mais quand je le met dans jukebox il ne joue pas le sound

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • LeBossMax2L Hors-ligne
                                        LeBossMax2
                                        dernière édition par

                                        @‘lexmad13009’:

                                        Enfaite je sait crée l’item disk mais quand je le met dans jukebox il ne joue pas le sound

                                        Je pense qu’il faut mettre le son dans un dossier spécial mais je ne m’y connais pas donc je ne peux pas t’aider.

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • FolganskyF Hors-ligne
                                          Folgansky Correcteurs
                                          dernière édition par

                                          Pour le son les deux derniers floats sont le volume puis le pitch (la tonalité).

                                          Donc pour réduire de moitié le volume mais toujours la même tonalité ça fait 0.5F et  1.0F

                                          Edit pour les modos: Chui un boulet, j’avais pas vu la réponse

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

                                            Il faut ajouter cette fonction dans la classe de ton cd :

                                              public ResourceLocation getRecordResource(String name)
                                               {
                                                   return new ResourceLocation("modid:records.nom");
                                               }
                                            

                                            Et enregistrer le son comme expliqué ici : https://www.minecraftforgefrance.fr/showthread.php?tid=788#classe11

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB