MFF

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

    Immobiliser un mob et quelques autres demandes.

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.6.4
    38 Messages 4 Publieurs 11.1k 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.
    • PatatoufetP Hors-ligne
      Patatoufet
      dernière édition par

      Après quelque recherche pour me rafraichir la mémoire, c’est le

      super.onUpdate();
      

      dans public void onUpdate(); qui ma faire remonter de fichier en fichier jusqu’à EntityLivingBase qui un moment appelle

      this.onLivingUpdate();
      

      et c’est là que ma méthode apparait.

      Normalement mettre ma méthode directement dans le fichier de ton mob devrais fonctionner si les extends remonte jusqu’à EntityLivingBase

      1 réponse Dernière réponse Répondre Citer 1
      • Nolan-XXN Hors-ligne
        Nolan-XX
        dernière édition par

        par contre, oui il pourrait spawn.
        Sauf si tu mets le code du spawn dans une condition qui vérifie que ta variable est égal a 1. et avec 1 chance sur 10000000000000000000000000000000000000000000000000000000000000000000000000000000?000000000000000000000000, tu le verras pas souvent.

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

          J’essaie pour le mob et je te redis ça.

          Pour le spawn, je voulais dire, que en faisant ça:

          • Dans quelle classe je le ferrais?
          • et cela m’obligerait à le faire spawn toujours au même endroit ou bien dans un endroit proche avec un random pour les coordonné x,y et z non?

          Edit:

          @‘Patatoufet’:

          Après quelque recherche pour me rafraichir la mémoire, c’est le

          super.onUpdate();
          

          dans public void onUpdate(); qui ma faire remonter de fichier en fichier jusqu’à EntityLivingBase qui un moment appelle

          this.onLivingUpdate();
          

          et c’est là que ma méthode apparait.

          Normalement mettre ma méthode directement dans le fichier de ton mob devrais fonctionner si les extends remonte jusqu’à EntityLivingBase

          En effet, ceci fonctionne, merci de ton aide, seul bémol, quand je tape mon golem il se met à courir dans le vide très rapidement comme un idiot, mais cela résoud mon problème merci de ton aide! 🙂 +1 pour toi 😄

          1 réponse Dernière réponse Répondre Citer 0
          • Nolan-XXN Hors-ligne
            Nolan-XX
            dernière édition par

            Ce code qui génére les spawns :

            EntityRegistry.addSpawn(GekkoMob.class, 5, 1, 1, EnumCreatureType.monster, BiomeGenBase.beach, BiomeGenBase.extremeHills, BiomeGenBase.extremeHillsEdge, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.jungleHills, BiomeGenBase.mushroomIsland, BiomeGenBase.mushroomIslandShore, BiomeGenBase.ocean, BiomeGenBase.plains, BiomeGenBase.river, BiomeGenBase.swampland);
            

            tu le mets dans

            
            if (variable == 0)
            {
            EntityRegistry.addSpawn(GekkoMob.class, 5, 1, 1, EnumCreatureType.monster, BiomeGenBase.beach, BiomeGenBase.extremeHills, BiomeGenBase.extremeHillsEdge, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.jungleHills, BiomeGenBase.mushroomIsland, BiomeGenBase.mushroomIslandShore, BiomeGenBase.ocean, BiomeGenBase.plains, BiomeGenBase.river, BiomeGenBase.swampland);
            }
            
            1 réponse Dernière réponse Répondre Citer 0
            • PatatoufetP Hors-ligne
              Patatoufet
              dernière édition par

              Je sais j’ai le même problème pour l’animation de course^^ Personnellement Mes mobs sont juste décoratif donc en invulnérable. Mais si tu veux régler le problème il faudrait retirer l’animation de course (je les tues avec un item adapter qui désactive le gode mode avec un click droit).

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

                Il y aurait peut être moyen de simplement désactiver leur animation? :3
                Je suis curieux, des mobs décoratifs? Des animaux empaillés?? ^^

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

                  Pour moi cela vient du faite que le mob est projeté en arrière quand il reçoit des dégâts mais vu qu’il ne peut pas être projeter l’animation de mouvement des pieds n’est prend jamais fin. Il faut juste trouver la méthode qui gère ça.

                  Je te cache pas que c’est très très très très long de fouiller dans les milliers de lignes de code… J’ai trouvé beaucoup de méthode lié au mouvement mais aucune pour le bump quand l’entité reçoit des dégâts…

                  et pour les entity, c’est juste des pnj décoratif pour embellir un peu les villes sur le serveur 😃 Et d’autre seront relié avec un gui pour une banque, l’achat d’item etc…

                  1 réponse Dernière réponse Répondre Citer 0
                  • Nolan-XXN Hors-ligne
                    Nolan-XX
                    dernière édition par

                    Sinon, tu fais un block avec le model des mobs ?

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

                      Oui je me doute, plus simplement, on peut pas simplement faire que le mob ne soit pas animé du tout? genre une statue :3

                      Edit: @Nolan je comprends le code que tu m’as envoyé, mais j’arrive pas à l’utiliser, fin je veux dire: si je le mets dans ma classe principale de mon mod, ilo v a seulement le faire au demarrage du jeu et pas à chaque fois non?

                      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

                        II) Il faut vraiment que je fasse des recherche la dessus, ça doit être un code tout con en plus, je vais voir demain si j’oublie pas (faut aussi que je finisse le tuto de merdredi)

                        III) Mettre en plus le burn time du joueur sur 0 lors de la sortie du bateau ?

                        IV) Lors de ça mort, tu fais que le boss spawn autre autre entité avec un timer, et au bout d’un certain temps, il repose tout les blocs de la structure et refait pop le boss.

                        V) Mets un spawn normal, et utilise l’event EntityJoinWorldEvent pour vérifier si event.entity instanceof TonEntité, et si c’est le cas, faire un random du genre
                        if(event.world.rand.nextInt(1000) < 998)
                        {
                        event.setCancel(true);
                        event.setResult(Result.DENY);
                        }
                        avec ça, une chance sur 1000 que ça spawn.

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

                          @Robin: Et pour remédier à la suppression du boss par le /butcher une idée?

                          En tout cas merci des pistes que tu me donnes, je vais regarder un peu cette nuit

                          hum j’ai quelques hypothèses, sont elles faisables? trop compliqués? est ce la bonne approche?

                          • Générer ma structure en x y et z random puis généré le boss en x, y +48 et z?
                          • Génerer un bloc en x y+47 et z, qui soit incassable, qui toutes les 10h, regen la structure et le boss si il n’y en a pas déja un?

                          Edit 2: J’ai tenté d’annuler l’event du spawn, cela ne fonctionne pas, par contre le setdead oui mais cela fait ramer énormément je trouve

                          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

                            event.setCanceled(true);*
                            Je l’ai utilisé dans le tutoriel pour les commandes, il fonctionne très bien.

                            Pour la structure, les deux devrait être faisable

                            Et pour /butcher, je vois vraiment pas comment faire, il faudrait modifier worldedit ou faire en sorte qu’il ne considère pas ton mob comme un monstre.

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

                              @D’accord merci, pour les structure, mon bloc, je peux le laisser sous forme de bloc ou je dois le faire devenir une Tileentity?

                              Quand j’ai essayé de cancel, il crash et me disait que je tentais d’annuler quelque chose qui n’est pas annulable

                              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

                                Tile entity je pense pour le timer, avec le update tick du bloc tu pourra pas le faire.

                                C’est étrange, car sur le tuto des commandes j’ai utilisé cette event + un cancel, et ça fonctionne très bien o_O

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

                                  hum et bien je vais regarder mais je vois pas ce que j’avais fais de mal, je retesterai et je te redirai, as tu eu le temps de regarder pour la taille des items en main*?

                                  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

                                    Je vais voir ça dès que je peux, j’aimerai prendre de l’avance sur les tutoriels 1.7 pour laisser plus de temps aux correcteurs.

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

                                      Je comprends.
                                      j’ai ajouté un VI) à mon message principale ^^’

                                      VI)En codant ce matin j’ai eu un autre soucis, je cherche à faire que dès que mon mob soit tapé il fasse spawn 2 creeper autour de lui, je ne trouve pas de fonction me permettant de faire cela.

                                      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

                                        LivingHurtEvent pour ça. (ou alors la fonction onEntityHurt dans ton mob, il me semble que ça existe aussi).

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

                                          je cherchais onEntityHurt justement, me semblait l’avoir vu mais j’ai pas trouvé en fouillant dans entity et EntityLiving… Donc j’ai préféré m’assurer savoir si j’étais aveugle ou si elle existe pas x)

                                          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


                                            Ça te va ça ?
                                            Avec ce tutoriel de Kévin : http://www.minecraftforgefrance.fr/showthread.php?tid=130

                                            Mon IItemRenderer :

                                            package tutoriel.client;
                                            
                                            import net.minecraft.client.Minecraft;
                                            import net.minecraft.client.renderer.ItemRenderer;
                                            import net.minecraft.client.renderer.Tessellator;
                                            import net.minecraft.client.renderer.texture.TextureManager;
                                            import net.minecraft.entity.EntityLivingBase;
                                            import net.minecraft.item.ItemStack;
                                            import net.minecraft.util.Icon;
                                            import net.minecraft.util.ResourceLocation;
                                            import net.minecraftforge.client.IItemRenderer;
                                            import net.minecraftforge.client.IItemRenderer.ItemRenderType;
                                            
                                            import org.lwjgl.opengl.GL11;
                                            import org.lwjgl.opengl.GL12;
                                            
                                            import cpw.mods.fml.client.FMLClientHandler;
                                            
                                            public class ItemTutorielRender implements IItemRenderer
                                            {
                                            private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png");
                                            
                                            @Override
                                            public boolean handleRenderType(ItemStack item, ItemRenderType type)
                                            {
                                            switch(type)
                                            {
                                            case EQUIPPED:
                                            return true;
                                            default:
                                            return false;
                                            }
                                            }
                                            
                                            @Override
                                            public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
                                            {
                                            return false;
                                            }
                                            
                                            @Override
                                            public void renderItem(ItemRenderType type, ItemStack item, Object… data)
                                            {
                                            switch(type)
                                            {
                                            case EQUIPPED:
                                            {
                                            EntityLivingBase living = (EntityLivingBase)data[1];
                                            int renderPass = item.getItem().requiresMultipleRenderPasses() ? 1 : 0;
                                            
                                            GL11.glPushMatrix();
                                            GL11.glScalef(2F, 2F, 2F);
                                            GL11.glTranslatef(0.3F, 0.2F, 0F);
                                            
                                            GL11.glRotatef(-35.0F, 1.0F, 0.0F, 0.0F);
                                            GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
                                            GL11.glRotatef(30.0F, 0.0F, 1.0F, 0.0F);
                                            this.renderItem(living, item, renderPass);
                                            GL11.glPopMatrix();
                                            break;
                                            }
                                            default:
                                            break;
                                            }
                                            
                                            }
                                            
                                            public void renderItem(EntityLivingBase living, ItemStack stack, int pass)
                                            {
                                            TextureManager texturemanager = FMLClientHandler.instance().getClient().getTextureManager();
                                            GL11.glPushMatrix();
                                            Icon icon = living.getItemIcon(stack, pass);
                                            if(icon == null)
                                            {
                                            GL11.glPopMatrix();
                                            return;
                                            }
                                            texturemanager.bindTexture(texturemanager.getResourceLocation(stack.getItemSpriteNumber()));
                                            Tessellator tessellator = Tessellator.instance;
                                            float f = icon.getMinU();
                                            float f1 = icon.getMaxU();
                                            float f2 = icon.getMinV();
                                            float f3 = icon.getMaxV();
                                            float f4 = 0.0F;
                                            float f5 = 0.3F;
                                            GL11.glEnable(GL12.GL_RESCALE_NORMAL);
                                            GL11.glTranslatef(-f4, -f5, 0.0F);
                                            float f6 = 1.5F;
                                            GL11.glScalef(f6, f6, f6);
                                            GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
                                            GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
                                            GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
                                            ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
                                            
                                            if(stack.hasEffect(pass))
                                            {
                                            GL11.glDepthFunc(GL11.GL_EQUAL);
                                            GL11.glDisable(GL11.GL_LIGHTING);
                                            texturemanager.bindTexture(RES_ITEM_GLINT);
                                            GL11.glEnable(GL11.GL_BLEND);
                                            GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
                                            float f7 = 0.76F;
                                            GL11.glColor4f(0.5F * f7, 0.25F * f7, 0.8F * f7, 1.0F);
                                            GL11.glMatrixMode(GL11.GL_TEXTURE);
                                            GL11.glPushMatrix();
                                            float f8 = 0.125F;
                                            GL11.glScalef(f8, f8, f8);
                                            float f9 = (float)(Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F;
                                            GL11.glTranslatef(f9, 0.0F, 0.0F);
                                            GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
                                            ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
                                            GL11.glPopMatrix();
                                            GL11.glPushMatrix();
                                            GL11.glScalef(f8, f8, f8);
                                            f9 = (float)(Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F;
                                            GL11.glTranslatef(-f9, 0.0F, 0.0F);
                                            GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
                                            ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
                                            GL11.glPopMatrix();
                                            GL11.glMatrixMode(GL11.GL_MODELVIEW);
                                            GL11.glDisable(GL11.GL_BLEND);
                                            GL11.glEnable(GL11.GL_LIGHTING);
                                            GL11.glDepthFunc(GL11.GL_LEQUAL);
                                            }
                                            
                                            GL11.glDisable(GL12.GL_RESCALE_NORMAL);
                                            GL11.glPopMatrix();
                                            }
                                            }
                                            

                                            Après il faut jouer sur le translate, rotate et le scale

                                            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