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.6k 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

      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