MFF

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

    Faire un bloc qui repousse les mobs ?

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.x
    19 Messages 4 Publieurs 3.2k 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.
    • ÜberfapÜ Hors-ligne
      Überfap
      dernière édition par robin4002

      Yo tout le monde,

      pour un petit mod que je suis entrain de faire, j’aimerais bien créer un bloc qui repousse une catégorie de mob, mais comme du code vaut mieux qu’un long discours voila en gros ce que je veux faire :

      
      public class BlockTotemZombie extends BlockTotem {
      
      public BlockTotemZombie(Material material) {
      super(material);
      this.setBlockName("zombieTotem");
      this.setBlockTextureName(TotemCraft.MOD_ID + ":zombieTotem");
      this.setCreativeTab(CreativeTabs.tabBlock);
      this.setHardness(2.5f);
      this.setResistance(2.5f);
      this.setStepSound(soundTypeStone);
      this.setTickRandomly(true);
      }
      
      public void updateTick(World world, int x, int y, int z, Random random) {
      List list = world.getEntitiesWithinAABB(EntityZombie.class, AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1).expand(16D, 16D, 16D));
      for (int i = 0; i < list.size(); i++) {
      Entity entity = (Entity) list.get(i);
      if (!list.isEmpty()) {
      if (entity instanceof EntityZombie) {
      entity.attackEntityFrom(DamageSource.inWall, Float.POSITIVE_INFINITY);
      }
      }
      }
      }
      }
      
      

      J’ai déjà ça, mais ça ne marche pas 😕

      Merci d’avance pour votre aide 😄

      Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
      Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

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

        Si tu parles repousser au sens de ce que je suis entrain de voir dans le code, y’a quelques trucs à règler.

        Si tu parles repousser, genre ça repousse le mob sans le tuer, c’est super facile.

        T’as même pas besoin d’utiliser les ticks 😄

        Mon site | GitHub

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

          Je veux dire dès que le mob entre dans “le champ d’action” il se fait tuer 😄

          Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
          Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

          1 réponse Dernière réponse Répondre Citer 0
          • isadorI Hors-ligne
            isador Moddeurs confirmés Modérateurs
            dernière édition par

            
            if (event.entityLiving instanceof Entity) {
            if(event.entityLiving != player)
            event.entityLiving.setDead();
            }
            
            

            en 1.6 je fais comme ca

            EDIT: dans l’event:
            @ForgeSubscribe
            public void onEntityUpdate(LivingUpdateEvent event) {

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

              Merci Isador mais en fait je veux qu’il soient tués juste dans un rayon autour de mon bloc 😄

              Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
              Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

              1 réponse Dernière réponse Répondre Citer 0
              • isadorI Hors-ligne
                isador Moddeurs confirmés Modérateurs
                dernière édition par

                bha dans l’event tu rajoute une condition

                
                if(entityEstDansMonRayon)
                {
                //ici tu met mon code
                }
                
                
                1 réponse Dernière réponse Répondre Citer 0
                • ÜberfapÜ Hors-ligne
                  Überfap
                  dernière édition par

                  Oui mais comment je fais pour avoir l’instance du bloc ? ^^

                  Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                  Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                  1 réponse Dernière réponse Répondre Citer 0
                  • isadorI Hors-ligne
                    isador Moddeurs confirmés Modérateurs
                    dernière édition par

                    a oui merde…

                    sinon dans ton updateTick dans ton bloc appelle la méthode onEntityUpdate

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

                      Je ne comprends là 😕

                      Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                      Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                      1 réponse Dernière réponse Répondre Citer 0
                      • isadorI Hors-ligne
                        isador Moddeurs confirmés Modérateurs
                        dernière édition par

                        
                        public void updateTick(World world, int x, int y, int z, Random rand)
                        {
                        onEntityUptate();
                        }
                        
                        @ForgeSubscribe
                        public void onEntityUpdate(LivingUpdateEvent event) {
                        if (event.entityLiving instanceof Entity) {
                        if(event.entityLiving != player){
                        event.entityLiving.setDead();
                        }
                        }
                        }
                        
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • ÜberfapÜ Hors-ligne
                          Überfap
                          dernière édition par

                          Ah bonne idée ! Et ça marche ? Tu pourrais tester s’il te plaît ? (Je n’ai pas Eclipse sur moi)

                          Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                          Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                          1 réponse Dernière réponse Répondre Citer 0
                          • isadorI Hors-ligne
                            isador Moddeurs confirmés Modérateurs
                            dernière édition par

                            moi non plus… je suis en train de coder sous unity…

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

                              D’accord merci quand même pour l’idée 😉

                              Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                              Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                              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

                                Non, ça fonctionnera pas …
                                Perso je passerai plutôt par la fonction update d’un tile entity

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

                                  ça me dérange pas mais comment tu ferais toi ?

                                  Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                                  Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                                  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

                                    Avec le même code. Dès fois updateTick fonctionne mal …
                                    il y a juste ça :
                                    List list = world.getEntitiesWithinAABB(EntityZombie.class, AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1).expand(16D, 16D, 16D));
                                    Que j’aurai mit comme ça :
                                    List list = world.getEntitiesWithinAABB(EntityZombie.class, AxisAlignedBB.getBoundingBox(x - 16, y - 16, z - 16, x + 17, y + 17, z + 17));

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

                                      Mais je n’ai pas bien compris finalement je fais un tile entity ou pas la peine ?

                                      Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                                      Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                                      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

                                        oui, fait un tile entity.

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

                                          D’accord, j’essaye 😄


                                          Oh oui merci beaucoup Robin ça marche, grâce à toi un nouveau mod va voir le jour 😛 Je mets en résolu 😄

                                          Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                                          Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                                          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