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

    Solved Aide mob aquatique

    1.8.x
    1.8.9
    5
    14
    2171
    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.
    • E
      elx9000 last edited by

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

        Regarde le codage de squid

        Voila ma signature

        1 Reply Last reply Reply Quote 0
        • AymericRed
          AymericRed last edited by

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

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

            1 Reply Last reply Reply Quote 0
            • Snowy_1803
              Snowy_1803 last edited by

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

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

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

                  1 Reply Last reply Reply Quote 0
                  • SCAREX
                    SCAREX last edited by

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

                      Oui avec l’oeuf aucun problème

                      1 Reply Last reply Reply Quote 0
                      • SCAREX
                        SCAREX last edited by

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

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

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

                              Ç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 Reply Last reply Reply Quote 0
                              • E
                                elx9000 last edited by

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

                                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