• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Comment créer un alarme

    Sans suite
    1.7.10
    4
    26
    3931
    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
      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
      • LeBossMax2
        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
          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
          • LeBossMax2
            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
              lexmad13009 dernière édition par

              Je ne comprend pas

              1 réponse Dernière réponse Répondre Citer 0
              • LeBossMax2
                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
                  lexmad13009 dernière édition par

                  Ces Méthode n’existe pas chez moi

                  1 réponse Dernière réponse Répondre Citer 0
                  • LeBossMax2
                    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
                      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
                      • LeBossMax2
                        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
                          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
                          • LeBossMax2
                            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
                              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
                              • LeBossMax2
                                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
                                  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
                                  • LeBossMax2
                                    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
                                      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
                                      • LeBossMax2
                                        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
                                        • Folgansky
                                          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
                                          • robin4002
                                            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
                                            Contact / Mentions Légales

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB