MFF

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

    Trop de blocs posés

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    5 Messages 3 Publieurs 1.0k 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.
    • LavaPowerL Hors-ligne
      LavaPower
      dernière édition par

      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 réponse Dernière réponse Répondre Citer 0
      • DeletedD Hors-ligne
        Deleted
        dernière édition par

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

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

          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 réponse Dernière réponse Répondre Citer 0
          • robin4002R En ligne
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
            dernière édition par

            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 réponse Dernière réponse Répondre Citer 0
            • LavaPowerL Hors-ligne
              LavaPower
              dernière édition par

              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 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