• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Unsolved Timer on block

    Sans suite
    1.12.2
    3
    3
    125
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      SangloZ last edited by

      Bonjour j’aurais besoin d’aide pour faire un timer, en gros quand je casse un block je le remplace par de la stone et le fait drop mais j’aimerais qu’il redevienne le minerais au bout de 30sec par exemple, mon code:

      if (state.getBlock().canHarvestBlock(world, pos, event.getPlayer())) {
                              world.spawnEntity(new EntityItem(world, pos.getX(), pos.getY(), pos.getZ(), item));
                              event.setCanceled(true);
                              world.setBlockState(pos, Blocks.STONE.getDefaultState());
      

      Si quelqu’un avait une solution, merci d’avance 😉

      1 Reply Last reply Reply Quote 0
      • Benjamin Loison
        Benjamin Loison last edited by

        Bonjour,

        Je n’ai pas trop d’idée côté mod, toutefois j’ai déjà fait ceci pour un plugin en 1.7.10: https://github.com/Benjamin-Loison/Lot-of-Java-projects/blob/master/Minecraft mods and plugins/Annihilation/src/fr/annihilation/benjaminloison/main/EventHandler.java#L735

        >! Développeur de Altis-Life (Arma III) sur Minecraft !
        >! Site web     : https://lemnoslife.com
        TeamSpeak : ts.lemnoslife.com

        1 Reply Last reply Reply Quote 0
        • Asonyx
          Asonyx last edited by

          Bonjour,

          pour crée un timer, tu peux directement le faire avec Java (la class Timer)

          par exemple, si tu veux crée un délais de 30s, tu peux faire :

          import java.util.Timer; // à ne pas oublier
          
          //...
          
          //Le code avant le timer de 30s
          
          Timer timer = new Timer();
          timer.schedule(new TimerTask() {
              @Override
              public void run() {
                  //Le code après le timer de 30s
              }
          }, 30000 /*En millisecondes, ex : 2s = 2000ms, donc 30000ms = 30s */  );
          
          // Le code ici s'exécutera en même temps que celui au dessus du timer
          
          //...
          

          N’hésite pas à me demander si jamais il y a quelque chose qui marche pas ou que tu n’as pas compris, en tout cas, si tu veut en savoir plus sur les timer en Java, tu peux aller voir cette vidéo : https://www.youtube.com/watch?v=He1Pvyewr_M

          Bonne journée, Asonyx

          1 Reply Last reply Reply Quote 0
          • 1 / 1
          • First post
            Last post
          Design by Woryk
          Contact / Mentions Légales

          MINECRAFT FORGE FRANCE © 2018

          Powered by NodeBB