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.
    • LeBossMax2L Hors-ligne
      LeBossMax2
      dernière édition par

      Déjà tu peux tenter de reprendre quelque chose qui marche en 1.12 et tu nous dit ce qui ne pose problème

      1 réponse Dernière réponse Répondre Citer 0
      • 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