MFF

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

    Soucis d'exactitude avec Calendar

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    11 Messages 2 Publieurs 1.9k 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.
    • FolganskyF Hors-ligne
      Folgansky Correcteurs
      dernière édition par

      Plop les gens,

      Aujourd’hui j’écris ici concernant un event TickWorld qui serait appelée à une heure précise de la journée, ici afin de faire spawn un bloc à une coordonnée random parmi plusieurs possibles.

      Mon soucis se trouve au niveau des millisecondes qui sont… compliquées à gérer car le println ne rend jamais les mêmes valeurs à un nombre de ticks identiques.
      Ce qui fait que je ne peux mettre sa valeur en condition, ce qui fait que la méthode est appelée 20 fois, donc mon random est saccagé.

      Voici le code, peut-être que ma mise en condition n’est pas bonne, mais ça fonctionne jusqu’à certaines limites dont nous parlons justement:

      @SubscribeEvent
          public void tileFourgonSpawnEvent(TickEvent.WorldTickEvent event)
          {
              Calendar calendar = Calendar.getInstance();
              Random rand = new Random();
      
              System.out.println(calendar.getTime());
              System.out.println(calendar.get(Calendar.MILLISECOND));
      
              if(calendar.get(Calendar.HOUR_OF_DAY) == 12 && calendar.get(Calendar.MINUTE) == 4 && calendar.get(Calendar.SECOND) == 50)
              {
                  int randInt = rand.nextInt(3);
                  System.out.println(randInt);
                  if(randInt == 0)
                  {
                      Block block = event.world.getBlock(-430, 5, 360);
                      if(block == Blocks.air)
                      {
                          event.world.setBlock(-430, 8, 360, Blocks.obsidian);
                      }
                  }
                  if(randInt == 1)
                  {
                      Block block = event.world.getBlock(-430, 5, 360);
                      if(block == Blocks.air)
                      {
                          event.world.setBlock(-430, 9, 360, Blocks.obsidian);
                      }
                  }
                  if(randInt == 2)
                  {
                      Block block = event.world.getBlock(-430, 5, 360);
                      if(block == Blocks.air)
                      {
                          event.world.setBlock(-430, 10, 360, Blocks.obsidian);
                      }
                  }
              }
          }
      
      1 réponse Dernière réponse Répondre Citer 0
      • BrokenSwingB Hors-ligne
        BrokenSwing Moddeurs confirmés Rédacteurs
        dernière édition par

        Tu pourrais faire ça :

        
        private boolean done = false;
        
        @SubscribeEvent
        public void tileFourgonSpawnEvent(TickEvent.WorldTickEvent event)
        {
        Calendar calendar = Calendar.getInstance();
        Random rand = new Random();
        
        System.out.println(calendar.getTime());
        System.out.println(calendar.get(Calendar.MILLISECOND));
        
        if(calendar.get(Calendar.HOUR_OF_DAY) == 12 && !done)
        {
        done = true;
        int randInt = rand.nextInt(3);
        System.out.println(randInt);
        if(randInt == 0)
        {
        Block block = event.world.getBlock(-430, 5, 360);
        if(block == Blocks.air)
        {
        event.world.setBlock(-430, 8, 360, Blocks.obsidian);
        }
        }
        if(randInt == 1)
        {
        Block block = event.world.getBlock(-430, 5, 360);
        if(block == Blocks.air)
        {
        event.world.setBlock(-430, 9, 360, Blocks.obsidian);
        }
        }
        if(randInt == 2)
        {
        Block block = event.world.getBlock(-430, 5, 360);
        if(block == Blocks.air)
        {
        event.world.setBlock(-430, 10, 360, Blocks.obsidian);
        }
        }
        } else {
        done = false;
        }
        }
        
        

        Cependant, si ton serveur redémarre entre 12h et 13h, tu aura deux fois la génération (après tu peux toujours enregistrer cette valeur quelque part).

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

          Mmmh nope le code passe false/true/false/true/… pendant 20ticks, c’pas trop ça 😃

          Edit:Et d’après ton code ça devrait faire ça pendant une heure ^^’ car le calendar renvoie 12 pendant une heure. Et non pas une seule fois

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

            Mince, j’ai loupé, désolé :

            
            private boolean done = false;
            
            @SubscribeEvent
            public void tileFourgonSpawnEvent(TickEvent.WorldTickEvent event)
            {
            Calendar calendar = Calendar.getInstance();
            Random rand = new Random();
            
            System.out.println(calendar.getTime());
            System.out.println(calendar.get(Calendar.MILLISECOND));
            
            if(calendar.get(Calendar.HOUR_OF_DAY) == 12)
            {
            if(!done) {
            done = true;
            int randInt = rand.nextInt(3);
            System.out.println(randInt);
            if(randInt == 0)
            {
            Block block = event.world.getBlock(-430, 5, 360);
            if(block == Blocks.air)
            {
            event.world.setBlock(-430, 8, 360, Blocks.obsidian);
            }
            }
            if(randInt == 1)
            {
            Block block = event.world.getBlock(-430, 5, 360);
            if(block == Blocks.air)
            {
            event.world.setBlock(-430, 9, 360, Blocks.obsidian);
            }
            }
            if(randInt == 2)
            {
            Block block = event.world.getBlock(-430, 5, 360);
            if(block == Blocks.air)
            {
            event.world.setBlock(-430, 10, 360, Blocks.obsidian);
            }
            }
            }
            } else {
            done = false;
            }
            }
            
            

            Bon j’ai pas formaté le code mais bon

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

              D’accord mais ça n’enlève en rien le fait que la fonction est appelée au moins 20fois si je fais à la seconde près (si je mets en condition les secondes).

              Ce code:

              public class ServerEvents
              {
                  private boolean done = false;
              
                  @SubscribeEvent
                  public void tileFourgonSpawnEvent(TickEvent.WorldTickEvent event)
                  {
                      Calendar calendar = Calendar.getInstance();
                      Random rand = new Random();
              
                      System.out.println(calendar.getTime());
                      System.out.println(done);
              
                      if(calendar.get(Calendar.HOUR_OF_DAY) == 14 && calendar.get(Calendar.MINUTE) == 17 && calendar.get(Calendar.SECOND) == 10)
                      {
                          if(!done)
                          {
                              done = true;
                              int randInt = rand.nextInt(3);
                              if(randInt == 0)
                              {
                                  Block block = event.world.getBlock(-430, 5, 360);
                                  if(block == Blocks.air)
                                  {
                                      event.world.setBlock(-430, 8, 360, Blocks.obsidian);
                                  }
                              }
                              if(randInt == 1)
                              {
                                  Block block = event.world.getBlock(-430, 5, 360);
                                  if(block == Blocks.air)
                                  {
                                      event.world.setBlock(-430, 9, 360, Blocks.obsidian);
                                  }
                              }
                              if(randInt == 2)
                              {
                                  Block block = event.world.getBlock(-430, 5, 360);
                                  if(block == Blocks.air)
                                  {
                                      event.world.setBlock(-430, 10, 360, Blocks.obsidian);
                                  }
                              }
                          }
                      }
                      else
                      {
                          done = false;
                      }
                  }
              }
              

              Donne ça:

              [14:17:09] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:09 CET 2016
              false
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              false
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:10] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:10 CET 2016
              true
              [14:17:11] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:11 CET 2016
              true
              [14:17:11] [Server thread/INFO] [STDOUT]: [fr.powergame.modpg2.common.ServerEvents:tileFourgonSpawnEvent:21]: Tue Nov 15 14:17:11 CET 2016
              false
              

              Avec un tel nombre d’appels…

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

                Bien sûr que la fonction est appelée 20 fois par seconde …

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

                  Ce qui m’empêche de faire un random, ça me cantonne à une horaire/une position

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

                    @‘Toutoune1008’:

                    Plop les gens,

                    Aujourd’hui j’écris ici concernant un event TickWorld qui serait appelée à une heure précise de la journée, ici afin de faire spawn un bloc à une coordonnée random parmi plusieurs possibles.

                    Ton heure est prédéfinie, je me trompe ?

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

                      Oui genre à 19h30 pile un bloc apparait à l’une des X coordonnées possibles, disons X = 8 pour l’exemple.

                      Mais si la méthode est appelée 20fois, le random est lancé 20fois et donc le bloc a trèèèèèès peu de chance de ne spawn qu’à un seul des points prévus ^^’

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

                        
                        /** Sert à savoir si l'action a déjà été faite */
                        private boolean done = false;
                        
                        @SubscribeEvent
                        public void tileFourgonSpawnEvent(TickEvent.WorldTickEvent event)
                        {
                        Calendar calendar = Calendar.getInstance();
                        
                        if(calendar.get(Calendar.HOUR_OF_DAY) == 14 && calendar.get(Calendar.MINUTE) == 17 && calendar.get(Calendar.SECOND) == 10)
                        {
                        if(!done) //Si et seulement si l'action n'a pas encore été faite
                        {
                        done = true; //On va faire l'action donc on dit qu'elle a étét faite
                        Random rand = new Random(); //On crée le nombre aléatoire
                        
                        //C'est ton code je ne vais pas te l'expliquer
                        int randInt = rand.nextInt(3);
                        if(randInt == 0)
                        {
                        Block block = event.world.getBlock(-430, 5, 360);
                        if(block == Blocks.air)
                        {
                        event.world.setBlock(-430, 8, 360, Blocks.obsidian);
                        }
                        }
                        if(randInt == 1)
                        {
                        Block block = event.world.getBlock(-430, 5, 360);
                        if(block == Blocks.air)
                        {
                        event.world.setBlock(-430, 9, 360, Blocks.obsidian);
                        }
                        }
                        if(randInt == 2)
                        {
                        Block block = event.world.getBlock(-430, 5, 360);
                        if(block == Blocks.air)
                        {
                        event.world.setBlock(-430, 10, 360, Blocks.obsidian);
                        }
                        }
                        
                        //Quand on est ici on a done qui vaut true donc sur les 19 prochain ticks, l'action ne va pas se réaliser
                        }
                        }
                        else
                        {
                        //Et là c'est quand on a dépassé la date, la prochaine fois que la date sera bonne on fera l'action
                        done = false;
                        }
                        }
                        
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • FolganskyF Hors-ligne
                          Folgansky Correcteurs
                          dernière édition par

                          Merci de m’avoir aidé pour ce léger soucis de compréhension.

                          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