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

    Trop de blocs posés

    Sans suite
    1.7.10
    3
    5
    802
    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.
    • LavaPower
      LavaPower last edited by

      Bonjour,

      J’ai créé un effet custom afin de poser des blocs de glace sous mes pieds :

      public void onTickPlayer(TickEvent.PlayerTickEvent event)
          {
                      event.player.worldObj.setBlock((int)event.player.posX+1, (int)event.player.posY-2, (int)event.player.posZ+1, Blocks.ice);
                      event.player.worldObj.setBlock((int)event.player.posX+1, (int)event.player.posY-2, (int)event.player.posZ, Blocks.ice);
                      event.player.worldObj.setBlock((int)event.player.posX, (int)event.player.posY-2, (int)event.player.posZ+1, Blocks.ice);
                      event.player.worldObj.setBlock((int)event.player.posX, (int)event.player.posY-2, (int)event.player.posZ, Blocks.ice);
          }
      

      Cependant, il me pose trop de blocs :
      :::
      (http://image.noelshack.com/fichiers/2017/15/1491939002-2017-04-11-21-22-57.png)
      :::

      Pouvez-vous m’aider ?

      Merci d’avance,
      LP

      Github : http://github.com/LavaPower

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

        Il faut rajouter un compteur, une opération par modulo de World#getTotalWorldTime pourrait marcher.

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

          J’ai pas trop compris ce que tu veux dire… Pourrais-tu me dis comment et pourquoi faire cela ?

          Github : http://github.com/LavaPower

          1 Reply Last reply Reply Quote 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

            if(event.player.worldObj.getTotalWorldTime() % 20 == 0)
            {
            // action
            C’est pour éviter de faire l’action à chaque tick.

            Je trouve ça étrange qu’il pose 3 couches en dessous du joueur, vu ton code il devrait que en avoir une.

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

              Ouais 😕 Je vais voir si ton code marche robin

              EDIT : 
              Ca ne correspond pas a ce que je veux, maintenant il fait apparaître les trois couches tous les x ticks mais du coup si je me déplace, je risque de tomber de la plateforme créer. J’ai modifié “un peu” ma fonction :

              @SubscribeEvent
                  public void onTickPlayer(TickEvent.PlayerTickEvent event)
                  {
                      if(event.player.isPotionActive(DeamonEffect.customEffectID))
                      {
                          if(event.player.inventory.getStackInSlot(8) == null)
                          {
                              event.player.inventory.setInventorySlotContents(8, new ItemStack(Items.snowball,64));
                          }
                          else if(event.player.inventory.getStackInSlot(8).getItem() == Items.snowball)
                          {
                              event.player.inventory.setInventorySlotContents(8, new ItemStack(Items.snowball,64));
                          }
                          else
                          {
                              event.player.addChatMessage(new ChatComponentText("Merci de vider le 40ème slot qui est :"));
                              event.player.addChatMessage(new ChatComponentText(event.player.inventory.getStackInSlot(40).getItem().getUnlocalizedName()));
                          }
              
                          if(event.player.isSneaking())
                          {
                              if(event.player.worldObj.getTotalWorldTime() % 20 == 0)
                              {
                                  if(event.player.worldObj.getBlock((int)event.player.posX+1, (int)event.player.posY-2, (int)event.player.posZ+1)==Blocks.ice)
                                  {
                                      event.player.worldObj.setBlock((int)event.player.posX+1, (int)event.player.posY-2, (int)event.player.posZ+1, Blocks.air);
                                      event.player.worldObj.setBlock((int)event.player.posX+1, (int)event.player.posY-3, (int)event.player.posZ+1, Blocks.ice);
                                  }
                                  if(event.player.worldObj.getBlock((int)event.player.posX+1, (int)event.player.posY-2, (int)event.player.posZ)==Blocks.ice)
                                  {
                                      event.player.worldObj.setBlock((int)event.player.posX+1, (int)event.player.posY-2, (int)event.player.posZ, Blocks.air);
                                      event.player.worldObj.setBlock((int)event.player.posX+1, (int)event.player.posY-3, (int)event.player.posZ, Blocks.ice);
                                  }
                                  if(event.player.worldObj.getBlock((int)event.player.posX, (int)event.player.posY-2, (int)event.player.posZ+1)==Blocks.ice)
                                  {
                                      event.player.worldObj.setBlock((int)event.player.posX, (int)event.player.posY-2, (int)event.player.posZ+1, Blocks.air);
                                      event.player.worldObj.setBlock((int)event.player.posX, (int)event.player.posY-3, (int)event.player.posZ+1, Blocks.ice);
                                  }
                                  if(event.player.worldObj.getBlock((int)event.player.posX, (int)event.player.posY-2, (int)event.player.posZ)==Blocks.ice)
                                  {
                                      event.player.worldObj.setBlock((int)event.player.posX, (int)event.player.posY-2, (int)event.player.posZ, Blocks.air);
                                      event.player.worldObj.setBlock((int)event.player.posX, (int)event.player.posY-3, (int)event.player.posZ, Blocks.ice);
                                  }
                              }
                          }
                          else
                          {
                              if(event.player.worldObj.getTotalWorldTime() % 20 == 0)
                              {
                                  event.player.worldObj.setBlock((int)event.player.posX+1, (int)event.player.posY-2, (int)event.player.posZ+1, Blocks.ice);
                                  event.player.worldObj.setBlock((int)event.player.posX+1, (int)event.player.posY-2, (int)event.player.posZ, Blocks.ice);
                                  event.player.worldObj.setBlock((int)event.player.posX, (int)event.player.posY-2, (int)event.player.posZ+1, Blocks.ice);
                                  event.player.worldObj.setBlock((int)event.player.posX, (int)event.player.posY-2, (int)event.player.posZ, Blocks.ice);
                              }
                          }
                      }
                  }
              

              Github : http://github.com/LavaPower

              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