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;
}
}