ZoneColorMappingJsonLoader class
Пакет: com.hypixel.hytale.server.worldgen.loader.zone
Файл: com/hypixel/hytale/server/worldgen/loader/zone/ZoneColorMappingJsonLoader.java
extends: JsonLoader<SeedStringResource, ZoneColorMapping>
Поля (11)
| Модификаторы | Тип | Имя |
|---|---|---|
|
ZoneColorMapping |
var1 |
|
Zone |
var10 |
|
JsonArray |
var11 |
|
Zone[] |
var12 |
|
JsonObject |
var2 |
|
JsonObject |
var2 |
|
int |
var5 |
|
String |
var6 |
|
Zone |
var7 |
|
String |
var9 |
final |
Map<String, Zone> |
zoneLookup |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
void |
collectZonesvoid collectZones(Set<String> var0, @Nullable JsonElement var1) |
|
|
for for(int var8 = 0; var8 < var12.length; var8++) |
|
|
if if(var10 == null) |
|
|
if if(var7 == null) |
abstract |
|
super super(var1, var2, var3) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.loader.zone;
class="kw">import com.google.gson.JsonArray;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.google.gson.JsonObject;
class="kw">import com.hypixel.hytale.procedurallib.json.JsonLoader;
class="kw">import com.hypixel.hytale.procedurallib.json.SeedString;
class="kw">import com.hypixel.hytale.server.worldgen.SeedStringResource;
class="kw">import com.hypixel.hytale.server.worldgen.loader.util.ColorUtil;
class="kw">import com.hypixel.hytale.server.worldgen.zone.Zone;
class="kw">import com.hypixel.hytale.server.worldgen.zone.ZoneColorMapping;
class="kw">import java.nio.file.Path;
class="kw">import java.util.Map;
class="kw">import java.util.Objects;
class="kw">import java.util.Set;
class="kw">import java.util.Map.Entry;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class ZoneColorMappingJsonLoader class="kw">extends JsonLoader<SeedStringResource, ZoneColorMapping> {
class="kw">protected class="kw">final Map<String, Zone> zoneLookup;
class="kw">public ZoneColorMappingJsonLoader(SeedString<SeedStringResource> var1, Path var2, JsonElement var3, Map<String, Zone> var4) {
super(var1, var2, var3);
this.zoneLookup = var4;
}
@Nonnull
class="kw">public ZoneColorMapping load() {
ZoneColorMapping var1 = new ZoneColorMapping();
JsonObject var2 = this.json.getAsJsonObject();
for (Entry var4 : var2.entrySet()) {
int var5 = ColorUtil.hexString(var4.getKey());
if (var4.getValue().isJsonArray()) {
JsonArray var11 = var4.getValue().getAsJsonArray();
Zone[] var12 = new Zone[var11.size()];
for (int var8 = 0; var8 < var12.length; var8++) {
String var9 = var11.get(var8).getAsString();
Zone var10 = this.zoneLookup.get(var9);
if (var10 == null) {
throw new IllegalArgumentException(String.format("Zone with name %s was not found for color %s!", var9, var4.getKey()));
}
Objects.requireNonNull(var10);
var12[var8] = var10;
}
var1.add(var5, var12);
} else {
String var6 = var4.getValue().getAsString();
Zone var7 = this.zoneLookup.get(var6);
if (var7 == null) {
throw new IllegalArgumentException(String.format("Zone with name %s was not found for color %s!", var6, var4.getKey()));
}
var1.add(var5, var7);
}
}
class="kw">return var1;
}
class="kw">public class="kw">static void collectZones(Set<String> var0, @Nullable JsonElement var1) {
if (var1 != null && var1.isJsonObject()) {
JsonObject var2 = var1.getAsJsonObject();
for (Entry var4 : var2.entrySet()) {
if (var4.getValue().isJsonArray()) {
for (JsonElement var6 : var4.getValue().getAsJsonArray()) {
var0.add(var6.getAsString());
}
} else {
var0.add(var4.getValue().getAsString());
}
}
}
}
}