GraphContentAsset class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.graph
Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/graph/GraphContentAsset.java
implements: Cleanable, JsonAssetWithMap<String, DefaultAssetMap<String, GraphContentAsset>>
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
int[] |
var2 |
|
GraphContentAsset |
var4 |
|
int |
var5 |
Методы (9)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(DensityContentAsset var5 : this.densityContentAssets) |
|
|
for for(MaterialContentAsset var5 : this.materialContentAssets) |
|
|
for for(PropDistributionContentAsset var5 : this.propDistributionContentAssets) |
|
|
for for(PositionsContentAsset var5 : this.positionsContentAssets) |
|
|
for for(int var3 = 0; var3 < var2.length; var3++) |
|
|
for for(DensityContentAsset var4 : this.densityContentAssets) |
|
|
for for(MaterialContentAsset var14 : this.materialContentAssets) |
|
|
for for(PropDistributionContentAsset var15 : this.propDistributionContentAssets) |
|
|
for for(PositionsContentAsset var16 : this.positionsContentAssets) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assets.graph;
class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.LoggerUtil;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.Cleanable;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.GraphSpace;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import java.util.Map;
class="kw">import java.util.concurrent.ConcurrentHashMap;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class GraphContentAsset class="kw">implements Cleanable, JsonAssetWithMap<String, DefaultAssetMap<String, GraphContentAsset>> {
@Nonnull
class="kw">public class="kw">static class="kw">final GraphContentAsset INSTANCE = new GraphContentAsset();
@Nonnull
class="kw">private class="kw">static class="kw">final Map<String, GraphContentAsset> exportedNodes = new ConcurrentHashMap<>();
@Nonnull
class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, GraphContentAsset> CODEC = AssetBuilderCodec.builder(
GraphContentAsset.class,
GraphContentAsset::new,
Codec.STRING,
(var0, var1) -> var0.id = var1,
var0 -> var0.id,
(var0, var1) -> var0.data = var1,
var0 -> var0.data
)
.append(new KeyedCodec<>("ExportName", Codec.STRING, true), (var0, var1) -> var0.exportName = var1, var0 -> var0.exportName)
.add()
.append(new KeyedCodec<>("ImportName", Codec.STRING, true), (var0, var1) -> var0.importName = var1, var0 -> var0.importName)
.add()
.append(
new KeyedCodec<>("DensityContent", new ArrayCodec<>(DensityContentAsset.CODEC, DensityContentAsset[]::new), true),
(var0, var1) -> var0.densityContentAssets = var1,
var0 -> var0.densityContentAssets
)
.add()
.append(
new KeyedCodec<>("MaterialContent", new ArrayCodec<>(MaterialContentAsset.CODEC, MaterialContentAsset[]::new), true),
(var0, var1) -> var0.materialContentAssets = var1,
var0 -> var0.materialContentAssets
)
.add()
.append(
new KeyedCodec<>("PropDistributionContent", new ArrayCodec<>(PropDistributionContentAsset.CODEC, PropDistributionContentAsset[]::new), true),
(var0, var1) -> var0.propDistributionContentAssets = var1,
var0 -> var0.propDistributionContentAssets
)
.add()
.append(
new KeyedCodec<>("PositionsContent", new ArrayCodec<>(PositionsContentAsset.CODEC, PositionsContentAsset[]::new), true),
(var0, var1) -> var0.positionsContentAssets = var1,
var0 -> var0.positionsContentAssets
)
.add()
.append(new KeyedCodec<>("ContentTags", new ArrayCodec<>(Codec.STRING, String[]::new), true), (var0, var1) -> var0.tags = var1, var0 -> var0.tags)
.add()
.afterDecode(var0 -> {
if (!var0.exportName.isEmpty()) {
if (exportedNodes.containsKey(var0.exportName)) {
LoggerUtil.getLogger().warning("Duplicate export name for asset: " + var0.exportName);
}
exportedNodes.put(var0.exportName, var0);
LoggerUtil.getLogger().fine("Registered imported GraphContent asset with name '" + var0.exportName + "' with asset id '" + var0.id);
}
})
.build();
class="kw">private String id;
class="kw">private AssetExtraInfo.Data data;
@Nonnull
class="kw">private String exportName = "";
@Nonnull
class="kw">private String importName = "";
@Nonnull
class="kw">private DensityContentAsset[] densityContentAssets = new DensityContentAsset[0];
@Nonnull
class="kw">private MaterialContentAsset[] materialContentAssets = new MaterialContentAsset[0];
@Nonnull
class="kw">private PropDistributionContentAsset[] propDistributionContentAssets = new PropDistributionContentAsset[0];
@Nonnull
class="kw">private PositionsContentAsset[] positionsContentAssets = new PositionsContentAsset[0];
@Nonnull
class="kw">private String[] tags = new String[]{""};
class="kw">public GraphContentAsset() {
}
@Nullable
class="kw">public DensityContentAsset getDensityContent(@Nonnull String var1) {
for (DensityContentAsset var5 : this.densityContentAssets) {
if (var5.getContentLayerName().equals(var1)) {
class="kw">return var5;
}
}
class="kw">return null;
}
@Nullable
class="kw">public MaterialContentAsset getMaterialContent(@Nonnull String var1) {
for (MaterialContentAsset var5 : this.materialContentAssets) {
if (var5.getContentLayerName().equals(var1)) {
class="kw">return var5;
}
}
class="kw">return null;
}
@Nullable
class="kw">public PropDistributionContentAsset getPropDistributionContent(@Nonnull String var1) {
for (PropDistributionContentAsset var5 : this.propDistributionContentAssets) {
if (var5.getContentLayerName().equals(var1)) {
class="kw">return var5;
}
}
class="kw">return null;
}
@Nullable
class="kw">public PositionsContentAsset getPositionsContent(@Nonnull String var1) {
for (PositionsContentAsset var5 : this.positionsContentAssets) {
if (var5.getContentLayerName().equals(var1)) {
class="kw">return var5;
}
}
class="kw">return null;
}
@Nonnull
class="kw">public GraphSpace.Content build(@Nonnull GraphGeneratorAsset.Argument var1) {
if (!this.importName.isEmpty()) {
GraphContentAsset var4 = exportedNodes.get(this.importName);
class="kw">return var4 == null ? GraphSpace.Content.DEFAULT : var4.build(var1);
}
int[] var2 = new int[this.tags.length];
for (int var3 = 0; var3 < var2.length; var3++) {
var2[var3] = GraphSpace.Content.toIntId(this.tags[var3]);
}
int var5 = var1.contentRegistry.getIdOrRegister(this);
class="kw">return new GraphSpace.Content(var2, var5);
}
@Nonnull
class="kw">public String getId() {
class="kw">return "";
}
@Override
class="kw">public void cleanUp() {
for (DensityContentAsset var4 : this.densityContentAssets) {
var4.cleanUp();
}
for (MaterialContentAsset var14 : this.materialContentAssets) {
var14.cleanUp();
}
for (PropDistributionContentAsset var15 : this.propDistributionContentAssets) {
var15.cleanUp();
}
for (PositionsContentAsset var16 : this.positionsContentAssets) {
var16.cleanUp();
}
}
}