Examples of OctaveNoise


Examples of com.mojang.minecraft.level.generator.noise.OctaveNoise

      this.height = 64;
      this.waterLevel = 32;
      this.blocks = new byte[var2 * var3 << 6];
      this.progressBar.setText("Raising..");
      LevelGenerator var5 = this;
      CombinedNoise var6 = new CombinedNoise(new OctaveNoise(this.random, 8), new OctaveNoise(this.random, 8));
      CombinedNoise var7 = new CombinedNoise(new OctaveNoise(this.random, 8), new OctaveNoise(this.random, 8));
      OctaveNoise var8 = new OctaveNoise(this.random, 6);
      int[] var9 = new int[this.width * this.depth];
      float var10 = 1.3F;

      int var11;
      int var12;
      for(var11 = 0; var11 < var5.width; ++var11) {
         var5.setProgress(var11 * 100 / (var5.width - 1));

         for(var12 = 0; var12 < var5.depth; ++var12) {
            double var13 = var6.compute((double)((float)var11 * var10), (double)((float)var12 * var10)) / 6.0D + (double)-4;
            double var15 = var7.compute((double)((float)var11 * var10), (double)((float)var12 * var10)) / 5.0D + 10.0D + (double)-4;
            if(var8.compute((double)var11, (double)var12) / 8.0D > 0.0D) {
               var15 = var13;
            }

            double var19;
            if((var19 = Math.max(var13, var15) / 2.0D) < 0.0D) {
               var19 *= 0.8D;
            }

            var9[var11 + var12 * var5.width] = (int)var19;
         }
      }

      this.progressBar.setText("Eroding..");
      int[] var42 = var9;
      var5 = this;
      var7 = new CombinedNoise(new OctaveNoise(this.random, 8), new OctaveNoise(this.random, 8));
      CombinedNoise var49 = new CombinedNoise(new OctaveNoise(this.random, 8), new OctaveNoise(this.random, 8));

      int var23;
      int var51;
      int var54;
      for(var51 = 0; var51 < var5.width; ++var51) {
         var5.setProgress(var51 * 100 / (var5.width - 1));

         for(var54 = 0; var54 < var5.depth; ++var54) {
            double var21 = var7.compute((double)(var51 << 1), (double)(var54 << 1)) / 8.0D;
            var12 = var49.compute((double)(var51 << 1), (double)(var54 << 1)) > 0.0D?1:0;
            if(var21 > 2.0D) {
               var23 = ((var42[var51 + var54 * var5.width] - var12) / 2 << 1) + var12;
               var42[var51 + var54 * var5.width] = var23;
            }
         }
      }

      this.progressBar.setText("Soiling..");
      var42 = var9;
      var5 = this;
      int var46 = this.width;
      int var48 = this.depth;
      var51 = this.height;
      OctaveNoise var53 = new OctaveNoise(this.random, 8);

      int var25;
      int var24;
      int var27;
      int var26;
      int var28;
      for(var24 = 0; var24 < var46; ++var24) {
         var5.setProgress(var24 * 100 / (var5.width - 1));

         for(var11 = 0; var11 < var48; ++var11) {
            var12 = (int)(var53.compute((double)var24, (double)var11) / 24.0D) - 4;
            var25 = (var23 = var42[var24 + var11 * var46] + var5.waterLevel) + var12;
            var42[var24 + var11 * var46] = Math.max(var23, var25);
            if(var42[var24 + var11 * var46] > var51 - 2) {
               var42[var24 + var11 * var46] = var51 - 2;
            }

            if(var42[var24 + var11 * var46] < 1) {
               var42[var24 + var11 * var46] = 1;
            }

            for(var26 = 0; var26 < var51; ++var26) {
               var27 = (var26 * var5.depth + var11) * var5.width + var24;
               var28 = 0;
               if(var26 <= var23) {
                  var28 = Block.DIRT.id;
               }

               if(var26 <= var25) {
                  var28 = Block.STONE.id;
               }

               if(var26 == 0) {
                  var28 = Block.LAVA.id;
               }

               var5.blocks[var27] = (byte)var28;
            }
         }
      }

      this.progressBar.setText("Carving..");
      boolean var45 = true;
      boolean var44 = false;
      var5 = this;
      var48 = this.width;
      var51 = this.depth;
      var54 = this.height;
      var24 = var48 * var51 * var54 / 256 / 64 << 1;

      for(var11 = 0; var11 < var24; ++var11) {
         var5.setProgress(var11 * 100 / (var24 - 1) / 4);
         float var55 = var5.random.nextFloat() * (float)var48;
         float var59 = var5.random.nextFloat() * (float)var54;
         float var56 = var5.random.nextFloat() * (float)var51;
         var26 = (int)((var5.random.nextFloat() + var5.random.nextFloat()) * 200.0F);
         float var61 = var5.random.nextFloat() * 3.1415927F * 2.0F;
         float var64 = 0.0F;
         float var29 = var5.random.nextFloat() * 3.1415927F * 2.0F;
         float var30 = 0.0F;
         float var31 = var5.random.nextFloat() * var5.random.nextFloat();

         for(int var32 = 0; var32 < var26; ++var32) {
            var55 += MathHelper.sin(var61) * MathHelper.cos(var29);
            var56 += MathHelper.cos(var61) * MathHelper.cos(var29);
            var59 += MathHelper.sin(var29);
            var61 += var64 * 0.2F;
            var64 = (var64 *= 0.9F) + (var5.random.nextFloat() - var5.random.nextFloat());
            var29 = (var29 + var30 * 0.5F) * 0.5F;
            var30 = (var30 *= 0.75F) + (var5.random.nextFloat() - var5.random.nextFloat());
            if(var5.random.nextFloat() >= 0.25F) {
               float var43 = var55 + (var5.random.nextFloat() * 4.0F - 2.0F) * 0.2F;
               float var50 = var59 + (var5.random.nextFloat() * 4.0F - 2.0F) * 0.2F;
               float var33 = var56 + (var5.random.nextFloat() * 4.0F - 2.0F) * 0.2F;
               float var34 = ((float)var5.height - var50) / (float)var5.height;
               var34 = 1.2F + (var34 * 3.5F + 1.0F) * var31;
               var34 = MathHelper.sin((float)var32 * 3.1415927F / (float)var26) * var34;

               for(int var35 = (int)(var43 - var34); var35 <= (int)(var43 + var34); ++var35) {
                  for(int var36 = (int)(var50 - var34); var36 <= (int)(var50 + var34); ++var36) {
                     for(int var37 = (int)(var33 - var34); var37 <= (int)(var33 + var34); ++var37) {
                        float var38 = (float)var35 - var43;
                        float var39 = (float)var36 - var50;
                        float var40 = (float)var37 - var33;
                        if(var38 * var38 + var39 * var39 * 2.0F + var40 * var40 < var34 * var34 && var35 >= 1 && var36 >= 1 && var37 >= 1 && var35 < var5.width - 1 && var36 < var5.height - 1 && var37 < var5.depth - 1) {
                           int var66 = (var36 * var5.depth + var37) * var5.width + var35;
                           if(var5.blocks[var66] == Block.STONE.id) {
                              var5.blocks[var66] = 0;
                           }
                        }
                     }
                  }
               }
            }
         }
      }

      this.populateOre(Block.COAL_ORE.id, 90, 1, 4);
      this.populateOre(Block.IRON_ORE.id, 70, 2, 4);
      this.populateOre(Block.GOLD_ORE.id, 50, 3, 4);
      this.progressBar.setText("Watering..");
      var5 = this;
      var51 = Block.STATIONARY_WATER.id;
      this.setProgress(0);

      for(var54 = 0; var54 < var5.width; ++var54) {
         var5.flood(var54, var5.height / 2 - 1, 0, 0, var51);
         var5.flood(var54, var5.height / 2 - 1, var5.depth - 1, 0, var51);
      }

      for(var54 = 0; var54 < var5.depth; ++var54) {
         var5.flood(0, var5.height / 2 - 1, var54, 0, var51);
         var5.flood(var5.width - 1, var5.height / 2 - 1, var54, 0, var51);
      }

      var54 = var5.width * var5.depth / 8000;

      for(var24 = 0; var24 < var54; ++var24) {
         if(var24 % 100 == 0) {
            var5.setProgress(var24 * 100 / (var54 - 1));
         }

         var11 = var5.random.nextInt(var5.width);
         var12 = var5.waterLevel - 1 - var5.random.nextInt(2);
         var23 = var5.random.nextInt(var5.depth);
         if(var5.blocks[(var12 * var5.depth + var23) * var5.width + var11] == 0) {
            var5.flood(var11, var12, var23, 0, var51);
         }
      }

      var5.setProgress(100);
      this.progressBar.setText("Melting..");
      var5 = this;
      var46 = this.width * this.depth * this.height / 20000;

      for(var48 = 0; var48 < var46; ++var48) {
         if(var48 % 100 == 0) {
            var5.setProgress(var48 * 100 / (var46 - 1));
         }

         var51 = var5.random.nextInt(var5.width);
         var54 = (int)(var5.random.nextFloat() * var5.random.nextFloat() * (float)(var5.waterLevel - 3));
         var24 = var5.random.nextInt(var5.depth);
         if(var5.blocks[(var54 * var5.depth + var24) * var5.width + var51] == 0) {
            var5.flood(var51, var54, var24, 0, Block.STATIONARY_LAVA.id);
         }
      }

      var5.setProgress(100);
      this.progressBar.setText("Growing..");
      var42 = var9;
      var5 = this;
      var46 = this.width;
      var48 = this.depth;
      var51 = this.height;
      var53 = new OctaveNoise(this.random, 8);
      OctaveNoise var58 = new OctaveNoise(this.random, 8);

      int var63;
      for(var11 = 0; var11 < var46; ++var11) {
         var5.setProgress(var11 * 100 / (var5.width - 1));

         for(var12 = 0; var12 < var48; ++var12) {
            boolean var60 = var53.compute((double)var11, (double)var12) > 8.0D;
            boolean var57 = var58.compute((double)var11, (double)var12) > 12.0D;
            var27 = ((var26 = var42[var11 + var12 * var46]) * var5.depth + var12) * var5.width + var11;
            if(((var28 = var5.blocks[((var26 + 1) * var5.depth + var12) * var5.width + var11] & 255) == Block.WATER.id || var28 == Block.STATIONARY_WATER.id) && var26 <= var51 / 2 - 1 && var57) {
               var5.blocks[var27] = (byte)Block.GRAVEL.id;
            }

View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.