MFF

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

    Effet d'une EntityTrowable

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.8
    15 Messages 4 Publieurs 2.5k 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.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par

      As-tu regardé ce qu’était la classe MovingObjectPosition ? Cette classe est utilisée pour contenir soit un block si ton entité a touché un block, sinon si ton entité a touché une autre entité le paramètre contiendra l’entité touchée.

      Site web contenant mes scripts : http://SCAREXgaming.github.io

      Pas de demandes de support par MP ni par skype SVP.
      Je n'accepte sur skype que l…

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

        Euh ouais, mais comment je fais poure faire ce que je veut faire ?
        Car p_70184_1_.setFire(10.0F) ne fonctione pas
        Idem pour p_70184_1_.setBlockState(ETC)

        Membre fantôme
        Je développe maintenant un jeu sur UnrealEngine4


        Contact :…

        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

          Déjà remplaces
          protected void onImpact(MovingObjectPosition p_70184_1_)
          par
          protected void onImpact(MovingObjectPosition mop)
          Car bon, p_70184_1_ c’est pas très implicite.
          Ensuite tu as mop.typeOfHit il vaut MovingObjectPosition.MovingObjectType.BLOCK si ça a touché à un bloc, MovingObjectPosition.MovingObjectType.ENTITY pour une entité et MovingObjectPosition.MovingObjectType.MISS pour rien.
          Donc à toi de faire des conditions pour les deux premiers cas.
          Pour le premier cas tu as mop.getBlockPos() pour avoir les coordonnées du bloc touché et dans le second cas tu as mop.entityHit pour avoir l’instance de l’entité touché.
          Donc tu peux faire mop.entityHit.setFire(10.0F); mop.entityHit.attackEntityFrom(DamageSource.lava, valeur des dégâts); etc …

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

            Bon voila, après pluseiurs crash, plusieurs test, j’ai enfin ‘réussi’
            ‘Reussi’ car seule l’effet sur les entity est fait.
            Pour les blocs je cale…

            La fonctione onImpact actuelle

            protected void onImpact(MovingObjectPosition mop)
            {
            if (!this.worldObj.isRemote)
            {
            this.worldObj.playAuxSFX(2002, new BlockPos(this), 0);
            int i = 3 + this.worldObj.rand.nextInt(5) + this.worldObj.rand.nextInt(5);
            
            this.setDead();
            if(mop.typeOfHit.ENTITY != null) {
            mop.entityHit.setFire(20);
            mop.entityHit.attackEntityFrom(DamageSource.lava, 5);
            }
            
            if(mop.typeOfHit.BLOCK != null) {
            mop.getBlockPos();
            }
            
            }
            }
            

            Membre fantôme
            Je développe maintenant un jeu sur UnrealEngine4


            Contact :…

            1 réponse Dernière réponse Répondre Citer 0
            • elias54E Hors-ligne
              elias54 Administrateurs
              dernière édition par

              Pour les blocks, c’est normal. Tu get juste le BlockPos là… Et dans le vide en plus.

              Mon site | GitHub

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

                Comment faire pour pouvoir poser un bloc de feu au bloc de l’impact ?
                J’ia déjà essayer quelques trucs, mais sans succès

                Membre fantôme
                Je développe maintenant un jeu sur UnrealEngine4


                Contact :…

                1 réponse Dernière réponse Répondre Citer 0
                • elias54E Hors-ligne
                  elias54 Administrateurs
                  dernière édition par

                  worldObj.setBlockState(mop.getBlockPos(), Blocks.fire.getDefaultState());

                  (Par exemple)

                  Mon site | GitHub

                  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

                    if(mop.typeOfHit.ENTITY != null) {
                    Drôle de façon de faire. J’aurai plutôt utilisé if(mop.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY)

                    Pour le set de bloc faut passer par une boucle for.

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

                      Excusez moi cette répoonse très tardive, mais mon ordi commence a perdre des points de vies a vitesse grand V.
                      J’ai du lancer 3-4 CCleaner d’une dizaine de minutes chacun, avant d’attendre 20 min que mon client se lance…
                      Déja que mon ordi est tout pourri ( Un bon AMD E-1 TMTC ), là, il pu la bouzin de chevreuil couplé avec du fumier qui a pouri 4ans au soleil

                      Pour que vous vous rendez compte

                      Donc efectivement, sa fonctionne mieux avec ta condition robin ^^’
                      Et sinon, c’est bon le bloc ets placé. Mais problème… La bouteille fait preuve d’une énorme violance et puissance, car la flamme REMPLACE le bloc. Tu lance une bouteille sur la bedrock, a pu bedrock
                      Comment faire pour que la flamme soit généré 1 bloc plus haut ?

                      Membre fantôme
                      Je développe maintenant un jeu sur UnrealEngine4


                      Contact :…

                      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

                        Tu check si c’est de l’air. Si non tu check si le bloc au dessus est de l’air. Si oui tu pose, sinon tu pose pas.

                        Quelle idée d’acheter un pc avec un E1 aussi … Faut prendre un A8 minimum pour Minecraft.

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

                          Perso, je déteste AMD. Je préfère LARGEMENT Nvidia
                          Et je n’ai pas choisis mon PC.
                          Et de toute façon, je n’ai pas l’argent. J’ai même pas 10$…
                          C’est l’ancien PC de ma mère. Elle me l’a donné quand elle en a changé
                          (Intel I7 - Nvidia 780m bave )

                          Bref, on est pas la pour parler PC

                          Donc, j’ia plusieurs problemes, comment mettre la variable block ?
                          j’ai repris le code de ma bouteille et je trouve sa
                          Block block = worldIn.getBlockState(movingobjectposition.getBlockPos()).getBlock();
                          mais je n’ai pas le paramètre World
                          Ensuite, comment faire pour poser sur l’air ?

                          Membre fantôme
                          Je développe maintenant un jeu sur UnrealEngine4


                          Contact :…

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

                            L’air est un bloc comme un autre, pas besoin de savoir comment fonctionne le schmiblik.
                            Pour le world, tu es dans une classe Entity donc tu peux faire this.worldObj.

                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                            Pas de demandes de support par MP ni par skype SVP.
                            Je n'accepte sur skype que l…

                            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

                              this.worldObj pour le monde.
                              Pour poser sur de l’air c’est pas compliqué c’est comme pour poser n’importe où. Si ta question était comment savoir si un bloc est de l’air c’est this.worldObj.isAirBlock(pos)

                              Pas étonnant que tu détester AMD si le échantillon que tu as c’est du ultra bas de gamme. Perso je préfère largement AMD, Nvidia a une politique de merde.

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

                                Donc, enfaite, je coprends pas trop votre logqieu.
                                Vous regardez si le bloc sur lequel la potion à éclaté…
                                Or, l’air n’a pas de ‘matière’, de ‘hitbox’, donc je vois pas comment une potion peut exploser sur de l’air…
                                Sinon je comprend vraiment rien.

                                Je pensais plus a un truc simple qui génère le bloc, juste 1 bloc plus haut quoi…

                                Bon, je vais me coucher, je part bientôt en vacances ( Et quand je reviendrais, j’aurais ENFIN fais les tutos Openclassroom !! ), donc faut que j’aide pour le préparatifs, je peut pas me permettre de me coucher a 4h ( Endormisement ~6h )
                                Vu que je m’endort très tard ( Je regarde des vidéos pour m’endormir, pas d’autres moyens pour moi que de dormir devant mon téléphone ), je serais toujours présent sur le forum via Tapatalk, mais je pourrais donc biensur, pas pouvoir faire du code

                                Membre fantôme
                                Je développe maintenant un jeu sur UnrealEngine4


                                Contact :…

                                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