MFF

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

    Hammer

    Planifier Épinglé Verrouillé Déplacé Non résolu Sans suite
    1.14.3
    21 Messages 4 Publieurs 1.3k Vues 2 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.
    • DailyCraftD Hors-ligne
      DailyCraft
      dernière édition par DailyCraft

      Après avoir repris un code en 1.12, voila les erreurs : EntityLivingBase, getPositionEyes (ligne 3), getLook (ligne 4), addVector (ligne 5), typeOfHit (ligne 16), EnumFacing, sideHit (ligne 21) et setBlockToAir (ligne 73)

      Et voila le code ou il y a les erreurs pour que vous sachiez ou elle se trouve :

          public RayTraceResult rayTrace(double blockReachDistance, float partialTicks, World w, EntityLivingBase e)
          {
              Vec3d vec3d = e.getPositionEyes(partialTicks);
              Vec3d vec3d1 = e.getLook(partialTicks);
              Vec3d vec3d2 = vec3d.addVector(vec3d1.x * blockReachDistance, vec3d1.y * blockReachDistance, vec3d1.z * blockReachDistance);
              return w.rayTraceBlocks(vec3d, vec3d2, false, false, true);
          }
      
          @Override
          public boolean onBlockDestroyed(ItemStack breaker, World w, BlockState state, BlockPos pos, EntityLivingBase e)
          {
              if (e instanceof PlayerEntity && !w.isRemote)
              {
                  PlayerEntity p = (PlayerEntity) e;
                  RayTraceResult r = this.rayTrace(5.0D, 0.0F, w, e);
                  if (r.typeOfHit == RayTraceResult.Type.BLOCK)
                  {
                      int x = pos.getX();
                      int y = pos.getY();
                      int z = pos.getZ();
                      EnumFacing side = r.sideHit;
                      // Y
                      // UP - DOWN
                      if (side == EnumFacing.DOWN || side == EnumFacing.UP)
                      {
                          this.destroyAndDropBlock(w, p, breaker, x + 1, y, z - 1);
                          this.destroyAndDropBlock(w, p, breaker, x + 1, y, z);
                          this.destroyAndDropBlock(w, p, breaker, x + 1, y, z + 1);
                          this.destroyAndDropBlock(w, p, breaker, x, y, z - 1);
                          // Middle block
                          this.destroyAndDropBlock(w, p, breaker, x, y, z + 1);
                          this.destroyAndDropBlock(w, p, breaker, x - 1, y, z - 1);
                          this.destroyAndDropBlock(w, p, breaker, x - 1, y, z);
                          this.destroyAndDropBlock(w, p, breaker, x - 1, y, z + 1);
                      }
                      // Z
                      // NORTH - SOUTH
                      else if (side == EnumFacing.NORTH || side == EnumFacing.SOUTH)
                      {
                          this.destroyAndDropBlock(w, p, breaker, x + 1, y + 1, z);
                          this.destroyAndDropBlock(w, p, breaker, x, y + 1, z);
                          this.destroyAndDropBlock(w, p, breaker, x - 1, y + 1, z);
                          this.destroyAndDropBlock(w, p, breaker, x + 1, y, z);
                          // Middle block
                          this.destroyAndDropBlock(w, p, breaker, x - 1, y, z);
                          this.destroyAndDropBlock(w, p, breaker, x + 1, y - 1, z);
                          this.destroyAndDropBlock(w, p, breaker, x, y - 1, z);
                          this.destroyAndDropBlock(w, p, breaker, x - 1, y - 1, z);
                      }
                      // X
                      // EAST - WEST
                      else if (side == EnumFacing.EAST || side == EnumFacing.WEST)
                      {
                          this.destroyAndDropBlock(w, p, breaker, x, y + 1, z + 1);
                          this.destroyAndDropBlock(w, p, breaker, x, y + 1, z);
                          this.destroyAndDropBlock(w, p, breaker, x, y + 1, z - 1);
                          this.destroyAndDropBlock(w, p, breaker, x, y, z + 1);
                          // Middle block
                          this.destroyAndDropBlock(w, p, breaker, x, y, z - 1);
                          this.destroyAndDropBlock(w, p, breaker, x, y - 1, z + 1);
                          this.destroyAndDropBlock(w, p, breaker, x, y - 1, z);
                          this.destroyAndDropBlock(w, p, breaker, x, y - 1, z - 1);
                      }
                      return true;
                  }
              }
              return super.onBlockDestroyed(breaker, w, state, pos, e);
          }
          private void destroyAndDropBlock(World w, PlayerEntity p, ItemStack breaker, int x, int y, int z)
          {
              BlockPos pos = new BlockPos(x, y, z);
              w.getBlockState(pos).getBlock().harvestBlock(w, p, pos, w.getBlockState(pos), w.getTileEntity(pos), breaker);
              w.setBlockToAir(pos);
          }
      

      Mes créations :

      Mod en cours de développement : Personal Robot (1.15.2)

      Datapacks : DailyCraft's Craft (beta)

      Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

        Je viens de resoudre EntityLivingBase en LivingEntity, EnumFacing en Direction, getPositionEyes en getEyePosition, setBlockToAir en isAirBlock, addVector en add, typeOfHit en getType(), getLook n’est plus détecté en tant qu’erreur

        Pouvez-vous dire si j’ai fais de bonne traduction

        J’avais oublié mais w.rayTraceBlocks ne demande que un argument pas cinq

        Mes créations :

        Mod en cours de développement : Personal Robot (1.15.2)

        Datapacks : DailyCraft's Craft (beta)

        Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

          Alors quelqu’un peut m’aider ?

          Mes créations :

          Mod en cours de développement : Personal Robot (1.15.2)

          Datapacks : DailyCraft's Craft (beta)

          Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

            isAirBlock est pas bon (cette fonction permet de savoir si le block c’est de l’aire alors que toi tu veux remplacer le block par de l’aire) (C’est peut-être setAir la méthode que tu veux). Sur rayTraceBlocks c’est quoi l’erreur exacte que tu as ?

            DailyCraftD 1 réponse Dernière réponse Répondre Citer 0
            • DailyCraftD Hors-ligne
              DailyCraft @LeBossMax2
              dernière édition par DailyCraft

              oui mais quand je marque air ça me propose que ça, donc pas de setAir et pour RayTraceBlocks, il nous demande un RayTraceContext donc j’ai fais new RayTraceContext() et là il me demande un Vec3d, Vec3d, BlockMode, FluidMode, Entity donc j’ai mis :

              return w.rayTraceBlocks(new RayTraceContext(vec3d, vec3d2, RayTraceContext.BlockMode.COLLIDER, RayTraceContext.FluidMode.NONE, e));
              

              PS : il reste encore sideHit comme erreur

              Mes créations :

              Mod en cours de développement : Personal Robot (1.15.2)

              Datapacks : DailyCraft's Craft (beta)

              Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                sideHit a peut-être été remplacé par un getter ou par autre nom. Pour setBlockToAir, c’est paut-être quelque chose comme removeBlock

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

                  Faut simplement faire un setBlockState avec Blocks.AIR.getDefaultState()

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

                    Ah ok merci de ses réponses mais c’est quoi un guetter (oui je vais paraitre con)

                    Mes créations :

                    Mod en cours de développement : Personal Robot (1.15.2)

                    Datapacks : DailyCraft's Craft (beta)

                    Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                      up ?

                      Mes créations :

                      Mod en cours de développement : Personal Robot (1.15.2)

                      Datapacks : DailyCraft's Craft (beta)

                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                        Un getter c’est une fonction qui renvoies la valeur d’une variable.

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

                          Ok mais même en cherchant un getter ou un autre nom, je n’arrive pas à trouver ce qu’il faut mettre 😢

                          Mes créations :

                          Mod en cours de développement : Personal Robot (1.15.2)

                          Datapacks : DailyCraft's Craft (beta)

                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

                          1 réponse Dernière réponse Répondre Citer 0
                          • 1
                          • 2
                          • 1 / 2
                          • Premier message
                            Dernier message
                          Design by Woryk
                          ContactMentions Légales

                          MINECRAFT FORGE FRANCE © 2024

                          Powered by NodeBB