• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Faire un bloc qui repousse les mobs ?

    1.7.x
    1.7.x
    4
    19
    2723
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Überfap
      Überfap last edited by 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 Reply Last reply Reply Quote 0
      • elias54
        elias54 Administrateurs last edited by

        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 Reply Last reply Reply Quote 0
        • Überfap
          Überfap last edited by

          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 Reply Last reply Reply Quote 0
          • isador
            isador Moddeurs confirmés Modérateurs last edited by

            
            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 Reply Last reply Reply Quote 0
            • Überfap
              Überfap last edited by

              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 Reply Last reply Reply Quote 0
              • isador
                isador Moddeurs confirmés Modérateurs last edited by

                bha dans l’event tu rajoute une condition

                
                if(entityEstDansMonRayon)
                {
                //ici tu met mon code
                }
                
                
                1 Reply Last reply Reply Quote 0
                • Überfap
                  Überfap last edited by

                  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 Reply Last reply Reply Quote 0
                  • isador
                    isador Moddeurs confirmés Modérateurs last edited by

                    a oui merde…

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

                    1 Reply Last reply Reply Quote 0
                    • Überfap
                      Überfap last edited by

                      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 Reply Last reply Reply Quote 0
                      • isador
                        isador Moddeurs confirmés Modérateurs last edited by

                        
                        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 Reply Last reply Reply Quote 0
                        • Überfap
                          Überfap last edited by

                          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 Reply Last reply Reply Quote 0
                          • isador
                            isador Moddeurs confirmés Modérateurs last edited by

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

                            1 Reply Last reply Reply Quote 0
                            • Überfap
                              Überfap last edited by

                              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 Reply Last reply Reply Quote 0
                              • robin4002
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

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

                                1 Reply Last reply Reply Quote 0
                                • Überfap
                                  Überfap last edited by

                                  ç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 Reply Last reply Reply Quote 0
                                  • robin4002
                                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                                    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 Reply Last reply Reply Quote 0
                                    • Überfap
                                      Überfap last edited by

                                      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 Reply Last reply Reply Quote 0
                                      • robin4002
                                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                                        oui, fait un tile entity.

                                        1 Reply Last reply Reply Quote 0
                                        • Überfap
                                          Überfap last edited by

                                          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 Reply Last reply Reply Quote 0
                                          • 1 / 1
                                          • First post
                                            Last post
                                          Design by Woryk
                                          Contact / Mentions Légales

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB