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

      Salut, j’essaye d’ajouter un poisson dans mon mod, le seul problème c’est qu’il ne spawn pas dans les biomes océan, deep océan et rivière. Même si je met 
      ….BiomeGenBase.ocean, …etc
      par contre quand je met BiomeGenBase.plains, il spawn dans les plaines
      Ce n’est pas ce qui est souhaitait, est-ce qu’il y a des conditions pour les biomes marin ?

      Merci pour l’aide

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

        Regarde le codage de squid

        Voila ma signature

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

          Regardes les fonction “getCanSpawn” et “onInitialSpawn” du squid.

          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

            Ok d’accord je vais voir ça et je reviens si ça à marché ou si j’ai un autre souci, merci

            1 réponse Dernière réponse Répondre Citer 0
            • 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