WaterPopulator class

Пакет: com.hypixel.hytale.server.worldgen.chunk.populator

Файл: com/hypixel/hytale/server/worldgen/chunk/populator/WaterPopulator.java

Поля (14)

МодификаторыТипИмя
int var12
int var13
int var14
int var15
Biome var4
int var5
int var6
byte var6
WaterContainer var7
byte var7
int var8
var8
var8
BlockType var9

Методы (10)

МодификаторыВозвратСигнатура
for for(int var2 = 0; var2 < 32; var2++)
for for(int var3 = 0; var3 < 32; var3++)
for for(int var16 = var12; var16 <= var13; var16++)
if if(var12 <= var13)
if if(var3 != 0 && var7 < 4)
static void populatevoid populate(int var0, @Nonnull ChunkGeneratorExecution var1)
static void submergeBlockvoid submergeBlock(int var0, int var1, int var2, int var3, int var4, @Nonnull ChunkGeneratorExecution var5)
abstract submergeBlock submergeBlock(var1, var16, var2, var14, var15, var3)
static void submergeColumnvoid submergeColumn(int var0, int var1, int var2, @Nonnull ChunkGeneratorExecution var3)
abstract submergeColumn submergeColumn(var0, var2, var3, var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.chunk.populator;

class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.asset.type.fluid.FluidTicker;
class="kw">import com.hypixel.hytale.server.worldgen.biome.Biome;
class="kw">import com.hypixel.hytale.server.worldgen.chunk.ChunkGeneratorExecution;
class="kw">import com.hypixel.hytale.server.worldgen.container.WaterContainer;
class="kw">import javax.annotation.Nonnull;

class="kw">public class WaterPopulator {
   class="kw">public WaterPopulator() {
   }

   class="kw">public class="kw">static void populate(int var0, @Nonnull ChunkGeneratorExecution var1) {
      for (int var2 = 0; var2 < 32; var2++) {
         for (int var3 = 0; var3 < 32; var3++) {
            submergeColumn(var0, var2, var3, var1);
         }
      }
   }

   class="kw">private class="kw">static void submergeColumn(int var0, int var1, int var2, @Nonnull ChunkGeneratorExecution var3) {
      Biome var4 = var3.zoneBiomeResult(var1, var2).getBiome();
      int var5 = var3.globalX(var1);
      int var6 = var3.globalZ(var2);
      WaterContainer var7 = var4.getWaterContainer();

      for (WaterContainer.Entry var11 : var7.getEntries()) {
         if (var11.shouldPopulate(var0, var5, var6)) {
            int var12 = var11.getMin(var0, var5, var6);
            int var13 = var11.getMax(var0, var5, var6);
            if (var12 <= var13) {
               int var14 = var11.getBlock();
               int var15 = var11.getFluid();

               for (int var16 = var12; var16 <= var13; var16++) {
                  submergeBlock(var1, var16, var2, var14, var15, var3);
               }
            }
         }
      }
   }

   class="kw">private class="kw">static void submergeBlock(int var0, int var1, int var2, int var3, int var4, @Nonnull ChunkGeneratorExecution var5) {
      byte var6 = var5.getPriorityChunk().getRaw(var0, var1, var2);
      byte var7 = (byte)(var6 & 31);
      if (var7 < 4 || (var6 & 32) != 0) {
         int var8;
         if (var3 != 0 && var7 < 4) {
            var5.setBlock(var0, var1, var2, (byte)-1, var3);
            var8 = var3;
         } else {
            var8 = var5.getBlock(var0, var1, var2);
         }

         BlockType var9 = BlockType.getAssetMap().getAsset(var8);
         if (var9 != null && !FluidTicker.isSolid(var9)) {
            var5.setFluid(var0, var1, var2, (byte)-1, var4);
         }
      }
   }
}