MFF

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

    Aide mob aquatique

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8.9
    14 Messages 5 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.
    • Snowy_1803S Hors-ligne
      Snowy_1803
      dernière édition par

      Dans le addSpawn il me semble qu’il y a WATER_CREATURE (ou similaire) à mettre au lieu de CREATURE.

      Moddeur 1.8

      Développeur Java

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

        Bon, j’ai suivie chacun de vos conseils mais cela ne change rien, le mob ne spawn toujours pas dans l’océan, le deep océan et les rivières
        Voici mes classes :

        Classe principale :

        @Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION)
        
        public class ModSurvivant
        {
        
           @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)
           public static CommonProxy proxy;
        
           @Instance(Reference.MOD_ID)
           public static ModSurvivant instance;
        
           public static CreativeTabs tabSurvivant = new CreativeTabs("tabSurvivant")
           {
               @SideOnly(Side.CLIENT)
               public Item getTabIconItem()
               {
                   return Item.getItemFromBlock(BlockMod.blockTotem);
               }
           };
        
           @EventHandler
           public void preInit (FMLPreInitializationEvent event)
           {
               ItemMod.init();
               ItemMod.register();
               BlockMod.init();
               BlockMod.register();
           }
        
           @EventHandler
           public void init (FMLInitializationEvent event)
           {
               proxy.registerRenders();
               MinecraftForge.EVENT_BUS.register(new SurvivantBlockEvent());
               EntityHandler.RegisterFish(EntityFish.class, "Fish");
           }
        
           @EventHandler
           public void postInit (FMLPostInitializationEvent event)
           {
        
           }
        }
        
        

        La classe du client proxy :

        ublic class ClientProxy extends CommonProxy
        {
           @Override
           public void registerRenders()
           {
               ItemMod.registerRenders();
               BlockMod.registerRenders();
        
               RenderingRegistry.registerEntityRenderingHandler(EntityFish.class, new RenderFish(Minecraft.getMinecraft().getRenderManager(), new ModelFish(), 0.5F));
        
           }  
        }
        

        La classe de l’entité :

        public class EntityFish extends EntityWaterMob
        {
        
           public EntityFish(World worldIn)
           {
               super(worldIn);
               this.setSize(0.6F, 0.5F);
           }
        
           protected void applyEntityAttributes()
           {
               super.applyEntityAttributes();
               this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D);
           }
        
           public boolean getCanSpawnHere()
           {
               return this.posY > 45.0D && this.posY < (double)this.worldObj.getSeaLevel() && super.getCanSpawnHere();
           }
        }
        

        La classe du model de l’entité :

        public class ModelFish extends ModelBase
        {
         //fields
           ModelRenderer corps;
           ModelRenderer queue1;
           ModelRenderer queue2;
        
         public ModelFish()
         {
           textureWidth = 64;
           textureHeight = 32;
        
             corps = new ModelRenderer(this, 6, 9);
             corps.addBox(0F, 0F, 0F, 7, 4, 3);
             corps.setRotationPoint(-3F, 17F, 0F);
             corps.setTextureSize(64, 32);
             corps.mirror = true;
             setRotation(corps, 0F, 0F, 0F);
             queue1 = new ModelRenderer(this, 27, 16);
             queue1.addBox(0F, 0F, 0F, 1, 3, 1);
             queue1.setRotationPoint(3F, 19F, 1F);
             queue1.setTextureSize(64, 32);
             queue1.mirror = true;
             setRotation(queue1, 0F, 0F, -1.07818F);
             queue2 = new ModelRenderer(this, 27, 9);
             queue2.addBox(0F, 0F, 0F, 1, 3, 1);
             queue2.setRotationPoint(3F, 19F, 1F);
             queue2.setTextureSize(64, 32);
             queue2.mirror = true;
             setRotation(queue2, 0F, 0F, -1.891668F);
         }
        
         public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
         {
           super.render(entity, f, f1, f2, f3, f4, f5);
           setRotationAngles(f, f1, f2, f3, f4, f5, entity);
           corps.render(f5);
           queue1.render(f5);
           queue2.render(f5);
         }
        
         private void setRotation(ModelRenderer model, float x, float y, float z)
         {
           model.rotateAngleX = x;
           model.rotateAngleY = y;
           model.rotateAngleZ = z;
         }
        
         public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
         {
           super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
         }
        
        }
        
        

        La classe du render de l’entité :

        public class RenderFish extends RenderLiving
        {
        
           private ResourceLocation texture = new ResourceLocation(Reference.MOD_ID + ":textures/mobs/Fish.png");
        
           public RenderFish(RenderManager render, ModelBase model, float x)
           {
               super(render, model, x);
           }
        
           public void renderFish(EntityFish entity, double x, double y, double z, float v, float b)
           {
               super.doRender(entity, x, y, z, v, b);
           }
        
           public void doRenderLiving(EntityLiving entity, double x, double y, double z, float v, float b)
           {
               renderFish((EntityFish) entity, x, y, z, v, b);
           }
        
           public void doRendering(Entity entity, double x, double y, double z, float v, float b)
           {
               renderFish((EntityFish) entity, x, y, z, v, b);
           }
        
           @Override
           protected ResourceLocation getEntityTexture(Entity entity)
           {
               return texture;
           }
        
        }
        
        

        La classe EntityHandler :

        public class EntityHandler
        {
           public static void RegisterFish(Class entityClass, String name)
           {
               int entityID = EntityRegistry.findGlobalUniqueEntityId();
               int mainColor = new Color(0, 0, 100).getRGB();
               int subColor = new Color(0, 100, 0).getRGB();
        
               EntityRegistry.registerGlobalEntityID(entityClass, name, entityID);
               EntityRegistry.addSpawn(entityClass, 30, 5, 15, EnumCreatureType.WATER_CREATURE, BiomeGenBase.ocean, BiomeGenBase.deepOcean, BiomeGenBase.river);
               EntityRegistry.registerModEntity(entityClass, name, entityID, ModSurvivant.instance, 25, 1, true);
               EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, mainColor, subColor));
           }
        }
        

        Merci, pour l’aide

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

          Alors, toujours pas d’idée…… 😐

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

            Est-ce qu’il spawn avec l’oeuf ?

            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
            • E Hors-ligne
              elx9000
              dernière édition par

              Oui avec l’oeuf aucun problème

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

                Aucune idée pourquoi ça ne marche pas, au pire essaye de voir le moment où les mobs spawnent pourquoi ton mob n’est pas choisit avec le debugger

                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
                • AymericRedA Hors-ligne
                  AymericRed
                  dernière édition par

                  Alors j’ai trouvé   😉
                  Il faut que tu rajoutes ça où tu enregistres ton entité :

                  EntitySpawnPlacementRegistry.setPlacementType(TonEntityé.class, EntityLiving.SpawnPlacementType.IN_WATER);
                  

                  Après ça normalement ça marche.

                  Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                  AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                  Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                    Merci, les poissons spawnent dans l’eau des océan, deep océan et rivière, du coup ma classe EntityHandler ressemble à ça maintenant :

                    public class EntityHandler
                    {
                       public static void RegisterFish(Class entityClass, String name)
                       {
                           int entityID = EntityRegistry.findGlobalUniqueEntityId();
                           int mainColor = new Color(0, 0, 100).getRGB();
                           int subColor = new Color(0, 100, 0).getRGB();
                    
                           EntityRegistry.registerGlobalEntityID(entityClass, name, entityID);
                           EntityRegistry.addSpawn(entityClass, 90, 20, 50, EnumCreatureType.WATER_CREATURE, BiomeGenBase.ocean, BiomeGenBase.deepOcean, BiomeGenBase.river);
                           EntityRegistry.registerModEntity(entityClass, name, entityID, ModSurvivant.instance, 25, 1, true);
                           EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, mainColor, subColor));
                           EntitySpawnPlacementRegistry.setPlacementType(EntityFish.class, EntityLiving.SpawnPlacementType.IN_WATER);
                       }
                    }
                    

                    Plus qu’à faire les AI du mob, merci  🙂

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

                      Ça en fait des lignes rien que pour l’enregistrer ^^
                      Si t’as un problème avec l’ai hésite pas à redemander 🙂

                      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                        J’ai mis l’AI du poulpe pour le moment

                        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