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

    Ajout du FOG dans un biome

    Sans suite
    4
    20
    4414
    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.
    • S
      sisidney last edited by

      Bonjours,

      J’ai essaye d’ajouté les FOG dans un biom, vu que je savait que Biom o plenty ajouté déjà ca, j’ai voulu allé voir c’est source.

      J’ai donc trouvé ce qui m’interessé mais quand j’essaye de le rajouté a mon biome j’ai une erreur car la les méthode pour mettre du FOG ne sont pas dans la class BiomeGenBase

      Voici les sources de biom of plenty :
      https://github.com/Glitchfiend/BiomesOPlenty/blob/master/src/main/java/biomesoplenty/common/biomes/overworld/BiomeGenWasteland.java

      Et voici mon code:

      public class Biomtuto extends BiomeGenBase {
      
      public Biomtuto(int par1) {
      super(par1);
      
      this.setDisableRain();
      this.setColor(5919808);
      this.setTemperatureRainfall(2.0F, 0.05F);
      
      this.topBlock = (byte)Block.grass.blockID;
      this.fillerBlock = (byte)Block.stone.blockID;
      this.waterColorMultiplier = 0x666600;
      this.theBiomeDecorator.treesPerChunk = 10;
      
      }
      @Override
      public int getBiomeGrassColor()
      {
      
      return 0xFF0C00;
      }
      @Override
      public int getSkyColorByTemp(float par1)
      {
      return 0x99CC33;
      }
      
      @Override
      public int getFogColour()
      {
      return 0x99CC33;
      }
      @Override
      public float getFogCloseness()
      {
      // TODO Auto-generated method stub
      return 0.3F;
      }
      }
      
      

      Merci d’avance pour vos reponces
      Cordialement Sidney

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

        TickHandler -> Check chaque tick le biome dans le quel le player est -> Si le biome est ton biome, Minecraft.getMinecraft().gameSettings.renderDistanceChunks = (ENTRE 2 ET 4);

        "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
        ― Jordan B. Peterson

        1 Reply Last reply Reply Quote 0
        • S
          sisidney last edited by

          Oui mais je ne peut pas choisir la couleur du fog 😕

          1 Reply Last reply Reply Quote 0
          • S
            sisidney last edited by

            J’ai cherché toute la journée pour cette mystérieuse méthodes et toujours rien, je me demande bien comment a bien pu faire le moddeur de biome o plenty, si vous avez des suggestion je suis preneur.

            1 Reply Last reply Reply Quote 0
            • isador
              isador Moddeurs confirmés Modérateurs last edited by

              Je pense qu’il à recodé le fog

              1 Reply Last reply Reply Quote 0
              • S
                sisidney last edited by

                Oui mais j’ai cherché dans toutes les class et je n’est rien trouvé

                1 Reply Last reply Reply Quote 0
                • isador
                  isador Moddeurs confirmés Modérateurs last edited by

                  Regarde aussi dans les classe du mod mystcraft on peut régler le fog

                  1 Reply Last reply Reply Quote 0
                  • S
                    sisidney last edited by

                    ah ! Je go tous de suite dessus ! 🙂


                    Malheureusement Mystcraft n’a pas mit c’est source sur github 😕

                    1 Reply Last reply Reply Quote 0
                    • robin4002
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                      net.minecraft.client.renderer.EntityRenderer
                      Il y a des trucs concernant le fog

                      1 Reply Last reply Reply Quote 0
                      • S
                        sisidney last edited by

                        Merci ! 🙂
                        Je pence avoir trouvé ce qui m’intersse:

                        /**
                        * Sets up the fog to be rendered. If the arg passed in is -1 the fog starts at 0 and goes to 80% of far plane
                        * distance and is used for sky rendering.
                        */
                        private void setupFog(int par1, float par2)
                        {
                        EntityLivingBase entitylivingbase = this.mc.renderViewEntity;
                        boolean flag = false;
                        
                        if (entitylivingbase instanceof EntityPlayer)
                        {
                        flag = ((EntityPlayer)entitylivingbase).capabilities.isCreativeMode;
                        }
                        
                        if (par1 == 999)
                        {
                        GL11.glFog(GL11.GL_FOG_COLOR, this.setFogColorBuffer(0.0F, 0.0F, 0.0F, 1.0F));
                        GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_LINEAR);
                        GL11.glFogf(GL11.GL_FOG_START, 0.0F);
                        GL11.glFogf(GL11.GL_FOG_END, 8.0F);
                        
                        if (GLContext.getCapabilities().GL_NV_fog_distance)
                        {
                        GL11.glFogi(34138, 34139);
                        }
                        
                        GL11.glFogf(GL11.GL_FOG_START, 0.0F);
                        }
                        else
                        {
                        GL11.glFog(GL11.GL_FOG_COLOR, this.setFogColorBuffer(this.fogColorRed, this.fogColorGreen, this.fogColorBlue, 1.0F));
                        GL11.glNormal3f(0.0F, -1.0F, 0.0F);
                        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                        int j = ActiveRenderInfo.getBlockIdAtEntityViewpoint(this.mc.theWorld, entitylivingbase, par2);
                        float f1;
                        
                        if (entitylivingbase.isPotionActive(Potion.blindness))
                        {
                        f1 = 5.0F;
                        int k = entitylivingbase.getActivePotionEffect(Potion.blindness).getDuration();
                        
                        if (k < 20)
                        {
                        f1 = 5.0F + (this.farPlaneDistance - 5.0F) * (1.0F - (float)k / 20.0F);
                        }
                        
                        GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_LINEAR);
                        
                        if (par1 < 0)
                        {
                        GL11.glFogf(GL11.GL_FOG_START, 0.0F);
                        GL11.glFogf(GL11.GL_FOG_END, f1 * 0.8F);
                        }
                        else
                        {
                        GL11.glFogf(GL11.GL_FOG_START, f1 * 0.25F);
                        GL11.glFogf(GL11.GL_FOG_END, f1);
                        }
                        
                        if (GLContext.getCapabilities().GL_NV_fog_distance)
                        {
                        GL11.glFogi(34138, 34139);
                        }
                        }
                        else if (this.cloudFog)
                        {
                        GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
                        GL11.glFogf(GL11.GL_FOG_DENSITY, 0.1F);
                        }
                        else if (j > 0 && Block.blocksList[j].blockMaterial == Material.water)
                        {
                        GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
                        
                        if (entitylivingbase.isPotionActive(Potion.waterBreathing))
                        {
                        GL11.glFogf(GL11.GL_FOG_DENSITY, 0.05F);
                        }
                        else
                        {
                        GL11.glFogf(GL11.GL_FOG_DENSITY, 0.1F - (float)EnchantmentHelper.getRespiration(entitylivingbase) * 0.03F);
                        }
                        }
                        else if (j > 0 && Block.blocksList[j].blockMaterial == Material.lava)
                        {
                        GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
                        GL11.glFogf(GL11.GL_FOG_DENSITY, 2.0F);
                        }
                        else
                        {
                        f1 = this.farPlaneDistance;
                        
                        if (this.mc.theWorld.provider.getWorldHasVoidParticles() && !flag)
                        {
                        double d0 = (double)((entitylivingbase.getBrightnessForRender(par2) & 15728640) >> 20) / 16.0D + (entitylivingbase.lastTickPosY + (entitylivingbase.posY - entitylivingbase.lastTickPosY) * (double)par2 + 4.0D) / 32.0D;
                        
                        if (d0 < 1.0D)
                        {
                        if (d0 < 0.0D)
                        {
                        d0 = 0.0D;
                        }
                        
                        d0 *= d0;
                        float f2 = 100.0F * (float)d0;
                        
                        if (f2 < 5.0F)
                        {
                        f2 = 5.0F;
                        }
                        
                        if (f1 > f2)
                        {
                        f1 = f2;
                        }
                        }
                        }
                        
                        GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_LINEAR);
                        
                        if (par1 < 0)
                        {
                        GL11.glFogf(GL11.GL_FOG_START, 0.0F);
                        GL11.glFogf(GL11.GL_FOG_END, f1 * 0.8F);
                        }
                        else
                        {
                        GL11.glFogf(GL11.GL_FOG_START, f1 * 0.25F);
                        GL11.glFogf(GL11.GL_FOG_END, f1);
                        }
                        
                        if (GLContext.getCapabilities().GL_NV_fog_distance)
                        {
                        GL11.glFogi(34138, 34139);
                        }
                        
                        if (this.mc.theWorld.provider.doesXZShowFog((int)entitylivingbase.posX, (int)entitylivingbase.posZ))
                        {
                        GL11.glFogf(GL11.GL_FOG_START, f1 * 0.05F);
                        GL11.glFogf(GL11.GL_FOG_END, Math.min(f1, 192.0F) * 0.5F);
                        }
                        }
                        
                        GL11.glEnable(GL11.GL_COLOR_MATERIAL);
                        GL11.glColorMaterial(GL11.GL_FRONT, GL11.GL_AMBIENT);
                        }
                        }
                        
                        

                        Mais par contre je n’est aucun idée de comment appliquer ça au joueur qui est dans le biome. 😕

                        1 Reply Last reply Reply Quote 0
                        • isador
                          isador Moddeurs confirmés Modérateurs last edited by

                          Tu met ça dans la classe de ton biome et tu fais un updateTick

                          1 Reply Last reply Reply Quote 0
                          • S
                            sisidney last edited by

                            Merci mais je ne comprend rien au :

                            GL11.GL_FOG_MOD
                            GL11.GL_FOG_COLOR
                            GL11.GL_FOG_START
                            GL11.GL_FOG_END
                            GL11.GL_FOG
                            GL11.GL_FOG_DENSITY
                            
                            1 Reply Last reply Reply Quote 0
                            • isador
                              isador Moddeurs confirmés Modérateurs last edited by

                              c’est les différent paramètre du fog

                              1 Reply Last reply Reply Quote 0
                              • S
                                sisidney last edited by

                                Oui mais comment on peut bien réglé c’est paramètre?

                                De plus toute les chose que j’essaye de faire n’ont aucun effet mit appart de faire lag:

                                private FloatBuffer setFogColorBuffer(float par1, float par2, float par3, float par4)
                                {
                                this.fogColorBuffer.clear();
                                this.fogColorBuffer.put(par1).put(par2).put(par3).put(par4);
                                this.fogColorBuffer.flip();
                                return this.fogColorBuffer;
                                }
                                public void updateTick(World world, int x, int y, int z)
                                {
                                
                                GL11.glFog(GL11.GL_FOG_COLOR, this.setFogColorBuffer(0.0F, 0.0F, 0.0F, 1.0F));
                                GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_LINEAR);
                                GL11.glFogf(GL11.GL_FOG_START, 0.0F);
                                GL11.glFogf(GL11.GL_FOG_END, 8.0F);
                                System.out.println("Test!");
                                }
                                
                                
                                1 Reply Last reply Reply Quote 0
                                • isador
                                  isador Moddeurs confirmés Modérateurs last edited by

                                  Alors la je sais pas j’ai jamais test le fog

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    sisidney last edited by

                                    Pas grave,je vais continuer de chercher:)

                                    1 Reply Last reply Reply Quote 0
                                    • isador
                                      isador Moddeurs confirmés Modérateurs last edited by

                                      ok prévient moi si tu y arrive

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        sisidney last edited by

                                        Ok np 🙂


                                        De toute façon si je y arrive je pence faire un tuto plus poussé pour les biomes en 1.6 🙂

                                        1 Reply Last reply Reply Quote 0
                                        • isador
                                          isador Moddeurs confirmés Modérateurs last edited by

                                          ok merci ^^

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            sisidney last edited by

                                            J’ai enfin trouvé comment a fais le coddeur de biome o plenty tout est dans cette importe :

                                            import worldcore.interfaces.IWCFog;
                                            
                                            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