ZonePatternProvider class

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

Файл: com/hypixel/hytale/server/worldgen/zone/ZonePatternProvider.java

Поля (6)

МодификаторыТипИмя
final IPointGenerator pointGenerator
int var1
var1
FastRandom var2
ArrayList var3
MaskProvider var4

Методы (7)

МодификаторыВозвратСигнатура
public ZonePatternGenerator createGeneratorZonePatternGenerator createGenerator(int var1)
for for(Zone.UniqueCandidate var9 : var3)
for for(Zone var5 : var0)
public MaskProvider getMaskProviderMaskProvider getMaskProvider()
public int getMaxExtentint getMaxExtent()
static int getMaxExtentint getMaxExtent(@Nonnull Zone[] var0)
public Zone[] getZonesZone[] getZones()

Исходный код

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

class="kw">import com.hypixel.hytale.math.util.FastRandom;
class="kw">import com.hypixel.hytale.procedurallib.logic.point.IPointGenerator;
class="kw">import com.hypixel.hytale.server.worldgen.biome.Biome;
class="kw">import com.hypixel.hytale.server.worldgen.chunk.MaskProvider;
class="kw">import java.util.ArrayList;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ZonePatternProvider {
   class="kw">protected class="kw">final IPointGenerator pointGenerator;
   class="kw">protected class="kw">final Zone[] zones;
   class="kw">protected class="kw">final Zone.UniqueCandidate[] uniqueZones;
   class="kw">protected class="kw">final MaskProvider maskProvider;
   class="kw">protected class="kw">final ZoneColorMapping zoneColorMapping;
   class="kw">protected class="kw">final int maxExtent;

   class="kw">public ZonePatternProvider(IPointGenerator var1, Zone[] var2, Zone.UniqueCandidate[] var3, MaskProvider var4, ZoneColorMapping var5) {
      this.pointGenerator = var1;
      this.zones = var2;
      this.uniqueZones = var3;
      this.maskProvider = var4;
      this.zoneColorMapping = var5;
      this.maxExtent = getMaxExtent(var2);

      for (Zone.UniqueCandidate var9 : var3) {
         var5.add(var9.zone().color(), var9.zone().zone());
      }
   }

   class="kw">public int getMaxExtent() {
      class="kw">return this.maxExtent;
   }

   class="kw">public Zone[] getZones() {
      class="kw">return this.zones;
   }

   class="kw">public MaskProvider getMaskProvider() {
      class="kw">return this.maskProvider;
   }

   class="kw">public ZonePatternGenerator createGenerator(int var1) {
      FastRandom var2 = new FastRandom(var1);
      ArrayList var3 = new ArrayList<>(this.uniqueZones.length);
      MaskProvider var4 = this.maskProvider.generateUniqueZones(var1, this.uniqueZones, var2, var3);
      class="kw">return new ZonePatternGenerator(this.pointGenerator, this.zones, var3.toArray(Zone.Unique[]::new), var4, this.zoneColorMapping);
   }

   @Override
   class="kw">public String toString() {
      class="kw">return "ZonePatternProvider{pointGenerator="
         + this.pointGenerator
         + ", zones="
         + Arrays.toString(this.zones)
         + ", uniqueZones="
         + Arrays.toString(this.uniqueZones)
         + ", maskProvider="
         + this.maskProvider
         + ", zoneColorMapping="
         + this.zoneColorMapping
         + "}";
   }

   class="kw">private class="kw">static int getMaxExtent(@Nonnull Zone[] var0) {
      int var1 = 0;

      for (Zone var5 : var0) {
         for (Biome var9 : var5.biomePatternGenerator().getBiomes()) {
            if (var9.getPrefabContainer() != null) {
               var1 = Math.max(var1, var9.getPrefabContainer().getMaxSize());
            }
         }
      }

      class="kw">return var1;
   }
}